Skip to main content

Error Handling

Current error response format

The current API uses a top-level error envelope:

{
"success": false,
"message": "validation.invalid_data",
"error": "Bad Request",
"statusCode": 400,
"timestamp": "2026-03-10T18:00:00.000Z",
"path": "/api/partner/reservations",
"errors": {
"messages": ["guestEmail.validation.invalid_email"]
},
"requestId": "req_123"
}

Notes

  • message is top-level
  • error is top-level
  • statusCode is top-level
  • validation details, when present, are under errors
  • rate-limit errors may include retryAfter

Typical statuses

  • 400 invalid input
  • 401 missing/invalid auth
  • 403 forbidden
  • 404 resource not found
  • 409 conflict
  • 422 business-rule validation failure
  • 429 rate limit exceeded
  • 500 internal server error