Create a document type

Creates a new custom document type for your organization. Document types define how documents of a given kind are classified, extracted, and verified.

Required scope: settings:write (or legacy documents:write).

Authentication

X-API-Keystring

Organization API key. Keys are prefixed with vk_live_ (production) or vk_sandbox_ (sandbox).

Headers

Idempotency-KeystringOptional<=255 characters

Unique key for idempotent requests. Cached for 24 hours. Sending the same key with different parameters returns 422.

Verifa-VersiondateOptional

API version date string (e.g. 2026-02-01). If omitted, the version pinned to your API key is used.

Request

This endpoint expects an object.
slugstringRequiredformat: "^[a-z0-9_-]+$"

URL-safe identifier for this document type.

labelstringRequired

Human-readable display label.

categorystringRequired

Document category (e.g. identity, address, financial).

descriptionstringOptional
Optional description of this document type.
extraction_hintsmap from strings to anyOptional
OCR and extraction configuration hints.
check_suitemap from strings to anyOptional
Verification check suite configuration.

Response

Document type created.
idstring
Document type ID.
org_idstring
Organization ID.
slugstring

URL-safe identifier for this document type.

labelstring

Human-readable display label.

categorystring

Parent category for grouping in the dashboard. One of: financial, corporate, identity, address, vehicle, government, or other.

is_activeboolean
Whether this document type is active.
created_atdatetime
updated_atdatetime
descriptionstring or null

Free-text visual + content description of this document type. Used by Verifa’s document classifier to recognize uploaded documents and pick this type when it matches. Be specific about logos, layouts, and prominent fields — clearer descriptions give better classification accuracy.

extraction_hintsmap from strings to strings or null

Map of {field_name: hint} describing the structured fields to extract from documents of this type. Each hint is a short free-text description of how to identify the field — including common synonyms, expected format, and any disambiguation tips (“Member ID, sometimes labeled ‘Subscriber ID’ or ‘Policy #’”).

When set, uploaded documents of this type are passed through Verifa’s document extractor and the resulting fields appear on the document’s extracted_fields response field. All extraction runs on Verifa’s private infrastructure — document content is never sent to third-party services.

check_suitelist of lists of strings or null

Optional override of the verification check suite for documents of this type. Each entry is a [check_name, category, requirement] tuple. When set, this overrides the org-level check_config and the hardcoded default suite for the matching classification.

Errors

400
Bad Request Error
401
Unauthorized Error
422
Unprocessable Entity Error