Narrow down the cause
| Symptom | First checks | Next step |
|---|---|---|
| 401 / 403 | Whitespace, expired key, account and model access | Recheck settings without logging the key. |
| 404 / model not found | Base URL, endpoint path and exact model ID | Compare with the quickstart request. |
| 429 | Error body, allowance windows, concurrency and upstream limits | Follow dashboard timing or Retry-After when supplied; distinguish exhausted quota from transient pressure. |
| 5xx / timeout | Request ID, time, upstream error, network and client timeout | Use bounded retries and record each outcome and deduction. |
| HTTP 200 with a truncated answer | Stream errors, termination events, disconnects and timeouts | Inspect the full event sequence, not status alone. |
Retries and model switching
Use bounded backoff for recoverable network or transient service failures. Fix authentication and entitlement errors before retrying, and wait for exhausted allowances to reset. A timeout does not necessarily mean processing never happened; inspect usage before resending a batch.
Before switching, confirm the alternative model is included in your account. A different model or a larger plan does not guarantee resolution of an upstream issue.
What to include in a support request
- Time and timezone, client name and version.
- Model ID, endpoint path and whether streaming was enabled.
- Status, error body and request ID, with keys and private content removed.
- Dashboard allowance state and whether a minimal independent request reproduces the error.