Skip to main content

Overview

Document AI produces a status for each uploaded document from two layers of rules, and the per-document statuses combine into the feature status using the precedence Declined > In Review > Approved.
  1. Basic rules — built-in checks, each mapped to a configurable action: DECLINE, REVIEW, or NO_ACTION.
  2. Custom status rules — your own conditions on any extracted field, including cross-references against other steps.

Basic rules

Each rule below is detected automatically during extraction and forensic analysis. Configure the action for each in the Document AI feature’s Rules tab.
RuleConfig fieldTriggers when
Document unreadabledocument_ai_unreadable_document_actionThe document can’t be read or no data can be extracted
Missing required fieldsdocument_ai_missing_required_fields_actionA field marked required can’t be extracted
Document tamperingdocument_ai_document_tampering_actionForensics detect signs of manipulation
Name mismatchdocument_ai_name_mismatch_actionThe holder name on the document doesn’t match the verified identity (below document_ai_name_match_score_threshold)
Unsupported filedocument_ai_unsupported_file_actionThe uploaded file type is not supported
Exceeded attemptsdocument_ai_max_attempts_exceeded_actionThe user exceeds document_ai_max_retry_attempts
The name mismatch check compares the document’s holder-name field against the verified ID (and the expected details supplied at session creation) using a 0–100 score; set the cut-off with document_ai_name_match_score_threshold.

Custom status rules

Custom status rules let you set a status (Approved, In Review, Declined, or No Action) when a condition on an extracted field is met. Each rule is:
{
  "field": "document_ai.balance",
  "operator": "greater_than",
  "value": 50000,
  "status": "In Review"
}
To cross-reference another step, set value_type: "field" and point value at another field path:
{
  "field": "document_ai.account_holder",
  "operator": "fuzzy_match",
  "value": "kyc.full_name",
  "value_type": "field",
  "score": 80,
  "status": "Declined"
}
Every matching rule contributes its status, and the strictest of those plus the base status wins (Declined > In Review > Approved). A rule can therefore raise severity but never pull a risk-driven Declined/In Review back up. No Action rules are recorded but leave the status unchanged.
Extracted fields are addressable as document_ai.<field_key> using the key you configured for each field. Number and date fields support comparison operators (greater_than, less_than, date ranges); text fields support equality, contains, and fuzzy_match.