Skip to main content

Authentication

All management API endpoints use your application’s API key or client credentials token. No org/app UUIDs needed in URLs — the application is identified from your token.
# Using API key (recommended)
curl -H "x-api-key: YOUR_API_KEY" https://apx.didit.me/v3/...

# Using Bearer token (from client_credentials flow)
curl -H "Authorization: Bearer YOUR_TOKEN" https://apx.didit.me/v3/...
Don’t have an API key yet? Register programmatically in 2 API calls.

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 /v3/workflows/
GET
List all workflows for your application. Returns each workflow’s features, thresholds, and whether it’s the default.
POST /v3/workflows/
POST
Create a new workflow. Define which verification features to enable, set thresholds, configure accepted document types, and more.
GET /v3/workflows/{uuid}/
GET
Get full details of a specific workflow, including all feature configurations and thresholds.
PATCH /v3/workflows/{uuid}/
PATCH
Update a workflow configuration. You can modify any feature settings, thresholds, or accepted documents.
DELETE /v3/workflows/{uuid}/
DELETE
Delete a workflow. Sessions already using this workflow are not affected.

Quick Example: Create a Workflow

curl -X POST https://apx.didit.me/v3/workflows/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_label": "Standard KYC",
    "is_default": true,
    "is_ocr_enabled": true,
    "is_face_match_enabled": true,
    "is_liveness_enabled": true,
    "is_aml_enabled": false
  }'
Then use the workflow when creating sessions:
curl -X POST https://apx.didit.me/v3/session/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "callback_url": "https://myapp.com/callback",
    "workflow_id": "WORKFLOW_UUID_FROM_ABOVE"
  }'

Questionnaires

Custom forms you can add to verification workflows to collect additional information from users.
GET /v3/questionnaires/
GET
List all questionnaires.
POST /v3/questionnaires/
POST
Create a new questionnaire with custom questions, branching logic, and translations.
GET /v3/questionnaires/{uuid}/
GET
Get questionnaire details including all questions and form structure.
PATCH /v3/questionnaires/{uuid}/
PATCH
Update a questionnaire.
DELETE /v3/questionnaires/{uuid}/
DELETE
Delete a questionnaire.

Users

Manage verified individuals (users) in your application. Each user is identified by a vendor_data string you provide when creating sessions.
GET /v3/users/
GET
List all users for your application, including their verification status and session history.
GET /v3/users/{vendor_data}/
GET
Get user details by your vendor_data identifier.
PATCH /v3/users/{vendor_data}/
PATCH
Update user metadata.
POST /v3/users/delete/
POST
Batch delete users. Body: {"vendor_data_list": ["user-1", "user-2"]} or {"delete_all": true}.

Session Operations

POST /v3/sessions/delete/
POST
Batch delete sessions. Body: {"session_numbers": [1, 2, 3]} or {"delete_all": true}.
GET /v3/sessions/{uuid}/reviews/
GET
List reviews and activity log for a session.
POST /v3/sessions/{uuid}/reviews/
POST
Add a review note or status change to a session.

Billing

GET /v3/billing/balance/
GET
Get current credit balance and auto-refill settings.
{
  "balance": "142.5000",
  "auto_refill_enabled": true,
  "auto_refill_amount": "100.0000",
  "auto_refill_threshold": "10.0000"
}
POST /v3/billing/top-up/
POST
Create a Stripe checkout session to top up credits. Minimum $50.
{
  "amount_in_dollars": 100,
  "success_url": "https://myapp.com/billing/success",
  "cancel_url": "https://myapp.com/billing/cancel"
}

Blocklist

GET /v3/blocklist/
GET
List blocklist entries (faces, documents, phones, emails).
POST /v3/blocklist/add/
POST
Add entries to the blocklist by session ID.
POST /v3/blocklist/remove/
POST
Remove entries from the blocklist.

Complete API Endpoint Summary

EndpointMethodDescription
/v3/session/POSTCreate a verification session
/v3/sessions/GETList all sessions
/v3/session/{id}/decision/GETGet session verification result
/v3/session/{id}/update-status/PATCHApprove or decline a session
/v3/session/{id}/delete/DELETEDelete a single session
/v3/sessions/delete/POSTBatch delete sessions
/v3/sessions/{id}/reviews/GET, POSTSession activity/reviews
/v3/workflows/GET, POSTList/create workflows
/v3/workflows/{id}/GET, PATCH, DELETEWorkflow detail/update/delete
/v3/questionnaires/GET, POSTList/create questionnaires
/v3/questionnaires/{id}/GET, PATCH, DELETEQuestionnaire detail
/v3/users/GETList verified users
/v3/users/{vendor_data}/GET, PATCHUser detail/update
/v3/users/delete/POSTBatch delete users
/v3/blocklist/GETList blocklist
/v3/blocklist/add/POSTAdd to blocklist
/v3/blocklist/remove/POSTRemove from blocklist
/v3/billing/balance/GETCheck credit balance
/v3/billing/top-up/POSTTop up credits