Skip to main content

Errors & Status Codes

Openference aims to return clear errors while protecting upstream details when appropriate.

Common status codes

CodeMeaningTypical cause
400Bad RequestInvalid JSON, missing required fields, unknown model for the route
401UnauthorizedMissing/invalid Authorization: Bearer or revoked key
403ForbiddenModel not permitted for this API key
429Too Many RequestsRPM or RPD limit exceeded for the key
503Service UnavailableNo healthy upstream providers for the requested model right now

Example error body

{
  "error": "The model provider is temporarily unavailable. Please try again in a moment."
}

Important semantics

  • Upstream failures never count against quota. If we return 503 “No available providers” or forward an upstream 5xx as a capacity issue, it does not consume your plan or credit balance.
  • 429 only happens for your rate limits, never because an upstream is busy (we fail over instead).

Capacity messages you may see

  • “We’re experiencing heavy usage right now, which may cause increased latency or temporary unavailability…”
  • “The model provider is temporarily unavailable…”
These indicate all configured routes for that model are currently unhealthy or rate-limited on the upstream side.

See also