Skip to main content

Errors

The Partner API uses conventional HTTP response status codes to indicate the success or failure of an API request.

HTTP status codes​

CodeStatusMeaning
200OKRequest succeeded. Response body contains the requested data.
201CreatedResource successfully created. Response body contains the new resource.
204No ContentRequest succeeded with no response body (e.g. successful DELETE).
400Bad RequestThe request was malformed or missing required parameters. Check the error message for details.
401UnauthorizedAuthentication failed. Your access token is missing, expired, or invalid.
403ForbiddenYour credentials are valid but you don't have permission to access this resource.
404Not FoundThe requested resource does not exist. Check the ID or path.
409ConflictThe request conflicts with the current state (e.g. duplicate booking).
422Unprocessable EntityThe request body is well-formed but contains semantic errors (e.g. invalid date format).
429Too Many RequestsRate limit exceeded. Back off and retry after the period indicated in the Retry-After header.
500Internal Server ErrorSomething went wrong on our end. Retry the request or contact support.
503Service UnavailableThe API is temporarily down for maintenance. Retry after a short delay.

Error response format​

All error responses return a consistent JSON structure:

{
"error": {
"code": "VALIDATION_ERROR",
"message": "The request body contains invalid fields.",
"details": [
{
"field": "currency",
"message": "Currency 'XYZ' is not a supported ISO 4217 currency code."
}
]
}
}
FieldTypeDescription
error.codestringMachine-readable error code for programmatic handling
error.messagestringHuman-readable summary of the error
error.detailsarrayOptional. Field-level validation errors with specific messages

Common error codes​

CodeMeaning
VALIDATION_ERROROne or more fields failed validation
AUTHENTICATION_ERRORToken is missing or invalid
AUTHORIZATION_ERRORInsufficient permissions
NOT_FOUNDResource does not exist
RATE_LIMIT_EXCEEDEDToo many requests in the time window
CONFLICTAction conflicts with current resource state
INTERNAL_ERRORUnexpected server error

Handling errors​

  • 4xx errors: Fix the request and retry. Don't retry without changes.
  • 429 errors: Implement exponential backoff. Respect the Retry-After header.
  • 5xx errors: Retry with exponential backoff (1s, 2s, 4s, up to 30s max).