Rate limits and quotas
The API checks four kinds of limit on every request, in this order: how fast you send, how big the request is, your plan’s token windows, and your spending controls. Each gives a different error, so the status code tells you which one you hit.
1. Request rate
| Credential | Limit |
|---|---|
Each API key (sk_live_… or sk_syntic_…) | 600 requests per minute |
| Each Syntic Code sign-in | 600 requests per minute |
Going over gives 429 rate_limited with a Retry-After header saying how many seconds to wait. See Fix a 429 error.
Need more? Use Contact Sales → Increase Rate Limits in the Console.
2. Request size
| Limit | Value | Error |
|---|---|---|
| Request body | About 2 MB (2,000,000 bytes) | 413 payload_too_large |
| Messages in one request | 500 | 413 too_many_messages |
| Context window | Per model (context_window in GET /v1/models), input plus max_tokens | 400 context_length_exceeded |
3. Plan token windows
Your plan’s monthly token allowance is checked across three windows at once:
| Window | Size | Reopens |
|---|---|---|
| Session | 25% of the monthly allowance | Rolling, five hours after usage in the window began |
| Weekly | 60% of the monthly allowance | Once a week |
| Monthly | The full allowance | At the start of each month |
A request is covered by your plan only while all three have room. When one fills up:
- with usage credits turned on, the request is paid from your credit balance at your plan’s overage rate;
- otherwise it is refused with
402 quota_exhausted.
The Usage Limits page shows each window live.
4. Spending controls
When requests are paid from credit:
| Check | Set by | Error limit value |
|---|---|---|
| Organization monthly spend limit | An admin, on the Billing page | spend_limit |
| Member or group spend limit | An admin | spend_limit |
| Credit balance must cover the request | Your top-ups and auto-reload | no_credits |
Spend limits reopen when a new calendar month begins (UTC).
The API docs describe per-model rate-limit tiers that grow with payment history. They are marked as a preview and are not in effect yet; today the flat 600 requests per minute applies.