Checks
The building blocks you compose, and what each one answers
A check is one question about a person. Flows are built from them, and a verification carries one check object per step, each with its own status, verdict and reason codes.
The check types
| Type | The question it answers |
|---|---|
liveness | Is a real, present human in front of the camera right now |
face_match | Is the person in front of the camera the same person as on the document |
document | Is this identity document genuine, unaltered and readable |
age_estimation | Is this person plausibly over the age you require |
aml_screening | Does this identity appear on sanctions, watchlist or politically exposed person data |
proof_of_address | Does this document evidence the address the person claims |
The check object
{
"id": "chk_7d2e91af",
"object": "check",
"type": "document",
"status": "completed",
"verdict": "approve",
"provider_tier": "standard",
"reason_codes": [],
"created_at": "2026-07-26T16:30:00.000Z",
"updated_at": "2026-07-26T16:30:22.000Z"
}| Field | Notes |
|---|---|
status | pending, processing, completed or failed. failed means the check could not be evaluated, which is not the same as a reject. |
verdict | approve, reject, review, or null while the check is unresolved. |
provider_tier | The engine tier that ran this check: standard, pro or pro_max. |
reason_codes | Stable upper snake case codes explaining a non-approval. |
What is deliberately not exposed
Checks report a coarse verdict and reason codes, not internal confidence values or the sensitivity
settings behind them. Those numbers are meaningless without the model context they came from, they
change as the platform improves, and building your logic on them would break silently. Branch on
verdict and reason_codes instead. Both are stable contracts.
Ordering
Checks run in the order the flow declares. Order matters where one check depends on another: a face match needs a document portrait to compare against, so a document step must come first. The console validates this for you when you build a flow.