Skip to main content
The Business Console lets your team bulk-manage User entities without writing code. Two flows are supported: CSV import (create or update users at scale) and CSV export (extract the user table for external tooling).
Bulk import/export is a console-only feature. There is no public API endpoint for CSV imports — use POST /v3/users/create/ in a loop if you need programmatic bulk creation.

Import users from CSV

When to use it

  • Day-one migration from another KYC vendor — bring your existing user roster over.
  • 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:
ColumnRequiredDescription
vendor_dataYesYour identifier for the user. Must be unique per application.
display_nameNoHuman-readable name shown in the console.
full_nameNoLegal name. Will be overwritten by verified session data.
emailNoKnown contact email.
phoneNoKnown contact phone (E.164 format).
countryNoISO 3166-1 alpha-3 country code.
statusNoACTIVE, FLAGGED, or BLOCKED. Defaults to ACTIVE.
tagsNoComma-separated tags.
metadata_jsonNoStringified JSON for custom metadata.

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_data does not exist, a new User is created.
  • If a vendor_data already exists, the row updates the existing User (profile fields and metadata).
  • Aggregate counters and verified fields (full_name, date_of_birth from approved sessions) are never overwritten by imports.

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

  1. Navigate to Users → Export.
  2. Apply filters (status, country, date range, search).
  3. Choose columns (the default is every field; you can drop columns you don’t need).
  4. 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

OperationTypical scaleNotes
ImportUp to 100,000 rowsLarger files are chunked server-side; progress is polled by the UI
ExportUp to 1,000,000 rowsLarger exports are streamed to S3 and delivered via signed URL

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.

Data retention

How long imported data persists.

Audit logs

Review import/export history.