POST /api/v1/pipeline to register the pipeline without writing any JSON by hand.
How It Works
/api/v1/pipeline.
Endpoint
Schema Rules by File Type
JSON and XML files use a fixed schema because the pipeline stores them as raw documents — no column inference is needed.
Valid AI-inferred types:
boolean, int, bigint, float, double, string, date, timestamp
When the model declines
An AI provider’s safety classifier can decline to look at a file, most often one that looks like personal data. For a CSV or other delimited file the endpoint then still returns200 with every field typed string. With header=true and a first line that reads as column names, the fields keep the header’s names exactly as allStrings=true writes them, except that an empty header cell (empty, plain spaces or a byte-order mark only; an empty or newline-only file included), a cell that only renders blank (such as a Hangul filler), or a name repeated ignoring case and surrounding spaces, is named column_N for its position, so no field name is blank or duplicated. A cell holding only other characters that are not letters (a non-breaking or zero-width space, for example) makes line 1 read as data: every column is then numbered and csvAttributes.header is false. When header is false (the default when the parameter is omitted) or line 1 looks like data, the columns are named column_1, column_2, … and the config sets csvAttributes.header to false. The response carries a top-level "aiDeclined": true, and the pipeline wizard shows a one-line note; set the types by hand. aiDeclined is a response-only flag: it is never saved with a pipeline. The provider’s own text is not included.
Only response-side declines are recognised. Azure OpenAI’s prompt-side content filter answers with HTTP 400 (
code: content_filter) and is still returned as an error. Nothing else counts as a decline: a missing or wrong provider key, a timeout, a rate limit or any other provider error is still returned as an error, so a misconfiguration is not hidden.
Other AI features (search answers, CodeGen, tap generation, fix suggestions and the rest) have no local fallback: a decline there, including a content_filter finish that used to return the cut-off text, is reported as an error.
JSON Schema and XSD generation (POST /api/v1/config/generate-schema) have no local fallback: a decline there is still returned as an error, with the message “The model declined this request (…)”.
Example: CSV File
DATABASE_NAME, SCHEMA_NAME, and TABLE_NAME with real values, then register the pipeline:
Example: JSON File
Configuration
AI schema generation is disabled by default. To enable it: Schema generation uses the codegen AI slot. As of v1.5.6, AI configuration is split into three independent self-describing Vault secrets — see AI Configuration for the full picture.application.yaml (or docker/config/application.yaml for Docker deployments):
The pipeline reads the secret at startup. If
ai.enabled: true and the codegen secret is missing or malformed, startup will fail with a descriptive error. docker/vault-init.sh seeds this automatically from ANTHROPIC_API_KEY or OPENAI_API_KEY in .env.
Supported Providers
Any other value for
provider will cause startup to fail with an unsupported provider error.