DocuTray
API ReferenceDocument types

validateDocument

Validate a document against a document type

POST/api/document-types/{id}/validate

Check whether a JSON document satisfies the rules of a document type without running OCR or changing the document type. Send the data you already extracted (for example, the output of POST /api/convert, or values edited by a reviewer) and get back the problems found.

Validation runs two layers against the document type:

  • JSON Schema — types, required fields, formats, and value constraints.
  • Custom business rules — cross-field and domain logic defined for the type.

Results are split into two buckets, each with a count and a list of human-readable messages:

  • errors — blocking problems; the document does not conform.
  • warnings — non-blocking issues worth reviewing.

A document is valid when errors.count is 0. The call always returns 200 when it runs successfully, even if the document has errors — inspect errors.count to decide whether it passed. valid is the authoritative result and issues contains structured errors and warnings (field, code, message, severity and source).

To try rules without saving them, send { "data": { ... }, "dslRules": "field.total greaterThan(0)" }. Both fields are required for this dry-run envelope, and extra control fields are rejected. The temporary DSL replaces the stored DSL for this call; JSON Schema still runs. Use null or an empty string to test without DSL. Limit: 64 KiB UTF-8. Without this envelope, the entire JSON body is the document and the stored rules run. The root shape containing both data and dslRules is reserved for dry-run. Access follows the same rules as GET /api/document-types/{id}.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

Bearer token for API authentication

In: header

Path Parameters

id*string

Document type ID

Request Body

application/json

Extracted document JSON (legacy format); uses the stored rules.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json