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

# Rate Limits & Quotas

> Request-time usage headers, quota outcomes, and retry behaviour.

## What the API enforces

Prontiq can apply account quotas, per-key burst limits, and platform-level
protection before accepting an API request.

For current package details, plan allowances, invoices, or account-specific
usage, use the Prontiq console.

Burst rate limits are short-term traffic protection. They happen before request
admission, so `429 RATE_LIMITED` responses do not consume credits. For the full
credit lifecycle, see [Billing](/guides/billing) and [Credits](/guides/credits).

## Quota outcomes

If a key reaches its active request-time quota boundary, the API returns
`429 QUOTA_EXCEEDED`.

```json theme={null}
{
  "error": {
    "code": "QUOTA_EXCEEDED",
    "message": "Monthly quota exceeded",
    "status": 429,
    "request_id": "req_abc123...",
    "details": {
      "product": "address",
      "used": "<current usage>",
      "limit": "<current limit>",
      "resets_at": "<reset timestamp>"
    }
  }
}
```

## Burst rate limits

If a key or route is sending requests too quickly, the API returns
`429 RATE_LIMITED`. These requests are rejected before admission and do not
consume credits.

```json theme={null}
{
  "error": {
    "code": "RATE_LIMITED",
    "message": "Rate limit exceeded",
    "status": 429,
    "request_id": "req_abc123..."
  }
}
```

When present, `Retry-After` tells clients when to retry.

## Response headers

Successful API responses can include request-time quota headers.

| Header                  | Description                                                                                                                        |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `X-Request-Id`          | Unique request identifier for support and debugging.                                                                               |
| `X-RateLimit-Product`   | API family whose request-time counter was updated.                                                                                 |
| `X-RateLimit-Reset`     | Timestamp when the current enforcement window resets, when applicable.                                                             |
| `X-RateLimit-Limit`     | Included-credit threshold for keys with a current threshold, when applicable.                                                      |
| `X-RateLimit-Remaining` | Credits remaining in the current enforcement window, when applicable.                                                              |
| `X-RateLimit-Over`      | `true` when a request succeeded as overage after the current threshold was exceeded.                                               |
| `X-Payment-Overdue`     | `true` when the account currently has an overdue billing state. Request handling still follows the active plan enforcement policy. |

Example:

```http theme={null}
HTTP/2 200
X-Request-Id: req_018f4d8c-...
X-RateLimit-Product: address
X-RateLimit-Reset: <period reset timestamp>
X-RateLimit-Limit: <current limit when applicable>
X-RateLimit-Remaining: <remaining credits when applicable>
```

<Info>
  These headers are useful for user-facing "remaining usage" hints. They are not a substitute for
  account billing records in the console.
</Info>

## Client retry guidance

* Retry `429 RATE_LIMITED` only after `Retry-After` when present.
* Do not immediately retry `429 QUOTA_EXCEEDED`; direct users to account
  billing or support.
* Retry `503 SERVICE_UNAVAILABLE` with exponential backoff.
* Include `X-Request-Id` or `error.request_id` in support requests.

## Account billing and support

<CardGroup cols={2}>
  <Card title="Console billing" icon="receipt" href="https://console.prontiq.dev/billing">
    Signed-in users can see account-specific plan and usage state.
  </Card>

  <Card title="Billing support" icon="life-ring" href="https://prontiq.featurebase.app">
    Raise a support ticket for quota, rate-limit, or account questions.
  </Card>
</CardGroup>
