The Chariot API uses the standard HTTP status response codes

400Bad Request: The request could not be understood by the server due to malformed syntax.
401Unauthorized: The request requires user authentication. The Authorization header may be missing or invalid.
403Forbidden: The server understood the request but is refusing to fulfill it. The API user does not have correct permissions or the x-chariot-api-key header may be missing or invalid.
404Not Found: The resource requested does not exist or was not found.
405Method Not Allowed: The method/verb specified in the request is not allowed for the resource.
409Conflict: The request conflicts with the current state of the target resource.
410Gone: Access to the target resource is no longer available as the resource may have expired.
422Unprocessable Content: The server cannot process the request due to validation issues
500Internal Server Error: The request was valid, but something failed on the server.
502Bad Gateway: The server received an invalid response from an upstream server.
503Service Unavailable: The server is not ready to handle the request.

All error responses come with the following standard shape.

  "timestamp": "2020-07-10 15:00:00.000",
  "code": 400,
  "error" : "Bad Request",
  "message": "a descriptive, yet terse snippet explaining what went wrong"