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

# Errors

> Error envelope and common error codes.

Errors use standard HTTP status codes and a consistent JSON envelope:

```json theme={null}
{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_SCOPE",
    "message": "API key does not have the required scope",
    "details": { "required_scope": "tickets:write" }
  }
}
```

Always branch on the machine-readable `error.code`, not the human `message`.

## Common codes

| Status | Code                    | Meaning                                               |
| ------ | ----------------------- | ----------------------------------------------------- |
| 401    | `MISSING_AUTHORIZATION` | No credentials supplied                               |
| 401    | `INVALID_API_KEY`       | Key is invalid, revoked, or expired                   |
| 403    | `INSUFFICIENT_SCOPE`    | Key lacks the scope this endpoint needs               |
| 403    | `ENDPOINT_NOT_PUBLIC`   | Endpoint isn't available to API keys (dashboard only) |
| 403    | `IP_NOT_ALLOWED`        | Key used from a non-allow-listed IP                   |
| 404    | `NOT_FOUND`             | Resource doesn't exist in your organization           |
| 422    | `VALIDATION_ERROR`      | Request body failed validation                        |
| 429    | `RATE_LIMIT_EXCEEDED`   | Too many requests — see [Rate Limits](/rate-limits)   |
| 500    | `INTERNAL_ERROR`        | Something went wrong on our side                      |
