---
title: "Validate Extract Schema"
method: POST
path: "/api/v1/extract/schema/validate"
tags: ["public-api"]
---

# Validate Extract Schema

`POST /api/v1/extract/schema/validate`

## Request

- Base URL: `https://ndi-api.nace.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://ndi-api.nace.ai/api/v1/extract/schema/validate`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/nace/apis/ndi-service/docs/api/v1/extract/schema/validate/post.ts> (a function with typed inputs; its response is checked against the schema)

Validate an Extract schema without creating a job or consuming credits.

## Request body

- NdiServiceAppSchemasPublicExtractSchemaValidationRequest: Body for ``POST /extract/schema/validate``.
  - `schema` object, required: JSON Schema describing the data to extract. Root must be an object with properties; nesting is bounded; composition keywords ($ref/anyOf/oneOf/allOf/not) are not supported. A field may use one type string or a nullable two-member type such as ["string", "null"]. Closed objects may use additionalProperties: false; true or schema-valued additionalProperties are not supported. Field descriptions directly guide extraction accuracy. Top-level arrays are extracted segment-by-segment across long documents and concatenated.

## Response `200`

Successful Response

- NdiServiceAppSchemasPublicExtractSchemaValidationResponse: Successful Extract schema preflight response.
  - `valid` true

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `402`: Payment Required
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `413`: Request Entity Too Large
- `422`: Unprocessable Entity
- `500`: Internal Server Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/nace/apis/ndi-service.md) - [All operations](https://skmtc.dev/nace/apis/ndi-service/llms.txt) - [OpenAPI document](https://skmtc.dev/nace/apis/ndi-service/revisions/d9d1f8ec2207?raw)
