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. Note: unlike Update User Status, changing status here does NOT record a status-change activity and does NOT sync the system blocklist — use the dedicated update-status endpoint for BLOCKED/unblock flows.
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. Changing it via this generic PATCH does NOT sync the system blocklist or record a status-change activity; prefer the update-status endpoint.
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.
Verified email addresses for this user, e.g. ["john@example.com"]. Fully replaces the stored list.
Verified phone numbers for this user. Fully replaces the stored list.
Issuing countries (ISO 3166-1 alpha-3), e.g. ["USA"]. Fully replaces the stored list.
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
Lifecycle status of the user record (NOT a session status). ACTIVE is the default, FLAGGED marks the user for manual attention, BLOCKED prevents new sessions for this vendor_data.
ACTIVE, FLAGGED, BLOCKED 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
ISO 3166-1 alpha-3 codes of issuing countries seen on this user's approved ID documents, e.g. ["USA", "ESP"]. Empty array when none.
Verified email addresses collected from this user's approved sessions, e.g. ["john@example.com"].
Verified phone numbers collected from this user's approved sessions, e.g. ["+14155551234"].
Aggregated per-feature status across all of this user's sessions. Possible keys: ID_VERIFICATION, NFC, LIVENESS, FACE_MATCH, POA, QUESTIONNAIRE, EMAIL_VERIFICATION, PHONE, AML, IP_ANALYSIS, AGE_ESTIMATION, DATABASE_VALIDATION. Possible values: Approved, Declined, In Review, Not Finished, Resub Requested.
Same data as features, as an ordered array of {feature, status} objects.
Timestamp of the most recent session
Timestamp of the first session
Timestamp of the most recent activity on this user (session, transaction, status change, data edit, etc.).
Tag assignments. NOTE: on detail responses each entry is a tag link object ({uuid, tag: {...}, added_by_email, added_by_name, created_at}), unlike the flat {uuid, name, color} shape used on list responses.
Custom metadata JSON you attached to this user. Defaults to {}.
Activity log and comments for this user (status changes, profile edits, manual notes).