Rate limits

Rate limits apply per API key. Per-plan defaults:

PlanRequests / minTokens / minConcurrent
Free3030,00010
Builder120120,00010
Pro600600,00020
Business3,0003,000,00050

Headers

When rate-limited we return 429 with the OpenAI envelope and code: rate_limit_exceeded or concurrency_limit_exceeded. Future: Retry-After seconds + X-RateLimit-* headers.

Tuning per key

Each API key has its own api_key_rate_limits row. The org admin can narrow the defaults for a specific key (e.g. lower limits for a public-facing client) but cannot raise above the plan ceiling.