# Errors & limits

Authentication and validation may reject a request before execution. Consult the error reference and retain request_id when contacting support. Never send keys or passwords.

## Responses · HTTP

| HTTP | Description |
| --- | --- |
| `400 / 422` | Check the parameter names, types, bounds and required values. |
| `401` | Use a valid current key in the Authorization header. |
| `403` | Check account access, effective permissions, verification and the API source-IP allowlist. |
| `404` | Check your own record ID; another account’s records are not exposed. |
| `409` | Re-read the relevant revision/quote and reconcile the original operation before retrying. |
| `429` | Wait for Retry-After, then continue with bounded polling. |
| `5xx / timeout` | An uncertain write is not a failed write. Query the same operation; do not submit a new purchase or mutation. |

## Errors & limits · HTTP 429

The default limit is 60 requests per calendar minute; your administrator may set another limit. Read capabilities.limits and respect Retry-After on HTTP 429. Key renewal does not clear account usage.

```http
Retry-After: 15

{
  "ok": false,
  "error": { "code": "RATE_LIMITED" },
  "meta": { "request_id": "000000000000000000000429" }
}
```

## Idempotency-Key

Persist one Idempotency-Key for each intended write. A timeout or HTTP 5xx does not prove failure. Query its status with the same key; never start a replacement write with a new key to resolve uncertainty.

---
[ARNPROXY API](https://docs.arnproxy.com/api-v1/errors)
