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

# Rate Limits

> Request rate limits enforced per API key and workspace plan.

# Rate Limits

VoiceLab360 enforces rate limits to ensure platform stability for all users.

## Limits by plan

| Plan        | Requests per minute | Concurrent requests |
| ----------- | ------------------- | ------------------- |
| API Sandbox | 60                  | 5                   |
| API Pro     | 300                 | 20                  |
| Enterprise  | Custom              | Custom              |

Limits apply per API key. Multiple keys under the same workspace share the workspace-level limit.

## Rate limit headers

Every response includes rate limit state in the following headers:

| Header                  | Description                              |
| ----------------------- | ---------------------------------------- |
| `X-RateLimit-Limit`     | Maximum requests allowed per minute      |
| `X-RateLimit-Remaining` | Requests remaining in the current window |
| `X-RateLimit-Reset`     | Unix timestamp when the window resets    |

## Handling rate limit errors

When the limit is exceeded the API returns HTTP `429` with error code `RATE_LIMIT_EXCEEDED`. Implement exponential backoff and wait until the time indicated in `X-RateLimit-Reset` before retrying.

```javascript theme={null}
async function callWithRetry(fn, retries = 3) {
  for (let i = 0; i < retries; i++) {
    try {
      return await fn();
    } catch (err) {
      if (err.status === 429 && i < retries - 1) {
        await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000));
      } else {
        throw err;
      }
    }
  }
}
```

## Enterprise limits

Enterprise workspaces receive custom rate limits configured at the account level.
