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

# Error format

> How the IAM APIs return errors and validation failures.

## JSON error body

Most errors use a single `detail` string:

```json theme={null}
{
  "detail": "Human-readable error message"
}
```

## Validation errors (422)

Validation failures return `detail` as an array of objects:

```json theme={null}
{
  "detail": [
    {
      "loc": ["body", "email"],
      "msg": "value is not a valid email address",
      "type": "value_error"
    }
  ]
}
```

## HTTP status quick reference

Endpoint pages list status codes for each route. In general:

* **401** — Credentials are wrong, missing, expired, or revoked.
* **403** — Credentials are valid but access is denied (for example IP blocked, account disabled, feature off).
* **429** — Rate limit exceeded; use `RateLimit` headers for backoff.

See [Best practices](/api-reference/best-practices#error-handling) for how to handle 401 vs 403 and throttling.
