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

# Rate limit exceeded

> 429 — A rate limit was exceeded (generic 429 fallback).

A rate limit was exceeded (generic 429 fallback).

```json 429 application/problem+json theme={null}
{
  "type": "https://docs.permitcore.io/errors/rate-limit-exceeded",
  "title": "Rate limit exceeded",
  "status": 429,
  "detail": "…",
  "instance": "/v1/permits",
  "request_id": "req_1f07fb45782b445e9f6312ba23921234"
}
```

Every PermitCore error is [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457)
`application/problem+json`. **Branch on `type` (a stable URI)**, not on `title`
or `detail` (human-readable, may change).

## When it occurs

A request-rate ceiling was hit. Quota exhaustion normally returns the specific [`monthly-requests-quota-exceeded`](/errors/monthly-requests-quota-exceeded) / [`daily-requests-quota-exceeded`](/errors/daily-requests-quota-exceeded) codes; this generic variant is the fallback shape.

## How to fix

Respect the `Retry-After` header and back off. See [Rate limits](/concepts/rate-limits).

**Retryable** — retry with exponential backoff (respect `Retry-After` on `429`/`503`).

See the full [error catalog](/errors) for the response shape and retry matrix.
Every response carries an `x-request-id` header — include it in any support request.
