Model routing

Declarative rules, transparent decisions, and fallback timelines.

Configure routing rules in Dashboard → Routing. Rules match on cost, latency, token count, or act as fallbacks. Every response includes structured routing metadata.

relixr extension (non-streaming)
{
  "relixr": {
    "request_id": "req_...",
    "route": {
      "rule_id": "rule_...",
      "rule_name": "cost-optimized",
      "selected_model": "gemini-2.0-flash",
      "selected_provider": "google",
      "candidates": ["gpt-4o-mini", "gemini-2.0-flash"],
      "fallbacks_attempted": [],
      "selection_reason": "lowest_cost"
    },
    "cost": {
      "estimated_usd": 0.00042,
      "final_usd": 0.00039,
      "breakdown": {
        "provider_usd": 0.00030,
        "margin_usd": 0.00006,
        "platform_usd": 0.00003
      },
      "balance_remaining_usd": 47.23
    },
    "edge": {"colo": "NBO", "latency_ms": 12}
  }
}
Streaming headers
X-Relixr-Request-Id: req_...
X-Relixr-Estimated-Cost: 0.00042
X-Relixr-Route: {"rule_id":"rule_...","selection_reason":"lowest_cost",...}

When no rule matches, route.rule_id is "default" and selection_reason documents the fallback strategy.