Limits
This page lists the limits a caller of the API meets: how long a call may take, how large a request may be, and how much a tenant may spend or send. Limits on the console’s features are in Limits.
Budgets are the control
Section titled “Budgets are the control”The limit a tenant manages is its token budget: daily or monthly, on the tenant, each project, each key, and each granted model. A spent budget refuses requests with 429 and insufficient_quota until the period rolls over. Budgets are evaluated every few seconds, so requests already in flight when one is reached can carry it slightly over. See Keys, budgets and metering.
Rate limits
Section titled “Rate limits”| Where | Limit | Set by |
|---|---|---|
| Public assistant chat, per tenant, across all its assistants | 60 requests a minute by default | Your platform administrator can change or remove the default in the installation’s configuration. A tenant rate limit, where one exists, replaces it. |
A rate limit counts over a sliding minute. A refused request answers 429 with type rate_limit_error, code request_rate_exceeded or token_rate_exceeded, and a Retry-After header in seconds. Unlike a spent budget, a rate limit clears within a minute, so retrying after Retry-After is the right response.
Time limits
Section titled “Time limits”| Limit | Default | Range | Set by |
|---|---|---|---|
| A model call that sends nothing | 300 seconds | 30 to 3,600 | Platform admin, in Settings |
| One whole call through the gateway | 1,800 seconds | 60 to 14,400 | Platform admin, in Settings |
One tool call on the codebase tools (/mcp) |
30 seconds | Fixed | |
| One public assistant chat turn | 180 seconds | Fixed | |
| One agent run started over the API | 5 minutes | Fixed |
The silence limit is the one that binds most calls. A call made without stream: true sends nothing until it is done, so for it the silence limit is the whole call’s limit. A reasoning model that thinks for minutes before its first token needs a stream, or a longer silence limit. A change in Settings applies within 30 seconds.
| Limit | Value |
|---|---|
| Prompt and answer, together | The model’s context window, as GET /v1/models reports it. |
| A request body through the gateway | 1 MiB. The body is held whole while it is checked, and a larger one is refused with 413. |
| A request to an external model | 32 MiB. |
| A request to the codebase tools | 1 MiB. |
| A public assistant chat request | 64 KiB, with a message of at most 4,000 characters. |
| An agent run request | 1 MiB. |
| A merge request webhook delivery | 2 MiB. |
| An alert webhook delivery | 1 MiB, opening at most 5 investigations. |
| Limit | Value |
|---|---|
| Application key lifetime | 1 to 3,650 days, or none. The console proposes 90 days. |
| Developer key lifetime | 1 to 365 days, 90 by default, set per tenant on the Code Assistant page. |
| Active developer keys per person | 1 to 50, 5 by default, set per tenant on the Code Assistant page. |
| Agent run key | 1 hour, issued and revoked by Olympusx AI. |