extract
Changed onExtract schema-shaped structured data from a document.
Cost class: job (LLM inference + parsing; billed on completion).
Provide an inline schema or a registered schema_id. The effective schema is validated before the job is accepted; use POST /v1/extract/schema-validation to pre-check yours. Exactly one of schema_id or schema must be present. Optional schema_version pins a registry version when schema_id is set.
Citations are enabled by default (citations.enabled=true). Located fields carry :class:~ndi_service.app.platform_api.contracts.Citation entries (location + optional source_text). A field the model could not find is returned as status=not_found, never silently omitted.
Request
- Base URLhttps://ndi-api.nace.ai
- AuthAPI key in header X-API-Key
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
Bounded inline wait. 0 (the default) returns 202 immediately. Above 0 the route returns 200 with a terminal job if the work finished in time, and 202 with the still-running job if it did not. Either way, read status. Waiting does not change how an admitted job is counted and takes no max_concurrent_sync slot (that limits synchronous calls such as the legacy synchronous API and /v1/systemone). For retained jobs, the deployment may shorten the wait and return 202 with the running job; poll GET /v1/jobs/{job_id}. For parse, split, classify, categorize, extract and ground, a zero_retention tenant must pass wait_seconds above 0.
Headers
Use the same key to recover an earlier request. A replay returned as a Job carries Idempotent-Replayed: true and replayed: true without a new charge; Job credits keeps the original cost. Re-serving a settled inline tool answer reports zero credits for that call and also carries Idempotent-Replayed: true; a fresh re-execution after a transient failure carries no header. The key is kept with the job for replay and never cleared, so it must not contain personal data.
Request body
Response
Terminal job or idempotent replay of the original job; read status and replayed.
Changes
- info
added the optional property
to the response with the status - info
added the success response with the status
- info