Skip to main content

Error envelope

All non-2xx responses use the same shape:
{
  "error": {
    "code": "validation_error",
    "message": "Request validation failed.",
    "details": []
  },
  "request_id": "<uuid>"
}
details is optional and only present when the server has structured detail to return.

Error codes you will see today

  • validation_error (422) for query/body validation failures.
  • http_error for explicit HTTP exceptions.
  • internal_error (500) for unexpected failures.

Request tracing

Every response includes X-Request-ID.
  • Provide your own X-Request-ID header to keep trace continuity.
  • If you do not provide one, the API generates a UUID.