Document types and models
Updated
"Model" means document type, not LLM#
In DocXtract, model is the name of a prompt template — the document type you are extracting. It is not an AI model name.
| Term | Meaning | Example |
|---|---|---|
| Model / document type | Prompt template — what you choose | invoice, passport |
| Tier | Your pricing tier, which determines extraction accuracy | standard, pro |
You choose the document type. Everything about how the extraction is performed is handled by the platform and is not configurable through the API.
Listing what your key can use#
curl https://api.docxtract.io/v3.1/models \
-H "Authorization: Bearer sk_your_api_key"
{ "success": true, "data": { "models": [ ... ] } }
models costs no credits. It is safe to call on every page load, in a
health check, or to populate a UI dropdown. Use it instead of hardcoding type names.An empty models array is not an error — it means the key has no document types assigned yet. Contact support or check the portal.
Supported categories#
| Category | Types |
|---|---|
| Invoices & financial | invoice, invoice_detailed, bank_statement, crif |
| Identity & KYC | aadhaar, pan_card, passport |
| HR & employment | salary_slip, salary_annexure, resume, relieving_letter, resignation_letter, employee_record |
| Education | marksheet, degree |
| Medical & compliance | medical_declaration_form, statutory_form_11nm, statutory_form_2 |
| Custom | Any type built for you |
Your key will not have all of these. models is authoritative.
Output schema#
Each document type returns its own field set inside data. The envelope never changes; the contents do.
{ "success": true, "data": { "vendor": "...", "line_items": [ ... ] }, "pages": 1 }
data as an open map. Prompt templates get revised to improve accuracy,
which can add or rename fields. Read the fields you need defensively; do not assume a fixed
schema or a fixed key order.Row-shaped output (invoice line items, bank statement rows) comes back as a list of objects, which maps directly onto a table or DataFrame — see the Python SDK to_dataframe() helper.
Custom document types#
Any document type can be added without code changes — a prompt template is written and assigned to your key. If none of the standard types fits your document, that is the route; contact support@docxtract.io.
Access control#
A key's permitted types are configured per key. Requesting a type your key lacks returns 400 unknown_model. This is why models exists: it tells you exactly what will work before you spend a credit finding out.
Something wrong or missing on this page? Tell us.