rate_limit_exceeded, and error.type names the budget that refused: requests, input_tokens or output_tokens.
Headers
The rate limit headers accompany any response where your budgets were consulted, which is every admitted request and every rate limit refusal.
Retry 429 and 5xx with exponential backoff and jitter. Prefer the delay we advise,
retry-after-ms first and then retry-after, over an interval of your own. Do not retry 400, 401, 402 or 404, and do not retry anything carrying x-should-retry: false: the answer will not change until you do something about it.
Your current limits are on the Limits page. Get in touch to raise them.