For the complete documentation index, see llms.txt. This page is also available as Markdown.

Discovering document types

Read the registry at build time instead of hardcoding type names.

Goal. Fetch the list of document types and accepted file formats programmatically, so your integration does not carry a hardcoded copy that silently goes stale.

New document types are added as configuration rather than as a release. A list you hardcode today will be incomplete at some point, and you will not get an error when it happens — you will get a rejected or badly-routed document.

Before you start

Nothing. The main endpoint here is the one operation on the API that needs no key.

Step 1 — List the document types

Use List supported documents for the complete response schema.

curl -s "https://api-docai-uat.uptiq.ai/listSupportedDocuments"
{
  "status": "success",
  "documents": [
    {
      "type": "BalanceSheet",
      "name": "Balance Sheet",
      "category": "Financial Report",
      "description": "Statement of assets, liabilities and equity at a point in time"
    }
  ],
  "taxForms": {
    "Business": [ ],
    "BusinessTaxForms": [ ],
    "IndividualTaxForms": [ ]
  }
}
Field
Use

type

The value you send as documentType. This is the one that matters

name

Human-readable label, for your own UI

category

Grouping — useful for building a picker or routing by family

description

What the type covers, for disambiguation

Step 2 — Build a lookup

Or as a validation set:

Refresh it as part of your build, and fail the build when a type you depend on disappears. That turns a silent runtime misroute into a visible build failure.

Step 3 — Check accepted file formats

Formats vary by document type — a bank statement accepts spreadsheets, an ID document does not. This endpoint does require a key, despite sitting in the same group as the public one.

Use Get supported file types for the complete response schema.

Validate before you spend a call — and before you spend the credit:

A caveat on counts

Why bother

Hardcoding
Reading the registry

Goes stale silently when types are added

Always current

A typo becomes a runtime misroute

Caught at build time

Format rules duplicated in your code

Authoritative, per type

New capability needs a code change

Picked up automatically

Last updated