vendor_data is the identifier you supply on every session and transaction to link it to a User or Business entity. It is the single most important field for entity aggregation — get it right and every downstream feature (profile history, transaction monitoring, blocklist enforcement, ongoing AML) works seamlessly.
What it is
vendor_data is a string you choose. Didit treats it as an opaque identifier and does not interpret its contents. Typical values:
How it binds things together
When you submit a session or transaction with avendor_data value:
- Didit looks up the entity in your application with that
vendor_data. - If it exists, the new object is linked to that entity.
- If it does not exist, Didit creates the entity (with
status: ACTIVE) and links the new object.
POST /v3/session/— KYC and Business Verification (KYB) sessionsPOST /v3/transactions/— transactions (for both applicant and counterparty)- The
applicant.vendor_data/counterparty.vendor_datafields inside transaction payloads
Uniqueness and scope
vendor_data is unique per application, not globally across Didit:
This means you can use the same
vendor_data in a staging app and a production app without collisions, and you can have a User user-42 and a Business user-42 without collision (though this is discouraged for clarity).
What happens if you omit vendor_data
You can create a session without vendor_data. In that case:
- No entity is created for the session.
- The session is orphaned — it won’t appear in any User or Business profile.
- You cannot later look up the session by
vendor_data— only bysession_id.
vendor_data.
Example: pre-create an entity, then run sessions
GET /v3/users/user-42/, you’ll see the session count, approved/declined counters, linked transactions, and latest profile data.
Migrating external IDs
If you’re adopting Didit after an existing KYC vendor, pass your existing stable user IDs asvendor_data from day one. This makes it easy to:
- Reconcile Didit data with your internal database.
- Bulk-load historical users via console CSV import before running any sessions.
- Preserve relationships when you later migrate to Didit for transaction monitoring.
Rules, conventions, and best practices
Next steps
Users overview
Deep dive on User entities and operations.
Businesses overview
Deep dive on Business entities and operations.
Create session
Start a verification for a vendor_data.
Create transaction
Submit a transaction linked to an entity.