## Limits

| Limit | Default | Description |
| --- | --- | --- |
| **Requests per minute (RPM)** | 5 | Maximum API calls to generation endpoints per minute |
| **Concurrent generations** | 10 | Maximum in-flight generation jobs at any time |
| **Spending limit** | $5,000 | Maximum spending per billing period (in dollars) |

Rate limits apply only to write endpoints (`POST /v1/switchx/generations`).  
Read endpoints (status polling, listing jobs) have a separate limit of **5** **requests per minute** per account.

---

## Spending Limit

Each account has a `spending_limit` (in dollars) that caps total spending per billing period. If a new job would push your current period usage over this limit, the API returns `402` with error code `HARD_LIMIT_EXCEEDED`. The error message includes your current usage and the job cost so you can decide whether to wait for the next billing cycle or request a limit increase.

---

## Checking Your Limits

Use the [Account Info](https://developer.beeble.ai/docs/api-reference/account/get-account-info) endpoint to see your current rate limits and usage:

```
curl https://api.beeble.ai/v1/account/info \
  -H "x-api-key: YOUR_API_KEY"
```

The response includes your configured limits:

```
{
  "spending_limit": 5000,
  "rate_limits": {
    "rpm": { "usage": 3, "limit": 5 },
    "concurrency": { "usage": 1, "limit": 10 }
  }
}
```

For detailed billing usage breakdown (per-meter totals, billing period dates), use the [Billing Info](https://developer.beeble.ai/docs/api-reference/account/get-billing-info) endpoint. Note that this endpoint fetches live data from external billing services and is rate-limited to **5 requests per minute** — avoid calling it in tight loops.
