Skip to main content
Didit organizes everything that happens in your application around two first-class entity types: Every verification session, every transaction, and every blocklist entry can be bound to an entity. Once bound, the entity becomes a durable profile that aggregates history, risk signals, and compliance state across time.

Entity vs session

An entity and a session are different things. A single entity can have many sessions — re-verifications, resubmissions, add-on checks, periodic ongoing monitoring. The entity aggregates the results.

Auto-creation vs manual pre-creation

Entities are created in one of three ways:
1

Auto-created from a session

When you create a session with a vendor_data identifier and no matching entity exists, Didit creates the entity automatically. This is the most common path.
A User entity for user-42 is created the moment the session starts.
2

Pre-created via the Management API

Create the entity first, then start sessions against it. Useful when you want to seed risk signals (status, tags, custom metadata) before the first verification.
3

Created in the console

Your compliance team can create users or businesses directly from the Business Console — useful for manual onboarding, imports, or remediation workflows.
The vendor_data field is the linking key. When you pass vendor_data on any session or transaction, Didit routes it to the matching entity. Learn more in the vendor_data linking guide.

What you can do with an entity

For each User or Business entity, you can: Detailed walkthroughs live under Users and Businesses.

User ↔ Business relationships

A single User can be linked to one or many Businesses. This happens naturally during KYB:
  • A User might be a director of one Business and a UBO of another.
  • A User’s User Verification (KYC) session can be linked to a Business’s Business Verification (KYB) session via the Key People flow.
Didit preserves these relationships — when you inspect a Business entity, you can see every linked User, and when you inspect a User entity, you can see every Business they are associated with.

Lifecycle and statuses

Every entity has a status that governs whether Didit enforces blocks on new activity: See the full entity lifecycle for transitions and webhook events.

Next steps

Lifecycle

States, transitions, and lifecycle events for every entity.

Vendor data linking

How vendor_data binds sessions, transactions, and entities.

Users

Deep dive on User entities, operations, and console workflows.

Businesses

Deep dive on Business entities, operations, and console workflows.

Entity webhooks

Real-time events for every entity change.

Blocklist

How blocklist entries interact with User and Business entities.