Update Feature Status
Approve, decline, or move a single verification step (OCR, Liveness, Face Match, AML, POA, Phone…) to review without changing the overall session decision.
What this does
A verification session is made up of individual features (steps) — ID/OCR, Liveness, Face Match, AML, Proof of Address, Phone, and so on. This endpoint lets you set the status of one of those steps —Approved, Declined, or In Review — without changing the overall session decision.
Use update-status when you want to approve, decline, or re-open the whole session. Use this endpoint when you only want to record a decision on a single step (for example, mark the Face Match step as Declined for your own review workflow while leaving the session in its current state).
Targeting a step with node_id
In graph-based workflows each step has a node_id (for example feature_ocr_1, feature_liveness_1, feature_aml_1). You can find these in the session decision — each feature in a V3 decision carries its node_id.
For non-graph (single-step) workflows the underlying feature has no node ID. Pass the literal value default as the nodeId to target it.
KYC and KYB support
Works identically for User Verification (KYC) and Business Verification (KYB) sessions — Didit resolves thesessionId across both. Supported step types include ID/OCR, Liveness, Face Match, NFC, AML, Proof of Address, Phone, Email, Database Validation, Questionnaire, and the KYB registry / documents / key-people checks.
session_type = API) cannot have individual feature statuses changed — the endpoint returns 400.Examples
- Approve a step
- Decline the Face Match step
- Single-step workflow (default node)
What happens after an update
- Webhook — a
data.updatedevent fires on the session so your systems and analytics stay in sync. - Audit trail — the change is recorded on the session’s review trail with the actor (API key or user) and your optional
comment, visible in the console’s activity timeline. - Overall session status is untouched — to also change the final decision, call update-status separately.
Permission
Requires thewrite:sessions privilege, with either a client API key (x-api-key) or a user authorization header.
Related
- Update session status — change the overall session decision.
- Update AML hit status — review individual AML matches.
- Retrieve session — fetch the decision (and each feature’s
node_id). - Webhooks — subscribe to
data.updated.
Authorizations
Path Parameters
UUID of the verification session. Accepts both user (KYC) and business (KYB) session IDs — the service resolves the ID across both session types.
"11111111-2222-3333-4444-555555555555"
Workflow graph node ID of the feature to update (for example feature_ocr_1). Use the literal value default for non-graph (single-step) workflows where the feature has no node ID.
"feature_ocr_1"
Body
Target status for this feature. Must differ from the current value.
Approved, Declined, In Review "Approved"
Optional free-text note recorded on the session's review trail for this feature change.
"Document manually verified by compliance."