Skip to content

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.

TermMeaningExample
Model / document typePrompt template — what you chooseinvoice, passport
TierYour pricing tier, which determines extraction accuracystandard, 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": [ ... ] } }
Tip
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#

CategoryTypes
Invoices & financialinvoice, invoice_detailed, bank_statement, crif
Identity & KYCaadhaar, pan_card, passport
HR & employmentsalary_slip, salary_annexure, resume, relieving_letter, resignation_letter, employee_record
Educationmarksheet, degree
Medical & compliancemedical_declaration_form, statutory_form_11nm, statutory_form_2
CustomAny 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 }
Warning
Treat 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.