Request rate and concurrency
Every live call (POST /v1/chat/completions, /v1/responses and /v1/embeddings, and the console playground) counts against two limits:
The minute is a fixed calendar minute. The platform operator can set different limits for your workspace. Within them, an administrator can set a lower limit for one person, and you can set a lower limit for one key under API Keys → Settings. A person’s or a key’s limit never exceeds the workspace’s. The limits that apply to you are shown on the API Keys page.
Both refusals happen before anything is reserved or sent to the model provider, so nothing is charged and the call can be retried:
Key IP allowlist
A key can be limited to the source addresses it may be used from: under API Keys → Settings, list up to 20 IPv4 or IPv6 addresses or CIDR ranges, one per line. A call from any other address returns403 ip_not_allowed and is not charged. An empty list allows any source. The allowlist applies to API calls (/v1), not to the console playground.
Each call’s source address is recorded with the call and kept for 90 days; it appears in the request list and CSV export when that list is enabled for your account.
Payload size
These limits are sized for agent histories with many tool turns. The model’s context window is still the real limit: a request whose input does not fit returns
400 context_length_exceeded. A larger request also reserves a larger maximum charge before dispatch (it is settled at actual usage), so the wallet must cover that hold. For long generations, use stream: true.