Skip to main content
type_id is required when creating a document, and you cannot invent it: it comes from your tenant’s type catalog. Types are grouped into categories and define which template a document is generated from and who it is about. Reading the catalog is covered by the documents:read scope.

Listing types

allow_api and allow_upload are the administrator’s notes about a type’s intended use. The server does not check them when a document is created, so honour them yourself: creating a document of a type marked allow_api: false goes around an agreement made inside your company.

Filtering by category

GET /document_type_categories returns the categories:
sort_order mirrors the order shown in the app — use it when you present the catalog to a user.

Choosing a type

1

Find the category

Export GET /document_type_categories once and store it. The list rarely changes.
2

Find the type inside it

GET /document_types?category_id=…. Match on title and keep the id.
3

Take the type's template

Pass the type’s template_id to GET /document_templates/{template_id} and read variable_schema — see Templates.
4

Create the document

Send type_id, template_id, template_version, and template_values to POST /documents. Then continue with Signing.
Do not match types by name on every run, because names get edited. Store the type and template id in your integration’s configuration.
Both lists follow the shared pagination rules: limit defaults to 100, caps at 1000, and continues through page_token.