API Reference
Complete reference for all D-ME API endpoints. Base URL: https://api.d-id.me/v1. All requests require Authorization: Bearer <key>.
KYC Verification
/kyc/sandbox/verifySubmit a sandbox verification. Returns approved instantly. Free, no Smile Identity call.
kyc.verifyRequest body
{
"id_type": "national_id",
"country": "SN",
"id_number": "1234567890123",
"first_name": "Amara",
"last_name": "Diallo",
"date_of_birth": "1990-05-15",
"external_ref": "user_001",
"score_requested": false
}Response
{
"data": {
"id": "ver_01hxyz1234567890",
"status": "approved",
"country": "SN",
"id_type": "national_id",
"external_ref": "user_001",
"created_at": "2026-05-01T10:30:00Z",
"completed_at": "2026-05-01T10:30:00Z",
"score": null
}
}Try it
Request body (JSON)
/kyc/verifySubmit a live KYC verification. Async — queues a Smile Identity job. Returns 202 Accepted with initial status pending.
kyc.verifyRequest body
{
"id_type": "national_id",
"country": "SN",
"id_number": "1234567890123",
"first_name": "Amara",
"last_name": "Diallo",
"date_of_birth": "1990-05-15",
"external_ref": "user_001",
"score_requested": false
}Response
{
"data": {
"id": "ver_01hxyz1234567890",
"status": "pending",
"country": "SN",
"id_type": "national_id",
"external_ref": "user_001",
"created_at": "2026-05-01T10:30:00Z",
"completed_at": null,
"score": null
}
}Try it
Request body (JSON)
/kyc/verificationsList verifications for your tenant. Cursor-based pagination, 20 per page by default.
kyc.readParameters
limitResults per page (1–100, default 20)
cursorPagination cursor from previous response
statusFilter by status: pending, approved, declined, error
Response
{
"data": [
{
"id": "ver_01hxyz1234567890",
"status": "approved",
"country": "SN",
"id_type": "national_id",
"external_ref": "user_001",
"created_at": "2026-05-01T10:30:00Z",
"completed_at": "2026-05-01T10:30:00Z"
}
],
"meta": {
"next_cursor": "cur_abc123",
"total": 42
}
}Try it
Query params
limitcursorstatus/kyc/verifications/:idRetrieve a single verification by ID.
kyc.readParameters
idVerification ID
Response
{
"data": {
"id": "ver_01hxyz1234567890",
"status": "approved",
"country": "SN",
"id_type": "national_id",
"external_ref": "user_001",
"created_at": "2026-05-01T10:30:00Z",
"completed_at": "2026-05-01T10:30:00Z",
"score": null
}
}Try it
Path params
idAPI Keys
/keysCreate a new API key for your tenant. The raw key is returned once — store it immediately.
keys.writeRequest body
{
"name": "Production backend",
"scopes": ["kyc.verify", "kyc.read", "webhooks.read"],
"environment": "live"
}Response
{
"data": {
"id": "key_01hxyz1234567890",
"name": "Production backend",
"key": "dme_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"scopes": ["kyc.verify", "kyc.read", "webhooks.read"],
"environment": "live",
"created_at": "2026-05-01T10:00:00Z",
"last_used_at": null
}
}Try it
Request body (JSON)
/keysList all active API keys for your tenant. Raw keys are never returned — only metadata.
keys.readResponse
{
"data": [
{
"id": "key_01hxyz1234567890",
"name": "Production backend",
"scopes": ["kyc.verify"],
"environment": "live",
"created_at": "2026-05-01T10:00:00Z",
"last_used_at": "2026-05-01T11:00:00Z"
}
]
}Try it
/keys/:idRevoke an API key. This action is immediate and irreversible. Any requests using this key will return 401.
keys.writeParameters
idKey ID
Response
// 204 No ContentTry it
Path params
idWebhooks
/webhooksRegister a webhook endpoint. The secret is returned once — store it to verify incoming requests.
webhooks.writeRequest body
{
"url": "https://your-app.com/webhooks/d-me",
"events": ["verification.completed", "verification.failed"],
"description": "Production webhook"
}Response
{
"data": {
"id": "wh_01hxyz1234567890",
"url": "https://your-app.com/webhooks/d-me",
"events": ["verification.completed", "verification.failed"],
"secret": "whsec_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"active": true,
"created_at": "2026-05-01T10:00:00Z"
}
}Try it
Request body (JSON)
/webhooksList all registered webhook endpoints for your tenant.
webhooks.readResponse
{
"data": [
{
"id": "wh_01hxyz1234567890",
"url": "https://your-app.com/webhooks/d-me",
"events": ["verification.completed"],
"active": true,
"created_at": "2026-05-01T10:00:00Z"
}
]
}Try it
/webhooks/:idDeactivate and delete a webhook endpoint.
webhooks.writeParameters
idWebhook ID
Response
// 204 No ContentTry it
Path params
id/webhooks/:id/testSend a test event to a webhook endpoint. Useful for verifying your signature verification code.
webhooks.writeParameters
idWebhook ID
Response
{
"data": {
"delivered": true,
"status_code": 200,
"response_time_ms": 142
}
}Try it
Path params
idRequest body (JSON)
Usage & Billing
/usageList usage events for your tenant. Each verification and score generates a usage event used for billing.
kyc.readParameters
limitResults per page (1–100, default 20)
cursorPagination cursor
fromISO 8601 start date filter
toISO 8601 end date filter
Response
{
"data": [
{
"id": "usg_01hxyz1234567890",
"event_type": "kyc.verification",
"verification_id": "ver_01hxyz1234567890",
"environment": "live",
"created_at": "2026-05-01T10:30:00Z"
}
],
"meta": {
"next_cursor": null,
"total": 1
}
}Try it
Query params
limitcursorfromto