Retries
Retry 429, 502, and 503 with backoff. Change the key, the balance, or the JSON before you retry 401, 402, or 400.
On this page
Retry when the failure is demand or a transport timeout. Change the request when the failure is your account or your JSON.
Retry
| Status | What to do |
|---|---|
| 429 | Wait, then send the same call again. Too many requests are already in flight. OpenBroker does not set a per-key quota. |
502 whose message contains timeout awaiting response headers | Raise the client timeout to several minutes, then retry. A 15 or 30 second client abort will fail the same way. See Streaming. |
503 no active OpenBroker devshard capacity for this broker | Wait briefly, then retry. This is common on the first calls right after activation. |
| 4xx or 5xx whose message says no host is free, or the request budget is exhausted | Wait, then retry. The status page counts these with 429, as capacity. |
Space the attempts out: a few seconds, then longer. Stop after a handful. Sending the same 429 again immediately does not free capacity.
Do not retry until something changes
| Status | Change first |
|---|---|
| 401 | The obk- key. A dashboard session is not a key. |
| 402 | The deposit, or available balance. See Balance. |
| 400 | The JSON: model id, or a required field. See Models. |
A failed row is stored with cost_ngonka 0. See Usage.
One 429 is a reason to back off, not a reason to open more workers. When to lower or raise concurrency is in How much to send.