Skip to main content
OrcaRouter adds a small number of headers to every API response so you can inspect how your request was routed. None of them reveal the upstream provider — only model-level details you already chose.
HeaderPresent whenExampleMeaning
X-Orca-Fallback-Levelextra_body.models caused a fallback1Zero-indexed position in your fallback chain that served the response. 0 means the primary model succeeded and fallback did not trigger.
X-Orca-Fallback-ModelFallback triggered (level > 0)gemini-2.5-proThe model that actually served the response after the primary failed.
X-Orca-RouterYou called orcarouter/{name}autoThe name of the router you invoked.
X-Orca-Resolved-ModelYou called orcarouter/{name}gpt-4o-miniThe concrete model the router resolved to at request time.
Retry-AfterResponse is 429 Too Many Requests5How many seconds to wait before retrying.

Reading them in code

response = client.chat.completions.with_raw_response.create(
    model="orcarouter/auto",
    messages=[...],
)
print(response.headers.get("X-Orca-Resolved-Model"))

What OrcaRouter does not expose

We deliberately do not add:
  • A provider or routed_to header or response field
  • Channel IDs, channel names, or channel base URLs
  • Any identifier that tells a caller which upstream served the request
OrcaRouter is a single provider from your application’s point of view. Internal routing is our concern, not your dependency.