> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anyreach.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors

> How the AnyReach API reports errors.

The API uses conventional HTTP status codes to indicate success or failure. Codes in the `2xx` range mean success; `4xx` codes indicate a problem with the request; `5xx` codes indicate a problem on AnyReach's side.

## Error format

Every error response is JSON with a `detail` message describing what went wrong:

```json theme={null}
{
  "detail": "Conversation not found"
}
```

## Status codes

| Status | Meaning                                                             |
| ------ | ------------------------------------------------------------------- |
| `200`  | Success.                                                            |
| `202`  | Accepted — the request was queued and will complete asynchronously. |
| `400`  | The request was understood but could not be fulfilled.              |
| `401`  | Missing or invalid token.                                           |
| `403`  | The token's role doesn't grant access to the action.                |
| `404`  | The resource doesn't exist.                                         |
| `409`  | The resource is in a state that doesn't allow the action.           |
| `422`  | The request body or parameters failed validation.                   |
| `500`  | An unexpected error occurred on the server.                         |

Endpoint-specific meanings for `400`, `409`, and `422` are documented on each endpoint's page.
