capacity_busy
The message text is shown in the example below.
| HTTP status | 429 |
type | rate_limit_error |
| Retry? | Yes, with back-off after Retry-After |
| Status | In the public catalog (error-envelope.ts) |
| Extra fields | retry_after, retry_after_seconds |
When it happens
Syntic’s capacity manager turned the request away before sending it. Comes with X-Capacity-Busy: 1. A 503 with the same code means the whole service is at capacity.
Example
{
"error": {
"type": "rate_limit_error",
"code": "capacity_busy",
"message": "The model is very busy right now. Nothing was charged. Retry shortly.",
"param": null,
"request_id": "req_6f1c2a9e0b7d4c3a8e5f1b2d",
"retry_after": 3,
"retry_after_seconds": 3
}
}How to fix it
- Retry after
Retry-After; nothing was billed. - For predictable throughput, ask about priority capacity.
Detect it in code
err = resp.json().get("error", {})
if resp.status_code == 429 and err.get("code") == "capacity_busy":
delay = err.get("retry_after") or 2
time.sleep(delay) # then retryRelated
Was this page helpful?