Error states
This page describes the most important HTTP statuses and error codes.
Error response structure
All error responses follow a consistent format:
json
{
"Code": "INVALID_API_KEY",
"Message": "Error description"
}For error 429, there is an additional RetryAfterSeconds field:
json
{
"Code": "RATE_LIMIT_EXCEEDED",
"Message": "Too many requests. Please try again later.",
"RetryAfterSeconds": 10
}Error state overview
400 Bad Request
| Code | Description |
|---|---|
MISSING_API_KEY | The X-Api-Key header is missing |
401 Unauthorized
| Code | Description |
|---|---|
INVALID_API_KEY | The key does not exist or is invalid |
SECRET_REQUIRED | The secret part is missing (expected KeyId.Secret) |
INVALID_SECRET | The secret part is invalid |
COMPANY_API_DISABLED | API access is disabled for your company |
API_KEY_DISABLED | This specific key is disabled |
403 Forbidden
| Code | Description |
|---|---|
IP_NOT_AUTHORIZED | Access blocked due to IP authorization |
409 Conflict
| Code | Description |
|---|---|
EXPORT_DUPLICATE | Duplicate export – a request with the same parameters already exists |
429 Too Many Requests
| Code | Description |
|---|---|
RATE_LIMIT_EXCEEDED | Rate limit exceeded – see Rate limits |
5xx Server Error
Server-side error. Try the request again later.
If the problem persists, contact us at enterprise@xdent.cz
Logging for diagnostics
When troubleshooting errors, always record:
- HTTP status and error code (
Code), X-Request-Idfrom the response header,- Endpoint and time of the call.