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

# PanoFlow API rate limits

> PanoFlow limits requests per API key per minute. Read the X-RateLimit headers on every response and back off on 429 using the Retry-After header.

PanoFlow rate-limits requests per API key per minute. Every response tells you where you stand, so your client can slow down before it hits the limit.

## Headers

| Header | Meaning |
| - | - |
| `X-RateLimit-Limit` | Requests allowed per minute for this key |
| `X-RateLimit-Remaining` | Requests left in the current window |
| `X-RateLimit-Reset` | Unix time when the window resets |

## When you hit the limit

Over the limit, PanoFlow returns `429` with error code `rate_limited` (`response_code` `65`) and a `Retry-After` header giving the number of seconds to wait.

```javascript theme={null}
async function request(url, options) {
  for (;;) {
    const res = await fetch(url, options);
    if (res.status !== 429) return res;
    const seconds = Number(res.headers.get("Retry-After") ?? "1");
    await new Promise((resolve) => setTimeout(resolve, seconds * 1000));
  }
}
```

When you retry a request that moves money, send the same `Idempotency-Key`. See [Idempotency](https://docs.panoflow.io/idempotency.md).

## Agents

AI agents connected through the MCP server have their own per-agent limit, tighter than an API key's. Over it, a tool returns `rate_limited` with `details.retry_after` in seconds. See [Agents and MCP](https://docs.panoflow.io/agents-and-mcp.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.