Routing that you cannot inspect is routing you have to trust. Every Routor response carries the full decision in its headers, on every request, with nothing to enable.
X-Routor-Savings is measured against Claude Opus 5 at its published rate, $5 per million input tokens and $25 per million output tokens, not against whichever model you would otherwise have used. If you want the saving against a specific model, compute it from that model’s published rate and the token counts in the response body.
Reading them in a browser
All twelve headers are listed in the API’s CORS exposedHeaders, so front end code can read them cross origin. Custom headers are invisible to JavaScript unless a server opts in this way, which most APIs never do.
Header names are case insensitive, and fetch lowercases them.
Two details worth knowing
Headers arrive before the body, including when streaming. The routing decision is made before the first token is requested, so a streaming client can display the model name immediately rather than waiting for the stream to finish.
X-Routor-Reasoning is stripped to printable ASCII. The reasoning string is built with arrow glyphs for terminal logs, and HTTP header values cannot carry them. Expect spaces where a non-ASCII character was.
Deciding without spending
To see a routing decision without calling a model or being billed, send the prompt to the debug endpoint. It runs the real pipeline and returns the whole decision as JSON.
See Routing Debug for the full response shape.