Docs/Concepts/Extract
Reference

Extract

Extract pulls structured data out of a classified document — fields, tables, figures, and checkboxes — against a schema, or everything it can find when there is no schema.

What Extract answers

Extract reads the values out of a document: field values, tables, figures, and checkbox or radio selections. It runs on each classified document and produces the structured record that is delivered to your destination and returned from the API.

The Extract stage. A schema binds at the top; the four extraction sub-stages below it each handle one kind of content. With no schema bound, extraction returns free-form JSON.

Schema-bound and generic modes

How Extract runs depends on whether a schema is bound.

  • Schema-bound — Classify resolved a schema, so Extract knows exactly which fields to look for. Each field is routed to the sub-stage that handles its type, and the enabled sub-stages run together. This is the mode that gives validated, predictable output.
  • Generic — no schema is bound, so Extract returns free-form JSON: every key-value pair, table, and figure it can find, with no schema to validate against. This is the fallback for an unmatched class, and it never fails the job — a document the model cannot read cleanly comes back with empty results, not an error.

The extraction sub-stages

In schema-bound mode, four sub-stages divide the work by content type. A sub-stage runs only when it is enabled and the schema declares fields of its kind, so nothing is spent on content the schema never asks for.

Sub-stageHandles
Schema extractionScalar fields — the named values a schema defines.
Table extractionTables and repeating rows, column by column.
Graph / chart extractionFigures — charts, logos, diagrams, signatures, stamps.
Checkbox / radio extractionTick, cross, and filled-mark selections.

Every extracted value carries a confidence and, when Parse emitted them, coordinates on the page — normalized and snapped to the document geometry so a reviewer sees the value highlighted where it was read.

Confidence is advisory

Extract does not pause a document. Instead it emits signals — a low-confidence count, cross-field validation errors, and a needs-review flag — that downstream review keys off. Whether a low-confidence field becomes an exception is decided by the Reviews configuration, not by Extract halting. What that routing looks like is the next section.

Review exceptions

Extract can hand a doubtful result to a human instead of shipping it. The stage carries a single Send exceptions to Reviews switch. With it off, a low-confidence or rule-failing result is returned as-is and the signals travel with it. With it on, that same result becomes a review task rather than an error, and the pipeline's auto-provisioned "<Pipeline> · Review" work queue receives it.

The Human review section of the Extract inspector. The switch turns exceptions into review tasks; anything under the confidence thresholds, or failing a rule, is what qualifies.

The switch decides whether Extract routes to review; it does not decide what counts as an exception. Which fields and thresholds raise one, and who may work the resulting queue, are governed by the Reviews configuration and its verification rules — Extract only emits the signal. The review loop itself, from a raised exception to a cleared document, is covered in Exceptions & human review and worked end to end in Correct a document in review.

Output

Both modes return one envelope with the same shape: fields, tables, figures, and selections, each present even when empty, plus an overall confidence and the review signals above. One shape for both modes means one renderer in the app and one contract on the API — see the API overview.

Was this page helpful?
Last updated 28 Aug 2026