Field types & schema
What the detected field schema looks like.
Every conversion returns a schema array. Each field has a stable name, a type, the page
it sits on (0-indexed), and its bounding box.
{
"name": "applicant_legal_name",
"type": "text",
"page": 0,
"rect": [72, 118, 384, 134],
"multiline": false,
"label": "Full legal name"
}
| Property | Type | Description |
|---|---|---|
name | string | Snake_case field name derived from the form's label. Unique per document. |
type | string | text or checkbox (text covers single-line, multi-line, date, and signature lines). |
page | number | Zero-indexed page the field is on. |
rect | number[] | [x0, y0, x1, y1] in PDF points, top-left origin. |
multiline | boolean | True for multi-row write areas. |
label | string | The nearby label/caption used to name the field. |
Field detection
The engine recognizes blanks drawn as typed underscores, drawn vector lines, thin rectangles, and scanned underlines (pixels with no PDF object). It also splits shared lines into columns (e.g. First / Middle / Last become three fields) and keeps boxes off table borders.
Confidence
The conversion returns an average confidence (0–1). Use it to route low-confidence documents to
human review.