Apply schema extraction to a previously saved extraction. The mode is inferred from the input:
Single mode — Provide extraction_id + schema_config (or
schema_config_id) to apply one schema to the entire document.
Split mode — Provide split_id + split_schema_config to apply
different schemas to different page groups from a prior /split call.
Set async: true to return 202 with a job_id for polling.
extraction_id (single) or split_id (split).extraction_id to apply one schema to the entire documentsplit_id to apply per-topic schemas to page groups from a prior /split/extract with storage enabled, which is the default).async: true to return immediately with a job ID for polling. See Polling for Results for details.
| Field | Type | Required | Description |
|---|---|---|---|
async | boolean | No | If true, returns immediately with a job_id for polling. Default: false. |
| Field | Type | Description |
|---|---|---|
job_id | string | Job ID for polling |
status | string | "pending" |
message | string | Human-readable description |
| Field | Type | Required | Description |
|---|---|---|---|
extraction_id | uuid | Yes | ID of the saved extraction |
schema_config | object | XOR | Inline schema: { schema: {...}, schema_prompt: "...", effort: false } |
schema_config_id | uuid | XOR | Reference to a saved schema configuration |
async | boolean | No | Default: false |
| Field | Type | Description |
|---|---|---|
schema_id | uuid | Unique identifier for this schema version |
version | integer | Schema version number |
schema_output | object | { values: {...}, citations: {...} } |
| Status | Error | Description |
|---|---|---|
| 400 | Invalid request | Must provide either extraction_id or split_id (not both) |
| 400 | Invalid schema | Schema must follow JSON Schema / OpenAPI 3.0 format |
| 401 | Unauthorized | Invalid or missing API key |
| 404 | Not found | Extraction or split not found |
| 500 | Processing error | Schema extraction failed |
Use effort mode for complex documents
effort: true for documents with complex layouts, tables, or when initial extraction quality is low.Provide schema_prompt for context
Use async for large schemas
async: true to avoid timeouts. See Polling for Results.For multi-section documents, use split mode
/split to get page groups, then use this endpoint with split_id + split_schema_config.API key for authentication
Request body for schema extraction. Mode is inferred from the input:
extraction_id + schema_config for single-mode extraction.split_id + split_schema_config for split-mode extraction.ID of saved extraction (for single mode).
ID of saved split (for split mode).
Inline schema configuration for single mode.
Reference to a saved schema configuration (for single mode).
Per-topic schema configurations for split mode. Keys must match topic names from the split.
If true, returns 202 with a job_id for polling via GET /job/{jobId}.
Schema extraction result (when async=false or omitted). Shape depends on the mode used (single vs split).