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

# Errors

> Use the status, error code and request ID together.

```json theme={null}
{
  "error": {
    "code": "insufficient_scope",
    "message": "This endpoint requires contacts:read.",
    "request_id": "req_example"
  }
}
```

| Status | Meaning | Next action |
| - | - | - |
| 400 | Invalid input, parameters or cursor | Correct the request |
| 401 | Invalid, expired, revoked or wrong-environment key | Check host and credential |
| 403 | Missing scope, viewer role or unavailable write access | Check the current role and grant |
| 404 | Missing or inaccessible resource | Verify the selected workspace and channel |
| 409 | Duplicate, campaign state, replay conflict or uncertainty | Inspect the code and saved resource |
| 413 / 415 | Body too large / unsupported content type | Reduce JSON / send application/json |
| 429 | Request budget exhausted | Wait for Retry-After |
| 500 / 503 | Temporary failure, storage unavailable or feature disabled | Reconcile writes; inspect the error code |

## Privacy and incomplete data

A `404` intentionally does not distinguish a missing record from another customer's record. Do not enumerate IDs. `503 feature_unavailable` on outcomes means that feature is disabled, not that the customer has no positive outcomes.

## Support context

Keep the request ID, timestamp, environment, method, path and error code. Redact authorization and private message bodies. Share that context with your Emailx account contact. Before retrying a failed mutation, read [idempotency and recovery](https://docs.emailx.ai/en/api-reference/idempotency.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.