Update User Status
Flip only the lifecycle status of a user — VendorUserStatusChoices (ACTIVE/FLAGGED/BLOCKED, NOT session statuses). BLOCKED adds vendor_data to the system blocklist.
Overview
Moves a User entity betweenACTIVE, FLAGGED, and BLOCKED. See entity lifecycle for the full state machine.
When to use it
- Block a user after confirming fraud or a compliance breach.
- Flag a user pending manual review without hard-blocking them.
- Unblock a user after successful remediation.
- Propagate external signals — e.g. when your own fraud engine scores a user above a threshold, move them to
FLAGGEDvia this endpoint.
Notes
- Valid values:
ACTIVE,FLAGGED,BLOCKED. Invalid values return 400. - Passing a
reasonstring is recommended — it is persisted and surfaced in the audit log and webhook payload. BLOCKEDusers have all new sessions auto-declined and all new transactions auto-declined.- Emits a
user.status.updatedwebhook withprevious_status,status, andreason.
Enforcement
| Status | Effect on new sessions | Effect on new transactions |
|---|---|---|
ACTIVE | Normal flow | Normal flow |
FLAGGED | Permitted but routed to IN_REVIEW | Permitted; may auto-escalate depending on rules |
BLOCKED | Auto-declined | Auto-declined |
Permissions
Role must grantupdate-status:users.
Related
Authorizations
Path Parameters
Your unique identifier for the user.
Body
New lifecycle status. BLOCKED also adds the vendor_data to the system blocklist.
ACTIVE, FLAGGED, BLOCKED Response
User status updated. Full user record returned.
Full user detail. Extends UserListItem with metadata, comments, and updated_at.
Didit's stable internal UUID for this user.
Your unique identifier for this user (passed when creating sessions). This can be null when no vendor identifier was supplied.
Custom display name set by you
Full name extracted from verified documents
Best available name: display_name if set, otherwise full_name
Overall verification status of this user
Approved, Declined, In Review, Pending Presigned URL of the user's portrait photo (expires after a few hours)
Total number of verification sessions for this user
Number of approved sessions
Number of declined sessions
Number of sessions in review
Map of ISO3 country codes from approved documents, e.g. {"USA": 2, "ESP": 1}
Verified email addresses, e.g. {"john@example.com": true}
Verified phone numbers
Map of feature name to latest status, e.g. {"OCR": "Approved", "LIVENESS": "Approved", "AML": "In Review"}
Same as features but as an array of {feature, status} objects
Timestamp of the most recent session
Timestamp of the first session
Tags assigned to this user
Custom metadata JSON you attached to this user
Activity log and comments for this user