> For the complete documentation index, see [llms.txt](https://docs.uptiq.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.uptiq.ai/document-ai/guides-1/document-classification.md).

# Document Classification

Automatically identify what a document is before it is extracted. Document Classification detects a document's type and category from its content using an LLM classifier. It can run on its own to sort an unlabeled inbox or run before extraction to route each document to the correct reviewer.

Use [Classify documents](/document-ai/working-with-document-ai/classify-documents.md) for the guided UI workflow. This page covers capabilities, formats, limits, and results.

In the product UI, this capability is available under **Capabilities > Classification**.

<figure><img src="/files/RdDFUQovmCcbGAfBTmTs" alt=""><figcaption><p>Upload Documents for Classification — pick an AI model that applies to every file, optionally add custom document types, then drag and drop PDF, JPG, PNG, TIFF or Excel files up to 50 MB each</p></figcaption></figure>

{% hint style="info" %}
Classification supports single-document, batch, and synchronous workflows, with additional handling for multi-document PDFs, ZIP archives, and multi-sheet Excel workbooks.
{% endhint %}

### Supported classification types

Document Classification uses the platform's document type registry, which is shared with [Document Extraction](/document-ai/guides-1/document-extraction.md). For the complete categorized reference, see [Document Types](/document-ai/guides-1/document-types.md).

{% hint style="info" %}
Additional document types can be registered dynamically without a code change. New types are merged at runtime through a YAML configuration file and become available automatically. See [Document Types](/document-ai/guides-1/document-types.md) for details on how the registry works.
{% endhint %}

### Built-in category list

The upload flow includes a built-in category list that can be combined with any custom document types supplied by the caller.

<details>

<summary>View built-in categories</summary>

* Account Transfer Document
* Audited Document
* BalanceSheet
* Business
* BusinessTaxForms
* CashFlowStatement
* Credit
* CreditReport
* Disclosure Document
* Financial
* Financial Advisory Document
* Financial Document
* Financial Documents
* Financial Statements
* Fund Disclosure Statements
* Fund Document
* Human Resources
* Identity
* Identity Document
* Income Document
* IndividualTaxForms
* Institutional Investment / Marketing Document
* Institutional Investment / Performance Document
* Insurance
* Inventory
* Investment Advisory / Strategy Document
* Investment Document
* Legal
* Legal & Compliance
* Legal Document
* Liability Document
* Loan Document
* PersonalFinancialStatement
* Policy Document
* ProfitAndLossStatement
* Proof of Address Document
* Real Estate Document
* Rental Document
* Tax
* Tax Document
* Transportation
* Vehicle
* Wealth / Investment Document
* Wealth / Portfolio Statement
* Wealth Management Document

</details>

| Capability                    | Description                                                                             | Limit                                                                                                    |
| ----------------------------- | --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| Single classification         | Classify one document asynchronously.                                                   | No additional limit specified.                                                                           |
| Bulk classification           | Classify multiple documents in one asynchronous batch.                                  | 500 MB maximum per ZIP and 100 MB maximum per file within a ZIP.                                         |
| Synchronous classification    | Classify one document and return the result immediately.                                | No additional limit specified.                                                                           |
| Custom type restriction       | Restrict classification to a caller-supplied list of document types.                    | Supported through `custom_document_types` or a URL to a JSON type list.                                  |
| Multi-document PDF handling   | Detect and segment multiple documents within a single PDF.                              | PDFs with 20 pages or fewer use direct LLM classification; longer PDFs use a homogeneity-check pipeline. |
| Excel workbook classification | Classify each sheet individually, with optional entity mapping.                         | No additional limit specified.                                                                           |
| Confidence scoring            | Each result includes a confidence score from 0.0 to 1.0.                                | No fixed pass/fail threshold is defined by the classifier.                                               |
| Search and filter             | Search the classification list by ID, type, status, or file type, and filter by status. | No additional limit specified.                                                                           |

{% hint style="warning" %}
**Confidence scores** do not have a fixed pass/fail threshold in the classifier itself. The score is also used internally to help decide whether a multi-page PDF should go through the homogeneity-check pipeline.
{% endhint %}

### How the workflow works

1. **Upload** — Choose an AI model such as `GPT-4.1`, `GPT-5.1`, or `Gemini 3`, then submit a single document, a batch, or use the synchronous endpoint for an immediate result. In the UI, individual files are capped at 50 MB. You can also restrict classification to a caller-supplied list of custom document types, combined with built-in categories.
2. **Segmentation** — For PDFs only, files with 20 pages or fewer are classified directly. Longer PDFs go through a homogeneity check to detect document boundaries before classification.
3. **Classify** — The LLM returns a document type, category, confidence score, and a short summary explaining the result.
4. **Multi-document linking** — If a PDF contains several instances of the same document type across different page ranges, later segments are linked back to the first by `continuationOf`.
5. **Review** — Open the classification list or a single result to review the assigned type, category, and confidence.
6. **Route to extraction** — A confirmed classification determines which extraction reviewer handles the document next in [Document Extraction](/document-ai/guides-1/document-extraction.md). Everyone in the account can use the classification list and the upload flow, including model selection and custom type tagging.

### Related pages

* [Classify documents](/document-ai/working-with-document-ai/classify-documents.md) provides the guided UI workflow.
* [Document Types](/document-ai/guides-1/document-types.md) defines the shared registry, categories, and schemas.
* [Document Extraction](/document-ai/guides-1/document-extraction.md) uses the confirmed type to route documents into the appropriate reviewer.
* [Webhooks & Integrations](/document-ai/guides-1/webhooks-and-integrations.md) delivers completion events after classification finishes.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.uptiq.ai/document-ai/guides-1/document-classification.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
