capacity_busy

The message text is shown in the example below.

HTTP status429
typerate_limit_error
Retry?Yes, with back-off after Retry-After
StatusIn the public catalog (error-envelope.ts)
Extra fieldsretry_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 retry
Was this page helpful?