Bulk import/export here creates or updates User profiles only. It does not recreate historical KYC sessions, document warnings, liveness evidence, or provider decisions. For a full migration from Sumsub, MetaMap, Veriff, Onfido, Persona, or another provider, see Import Data from Another Provider.
Import users from CSV
When to use it
- Day-one migration from another KYC vendor — bring your existing user roster over.
- Provider face migration — attach trusted face images to the imported User profiles after the rows are created.
- Bulk onboarding of a partner’s customer list.
- Metadata backfill — update tags, tier, or internal identifiers on many users at once.
Template columns
Download the template from Users → Import → Download template. Columns:Running the import
1
Upload the CSV
Navigate to Users → Import → Upload CSV and select your file.
2
Review the preview
The console validates each row. Invalid rows are highlighted with error reasons (e.g. duplicate
vendor_data, invalid country code).3
Start the import
Didit processes the rows asynchronously. You can close the tab — progress is tracked in Users → Import history.
4
Review results
When the import finishes, the history view shows counts of created, updated, and skipped rows, plus a downloadable error report.
Update vs create
- If a
vendor_datadoes not exist, a new User is created. - If a
vendor_dataalready exists, the row updates the existing User (profile fields and metadata). - Aggregate counters and verified fields (
full_name,date_of_birthfrom approved sessions) are never overwritten by imports.
Import faces after user creation
CSV import creates or updates the User row. It does not include face images in the CSV. To bring over face biometrics from another provider, upload each face after the target User exists:1
Create or import the User
Use the console CSV import, or call
POST /v3/users/create/ in a loop.2
Read didit_internal_id
Fetch the User with
GET /v3/users/{vendor_data}/. The response includes didit_internal_id.3
Upload the face
Call
POST /v3/organization/{organization_id}/application/{application_id}/vendor-users/by-id/{didit_internal_id}/faces/upload/ with a raw base64 face image.Export users to CSV
When to use it
- Compliance audits — deliver the full user table to auditors.
- Data warehouse sync — periodic dump into your BI tooling.
- SAR / regulator requests — extract filtered subsets of users.
Running an export
- Navigate to Users → Export.
- Apply filters (status, country, date range, search).
- Choose columns (the default is every field; you can drop columns you don’t need).
- Submit. Didit generates the export asynchronously and emails a signed download link to the requesting operator.
Exports include only data your role is allowed to read. COMPLIANCE_OFFICER and above can export the full table; DEVELOPER and READER roles have restricted exports.
Performance characteristics
Audit trail
Every import and export is logged in the audit log:- The operator who triggered it.
- Row counts (imports) / filter snapshot (exports).
- Timestamps and success/failure state.
Next steps
Create user API
Programmatic creation for scripted imports.
Upload user face
Attach imported face images to User profiles.
Data retention
How long imported data persists.
Audit logs
Review import/export history.