curl --request POST \
--url https://ndi-api.nace.ai/v1/extract/schema-validation \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"schema": {},
"schema_id": "<string>",
"schema_version": 2
}
'{
"valid": true,
"errors": [
{
"message": "<string>",
"path": "<string>"
}
],
"normalized_schema": {}
}{
"error": {
"code": "invalid_request",
"detail": null,
"message": "Request body has extra fields that this operation does not accept.",
"request_id": "req-01j9k2n3p4q5r6s7t8v9",
"retryable": false
}
}{
"error": {
"code": "invalid_request",
"detail": null,
"message": "Request body has extra fields that this operation does not accept.",
"request_id": "req-01j9k2n3p4q5r6s7t8v9",
"retryable": false
}
}validate_extract_schema
Validate an extraction schema without creating a job or consuming credits.
Cost class: fast (pure validation, no I/O, no model inference).
Use this before submitting an extract job to catch schema errors up
front. On success valid=True and normalized_schema carries the
compiled form the extraction pipeline will use. On failure valid=False
and errors lists every violation — the whole list, not just the first.
curl --request POST \
--url https://ndi-api.nace.ai/v1/extract/schema-validation \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"schema": {},
"schema_id": "<string>",
"schema_version": 2
}
'{
"valid": true,
"errors": [
{
"message": "<string>",
"path": "<string>"
}
],
"normalized_schema": {}
}{
"error": {
"code": "invalid_request",
"detail": null,
"message": "Request body has extra fields that this operation does not accept.",
"request_id": "req-01j9k2n3p4q5r6s7t8v9",
"retryable": false
}
}{
"error": {
"code": "invalid_request",
"detail": null,
"message": "Request body has extra fields that this operation does not accept.",
"request_id": "req-01j9k2n3p4q5r6s7t8v9",
"retryable": false
}
}Authorizations
Body
Body for POST /v1/extract/schema-validation.
Same mutual-exclusion rule as :class:ExtractRequest: exactly one of
schema_id or schema must be present. Optional schema_version
pins a registry version when resolving schema_id.
Inline JSON Schema to validate. Mutually exclusive with schema_id.
Show child attributes
Show child attributes
Catalog schema family id (sch_...). Mutually exclusive with an inline schema.
Pin a published catalog version. Omit with schema_id to use the latest version.
x >= 1Response
Successful Response
Result of POST /v1/extract/schema-validation.
On a valid schema, valid=True and normalized_schema carries the
compiled form. On an invalid schema, valid=False and errors
lists every violation found — the whole list, not just the first.
True when the schema can be used as an extract schema.
Every validation violation found. Empty when valid is true.
Show child attributes
Show child attributes
Compiled schema when valid is true. Null when the input was rejected.
Show child attributes
Show child attributes