Routing Trace
Every response includes an X-Tangle-Routing-Trace header showing the routing path - which providers were tried, whether they succeeded, and how long each took.
Header format
X-Tangle-Routing-Trace: openai/gpt-4o[operator(err:5001ms) -> openai(200:340ms)]Format: model[provider(status:latency) -> provider(status:latency)]
Multiple models (from fallbacks):
X-Tangle-Routing-Trace: openai/gpt-4o[openai(500:2100ms)], anthropic/claude-sonnet-4-6[anthropic(200:1847ms)]Sanitization
Tangle redacts the trace header before returning it:
- Operator names are shown as generic
operator(slugs not exposed) - Error messages are not included (only status codes)
- Internal URLs and hostnames are never leaked
For the full unredacted trace including error messages, use the generation lookup API - the routing_trace field in the response contains the complete history.
Disabling
Set ENABLE_ROUTING_TRACE=false to omit the header from all responses. See Feature Flags.