Skip to main content
A User entity represents a single individual (your customer, end-user, or applicant) across every verification, transaction, and compliance interaction they have with your platform on Didit. Once a User exists, all activity tied to the same vendor_data flows into the same profile — you get a single pane of glass for identity, risk, and compliance for each person.

What lives on a User

CategoryFields / objects
Identityvendor_data, uuid, display_name, full_name, date_of_birth, portrait_image
StatusACTIVE, FLAGGED, BLOCKED
Session aggregatessession_count, approved_count, declined_count, in_review_count, features map
Verified contactapproved_emails[], approved_phones[]
Geographyissuing_states[] (from verified ID documents)
Activityfirst_session_at, last_session_at, last_activity_at
BiometricsAttached face records (for search / duplicate detection / blocklist)
DocumentsID documents, proofs of address, selfies from sessions
RelationsLinked Business entities (if the user is a director / UBO of businesses verified on your app)
MetadataArbitrary JSON for your own data
See the full User data model for types, indexes, and edge cases.

When a User is created

1

Automatically — on first session with a new vendor_data

The typical case. You call POST /v3/session/ with a vendor_data value Didit has never seen. A User entity is created in ACTIVE status and linked to that session.
2

Explicitly — via POST /v3/users/create/

You pre-create the User before any session runs. Useful for seeding metadata, setting initial status, or bulk-onboarding customers from an existing database.
3

From the console

A compliance operator creates the User from the Users page — for example, when onboarding a manually verified customer.

What you can do

OperationHow
List usersGET /v3/users/ with filters (status, date, country)
Get userGET /v3/users/{vendor_data}/
Create userPOST /v3/users/create/
Update profilePATCH /v3/users/{vendor_data}/
Change statusPATCH /v3/users/{vendor_data}/update-status/
Delete usersPOST /v3/users/delete/ (batch)
Attach / search facesConsole + Lists API for blocklists
View documentsVia session decisions
Add to blocklistConsole + Lists API
Review KYC historyGET /v3/sessions?vendor_data=...
Review transactionsGET /v3/transactions/?vendor_data=...
Import / exportConsole only (CSV)
Manage in consoleFull UI walkthrough

Users and Businesses

A single User can be linked to one or more Businesses — for example, when the same person is a director of one company and a UBO of another. Didit preserves these links automatically when KYB identifies people from company registries.

User ↔ session relationship

The User aggregates the latest state of each feature across all sessions. A failed aml check on the most recent session will show up in the User’s features.aml field even if older sessions approved.

Next steps

Data model

Every field, type, and index.

Operations

Create, update, change status, delete.

Faces & biometrics

Attach a face for search and blocklisting.

Blocklist

How blocklisting works for users.

KYC history

Every session tied to the user.

Console

Full Users UI walkthrough.