> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.givechariot.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.givechariot.com/_mcp/server.

# Error Codes

The Chariot API uses standard HTTP status response codes

| Code | Description                                                                                                                                                                               |
| :--- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400  | Bad Request: The request could not be understood by the server due to malformed syntax.                                                                                                   |
| 401  | Unauthorized: The request requires user authentication. The **Authorization** header may be missing or invalid.                                                                           |
| 403  | Forbidden: 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. |
| 404  | Not Found: The resource requested does not exist or was not found.                                                                                                                        |
| 405  | Method Not Allowed: The method/verb specified in the request is not allowed for the resource.                                                                                             |
| 409  | Conflict: The request conflicts with the current state of the target resource.                                                                                                            |
| 410  | Gone: Access to the target resource is no longer available as the resource may have expired.                                                                                              |
| 412  | Precondition Failed: The server does not meet one of the preconditions that the requester put on the request.                                                                             |
| 422  | Unprocessable Content: The server cannot process the request due to validation issues                                                                                                     |
| 500  | Internal Server Error: The request was valid, but something failed on the server.                                                                                                         |
| 502  | Bad Gateway: The server received an invalid response from an upstream server.                                                                                                             |
| 503  | Service Unavailable: The server is not ready to handle the request.                                                                                                                       |

All error responses use the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) problem-details format, returned with the `application/problem+json` media type. Every error response includes an `X-Request-Id` header you can quote when contacting support.

**`Problem Details`**

```json Problem Details
{
  "type": "about:blank",
  "title": "API Error",
  "status": 400,
  "detail": "The request is invalid or contains invalid parameters."
}
```

The fields are:

* `type` — a URI reference identifying the problem type (currently always `about:blank`).
* `title` — a short, constant summary (`API Error`).
* `status` — the integer HTTP status code.
* `detail` — a human-readable explanation specific to this error.