Errors
The error response shape and the status codes the API uses.
The API uses conventional HTTP status codes. Any error response carries a JSON
body with a stable, machine-readable code and a human-readable message:
{
"error": {
"code": "not_found",
"message": "Booking not found"
}
}Branch on error.code in your integration; surface or log message for people.
Exception — unauthenticated reporting requests. The reporting endpoints
(/reports, /reports/runs, /reports/files) answer a request with no
credentials with 401 and a WWW-Authenticate: Basic challenge rather than
the JSON envelope above. The body is plain text (HTTP Basic: Access denied.)
and Content-Type is text/html. Do not parse that 401 as JSON. See
Authentication.
| Status | error.code | When it happens |
|---|---|---|
400 | bad_request | Malformed JSON or a missing required parameter. |
400 | idempotency_key_in_use | Same idempotency key reused with a different request body — see Idempotency. |
401 | unauthorized | Missing or invalid API key — see Authentication. On reporting endpoints, an unauthenticated request returns a Basic challenge instead of this envelope. |
404 | not_found | The resource doesn't exist, or isn't visible to your key. |
409 | idempotency_key_in_progress | A request with the same idempotency key is still being processed — see Idempotency. |
422 | unprocessable_entity | The request was well-formed but failed validation or a business rule. |
422 | unsupported_api_version | Unknown or unsupported Easol-API-Version — see Versioning. |
422 | idempotency_key_required | Required Idempotency-Key header missing on endpoints that mandate it — see Idempotency. |
422 | idempotency_key_too_long | Idempotency-Key exceeds 255 characters — see Idempotency. |
500 | internal_server_error | An unexpected error on our side. Safe to retry. |
503 | idempotency_store_unavailable | The idempotency store is temporarily unavailable — see Idempotency. Safe to retry. |
503 | payment_provider_unavailable | A payment provider is temporarily unreachable. Safe to retry. |