Authentication
All management API endpoints use your application API key. No org/app UUIDs are needed in URLs — the application is identified from your key.Workflows
Workflows define what verification steps your users go through (ID scan, liveness, face match, AML screening, etc.). Each workflow is a reusable configuration you attach to sessions.GET
List all workflows for your application. Returns each workflow’s features, thresholds, and whether it’s the default.
POST
Create a new workflow. Define which verification features to enable, set thresholds, configure accepted document types, and more.
GET
Get full details of a specific workflow, including all feature configurations and thresholds.
PATCH
Update a workflow configuration. You can modify any feature settings, thresholds, or accepted documents.
DELETE
Delete a workflow. Sessions already using this workflow are not affected.
Quick Example: Create a Workflow
Theworkflow_type determines the base feature set. Individual features are then toggled with is_*_enabled flags.
workflow_type values: kyc, kyb, adaptive_age_verification, biometric_authentication, address_verification, questionnaire_verification, email_verification, phone_verification.
For kyc workflows, ID verification is automatically included — you don’t need a separate flag for it. Use the is_*_enabled flags to add or remove optional features like face match, liveness, AML, NFC, phone, email, proof of address, Device & IP Analysis, and more.
Then use the workflow when creating sessions:
Questionnaires
Custom forms you can add to verification workflows to collect additional information from users.GET
List all questionnaires.
POST
Create a new questionnaire with custom questions, branching logic, and translations.
GET
Get questionnaire details including all questions and form structure.
PATCH
Update a questionnaire.
DELETE
Delete a questionnaire.
Users
Manage verified individuals (users) in your application. Each user is identified by avendor_data string you provide when creating sessions.
GET
List all users for your application, including their verification status and session history.
GET
Get user details by your vendor_data identifier.
PATCH
Update user metadata.
POST
Batch delete users. Body:
{"vendor_data_list": ["user-1", "user-2"]} or {"delete_all": true}. Also purges every biometric template retained for those users.Biometric Templates
Image-free face biometric templates an opted-in application retains after deleting sessions. See Biometric templates.GET
Paginated list with filters (
vendor_data, vendor_user_uuid, status, source_type, retained_from, retained_to, ordering).GET
Count with the same filters.
GET
One template: owning User, provenance reference, expiry, instruction, status.
DELETE
Purge one template. Returns
{"uuid": "...", "outcome": "purged" | "already_purged"}.POST
Bulk purge. Body:
{"template_uuids": [...]} or {"delete_all": true} plus optional filters.Session Operations
POST
Batch delete sessions. Requires
delete:sessions. Body: {"session_numbers": ["1", "2", "3"]} or {"delete_all": true}, plus optional retain_face_embeddings, face_retention_days, face_retention_deadline, deletion_instruction, and instruction_id. Up to 20 matching sessions return 200 with a per-session face_retention_outcome; more return 202 with a deletion job.GET
Progress and outcome counts of a bulk session deletion that returned
202.GET
List reviews and activity log for a session.
POST
Add a review note or status change to a session.
Billing
GET
Get current credit balance and auto-refill settings.
POST
Create a Stripe checkout session to top up credits. Minimum $50.
Lists (Blocklists, Allowlists & Custom)
Manage typed lists for blocklisting, allowlisting, and custom workflow conditions. See the full Lists API documentation.GET
List all lists for the application (blocklists, allowlists, custom).
POST
Add an entry to a list. Supports
reference_session_id to auto-extract data from a session, and reference_object_uuid for traceability to transactions/users/businesses.DELETE
Remove an entry from a list.
POST
Upload a face image to a face blocklist (base64).
Webhook Configuration
GET
Get current webhook configuration including URL, version, the secret key for verifying webhook signatures, and the application’s data-retention and biometric-template retention policy.
PATCH
Update webhook URL, version, or rotate the secret key. Set
rotate_secret_key: true to generate a new webhook secret (old one immediately invalidated). Also sets the application’s retention policy: data_retention_months, and face_retention_policy (delete_with_session default, or retain_until_user_deleted) together with a required finite face_retention_days (1-3650) when retention is enabled. See Biometric template retention. Also registers allowed_return_hosts: up to 20 bare hostnames (for example app.example.com, without a scheme, port, path or wildcard) that a Digital ID wallet API verification may send the person back to over HTTPS. A new list replaces the registered one, and your application’s white-label domain is always allowed.