> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Users (Vendor Entities)

> Vendor Users are Didit's persistent identity record — KYC history, biometrics, documents, transactions, and blocklist status, all on one profile.

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

| Category               | Fields / objects                                                                              |
| ---------------------- | --------------------------------------------------------------------------------------------- |
| **Identity**           | `vendor_data`, `uuid`, `display_name`, `full_name`, `date_of_birth`, `portrait_image`         |
| **Status**             | `ACTIVE`, `FLAGGED`, `BLOCKED`                                                                |
| **Session aggregates** | `session_count`, `approved_count`, `declined_count`, `in_review_count`, `features` map        |
| **Verified contact**   | `approved_emails[]`, `approved_phones[]`                                                      |
| **Geography**          | `issuing_states[]` (from verified ID documents)                                               |
| **Activity**           | `first_session_at`, `last_session_at`, `last_activity_at`                                     |
| **Biometrics**         | Attached face records (for search / duplicate detection / blocklist)                          |
| **Documents**          | ID documents, proofs of address, selfies from sessions                                        |
| **Relations**          | Linked Business entities (if the user is a director / UBO of businesses verified on your app) |
| **Metadata**           | Arbitrary JSON for your own data                                                              |

See the full [User data model](/entities/users/data-model) for types, indexes, and edge cases.

## When a User is created

<Steps>
  <Step title="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.
  </Step>

  <Step title="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.
  </Step>

  <Step title="From the console">
    A compliance operator creates the User from the Users page — for example, when onboarding a manually verified customer.
  </Step>
</Steps>

## What you can do

| Operation                                                     | How                                                   |
| ------------------------------------------------------------- | ----------------------------------------------------- |
| [List users](/entities/users/operations#list)                 | `GET /v3/users/` with filters (status, date, country) |
| [Get user](/entities/users/operations#get)                    | `GET /v3/users/{vendor_data}/`                        |
| [Create user](/entities/users/operations#create)              | `POST /v3/users/create/`                              |
| [Update profile](/entities/users/operations#update)           | `PATCH /v3/users/{vendor_data}/`                      |
| [Change status](/entities/users/operations#change-status)     | `PATCH /v3/users/{vendor_data}/update-status/`        |
| [Delete users](/entities/users/operations#delete)             | `POST /v3/users/delete/` (batch)                      |
| [Attach / search faces](/entities/users/faces-and-biometrics) | Console + Lists API for blocklists                    |
| [View documents](/entities/users/documents)                   | Via session decisions                                 |
| [Add to blocklist](/entities/users/blocklist)                 | Console + Lists API                                   |
| [Review KYC history](/entities/users/kyc-history)             | `GET /v3/sessions?vendor_data=...`                    |
| [Review transactions](/entities/users/transactions)           | `GET /v3/transactions/?vendor_data=...`               |
| [Import / export](/entities/users/import-export)              | Console only (CSV)                                    |
| [Manage in console](/entities/users/console)                  | Full 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](/business-verification/overview) identifies people from company registries.

## User ↔ session relationship

```mermaid theme={null}
flowchart LR
    U[User entity<br/>vendor_data = user-42]
    S1["User Verification (KYC) session #1<br/>(approved 2025-01)"]
    S2["User Verification (KYC) session #2<br/>(resubmit, in review)"]
    S3["User Verification (KYC) session #3<br/>(re-verification 2026-01)"]
    S1 --> U
    S2 --> U
    S3 --> U
```

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

<CardGroup cols={3}>
  <Card title="Data model" icon="database" href="/entities/users/data-model">
    Every field, type, and index.
  </Card>

  <Card title="Operations" icon="gear" href="/entities/users/operations">
    Create, update, change status, delete.
  </Card>

  <Card title="Faces & biometrics" icon="face-viewfinder" href="/entities/users/faces-and-biometrics">
    Attach a face for search and blocklisting.
  </Card>

  <Card title="Blocklist" icon="ban" href="/entities/users/blocklist">
    How blocklisting works for users.
  </Card>

  <Card title="KYC history" icon="clock-rotate-left" href="/entities/users/kyc-history">
    Every session tied to the user.
  </Card>

  <Card title="Console" icon="desktop" href="/entities/users/console">
    Full Users UI walkthrough.
  </Card>
</CardGroup>
