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

# Rate limits

> Per-key rate limits, the headers that report your budget, and how to handle 429s.

Requests are rate-limited **per API key** on a fixed one-minute window.

## Budget headers

Every `/v1` response carries your current budget:

| Header                         | Meaning                                         |
| ------------------------------ | ----------------------------------------------- |
| `X-RateLimit-Limit-Minute`     | Your ceiling for the current one-minute window. |
| `X-RateLimit-Remaining-Minute` | Requests remaining in the current window.       |
| `X-RateLimit-Reset`            | Unix epoch seconds when the window resets.      |

## Exceeding the limit

When you exceed the limit, the API returns `429` with a `Retry-After` header (integer
seconds to wait) and the standard error envelope:

```json theme={null}
{
  "error": {
    "code": "rate_limited",
    "message": "Per-minute rate limit exceeded."
  }
}
```

<Tip>
  Build for back-off: when you receive a `429`, pause for `Retry-After` seconds before
  retrying. Watch `X-RateLimit-Remaining-Minute` to slow down before you hit the ceiling.
</Tip>
