Errors
D-ME uses standard HTTP status codes. Errors include a machine-readable code and a human-readable message.
Error Response Format
{
"error": {
"code": "VERIFICATION_NOT_FOUND",
"message": "Verification with ID abc123 was not found",
"details": { "id": "abc123" }
}
}HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | OK — request succeeded |
| 201 | Created — resource created |
| 202 | Accepted — async job queued |
| 204 | No Content — successful with no body |
| 400 | Bad Request — invalid request body |
| 401 | Unauthorized — missing or invalid API key |
| 403 | Forbidden — valid key, insufficient scope |
| 404 | Not Found — resource does not exist |
| 429 | Too Many Requests — rate limit exceeded |
| 500 | Internal Error — server-side problem |
Common Error Codes
| Code | Status | Description |
|---|---|---|
UNAUTHORIZED | 401 | Missing or malformed API key |
FORBIDDEN | 403 | Insufficient scope for this operation |
VALIDATION_ERROR | 400 | Request body failed validation |
VERIFICATION_NOT_FOUND | 404 | Verification ID not found for tenant |
UNSUPPORTED_ID_TYPE | 400 | ID type not supported for country |
TENANT_SUSPENDED | 403 | Tenant account is suspended |
RATE_LIMIT_EXCEEDED | 429 | Too many requests |
INTERNAL_ERROR | 500 | Unexpected server error |
For 500 errors, include the request timestamp when contacting support at support@d-id.me.