Unrefused

Errors

Every error uses the OpenAI error shape so SDKs raise the right exception.

code
{ "error": { "message": "…", "type": "invalid_request_error", "param": null, "code": "…" } }
StatusCodeMeaning
400invalid_request_errorMalformed JSON, missing model or messages, n other than 1, body too large.
400policy_blockedYour profile blocked the request. param is input or output; the message carries the decision code.
400platform_policyThe platform baseline blocked the request. Not configurable per profile.
401invalid_api_keyMissing, unknown, revoked or expired key.
403insufficient_scopeKey lacks the scope for this endpoint.
404not_foundUnknown model (param: "model") or route.
429rate_limit_exceededRequests per minute or concurrency exceeded. retry-after is set.
500internal_errorUnexpected failure. The message includes the request id to quote in support.
502upstream_errorThe model server returned an error.
503overloadedNo healthy model server for that model right now. Retry with backoff.
504upstream_timeoutThe model server did not respond in time.

Every response, including errors, carries x-request-id. Quote it when you contact us; it is the only identifier we keep for a request.

Spot an error or a gap? Tell us — and quote x-request-id if you have one.