Update User
Partial update of a user: display_name, full_name, date_of_birth, status, metadata, approved_emails/approved_phones/issuing_states. metadata fully replaces.
Overview
Updates mutable fields on a User entity. Fields propagated from verified User Verification (KYC) sessions (full_name, date_of_birth, portrait_image, aggregate counters, features) are read-only.
When to use it
- Update your own metadata — move a user between tiers, change tags, record an internal note.
- Rename — set a better
display_namefor internal-facing console views. - Override verified data (with caution) — manual overrides are allowed but logged to the audit trail.
Notes
vendor_datain the URL cannot be changed via this endpoint. Create a new user and delete the old one if you need to rekey.- Emits a
user.data.updatedwebhook with achanged_fieldsarray so consumers can sync efficiently. - If you PATCH a field that is currently managed by a verified session, the override will be accepted but flagged in the audit log.
Permissions
Role must grantupdate:users.
Related
Authorizations
Path Parameters
Your unique identifier for the user (free-form string, NOT a UUID).
Body
Full name of the user
512Custom display name for this user
Date of birth in YYYY-MM-DD format
User lifecycle status. Setting BLOCKED automatically adds the vendor_data to the system blocklist; flipping away from BLOCKED removes that blocklist entry.
ACTIVE, FLAGGED, BLOCKED Arbitrary JSON object you attach to the user. Fully replaces the existing metadata on update — merge client-side if you only want to add keys.
Map of {email -> true} flagging the verified contact emails for this user.
Map of {phone -> true} flagging the verified phone numbers for this user.
Map of ISO 3166-1 alpha-3 country codes to count of approved documents from that issuer (e.g. {"USA": 2}).
Response
User updated. The full updated user record (same shape as Get User) is 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