Zum Hauptinhalt springen

Create Extraction Job

POST 

/extractions/jobs

Start a structured data extraction job.

Creates a background job to extract structured data from a document based on a JSON schema. Returns a job ID that can be used to poll for the result.

Indexing requirement: The document must be indexed before extraction can run. If the document is not yet indexed when this request is received, the job will wait until indexing completes before starting. Upload documents in advance to minimize latency.

Schema handling: Each request stores its schema as a standalone record scoped to this run. These API-created schemas are kept separate from the project's auto-extraction schema library — they do not appear in the project's auto-extraction configuration UI or in project search filters.

Confidence scores: Set return_confidence_score to true to receive a per-field confidence score for each extracted value. The result then carries the per-field metadata under metadata.extraction. Measured scores range from 0 to 0.9999; an exact 1.0 marks values without a measured score (empty or not-found fields, and deterministically computed values) — not maximum certainty.

Bounding boxes: Set return_bbox to true to receive the location of each extracted value. Page-based documents (PDF, Word, PowerPoint, text) carry the 1-based page and a normalized bbox_2d; spreadsheets carry sheet, column_name, column_letter, row and a short reason; XML documents (e-invoices) and hybrid PDF e-invoices (ZUGFeRD / Factur-X, read from their embedded XML) carry a short reason and quote, the verbatim source text the value was read from, and a hybrid value the XML cannot pin to one element also carries the page and bbox_2d where it appears on the rendered PDF; images and emails carry model-reported location fields on a best-effort basis. This is independent of return_confidence_score, so you can request either, both or neither. Locating values requires an extra vision pass over every page, so these jobs take noticeably longer — and on very large documents the extra work can exceed the job time limit and fail the job.

The extraction happens in the background. Use the GET /extractions/jobs/{job_id} endpoint to check status and retrieve results.

Request​

Responses​

Extraction job created successfully