Errors and routing evidence
Handle stable error envelopes and inspect per-request routing metadata.
Errors
OpenAI-compatible failures include an error object and Problem Details fields such as type, title, status, and detail. A correlated request can include trace.request_id. Anthropic request validation returns an Anthropic-style error object.
Common statuses include 400 for invalid input, 401 for a missing or invalid key, 402 for payment requirements, 403 for forbidden access, 429 for rate limits, and 5xx for temporary service or upstream failures. Server-side details are deliberately masked. Retry only transient 429, 502, 503, and 504 responses, using bounded exponential backoff.
Routing evidence
Completion responses can expose:
x-strix-lane— selected lane.x-strix-reasonandx-strix-reasons— routing rationale summaries.x-strix-tier— selected service tier.x-strix-client— detected client when available.x-strix-request-id— request correlation ID.x-strix-filter,x-strix-providers, andx-strix-saved-*— filtering and savings evidence when available.x-strix-tokens-spentandx-strix-tokens-balance— token accounting when available.
Treat headers as optional evidence: log only the fields you need and never log authorization headers. Capture x-strix-request-id when reporting a failed request.