The failures that pass every health check
Five modes across two axes. The severe ones return HTTP 200 and corrupt state.
Case studyBehind the scenes
What your user sees
Every model call you make runs through providers you do not control. Metriqual holds the keys, picks the model, replays the request when one stops answering, and prices every call against the key that made it.

When a provider stops answering, the request is replayed against the next one in the chain with its history intact.
The same key reaches all of them.
Logged against the key that made the call, priced by model.
Change the base URL and the key. The rest of your call stays where it is.
https://api.openai.com/v1
https://api.metriqual.com/v1/chat/completions
-H "Authorization: Bearer mql_your_key"
Metriqual holds the provider keys. Your code never sees them, and never changes when the routing does.
Failovers, recoveries and request logs go where your team already watches.
Run all four in the playground against the live agent before anything ships: compare models, watch per-stage latency, keep the result. Failover covers every one of them.
You paste this. Two lines, whichever you write in.
https://api.metriqual.com/v1/chat/completions
-H "Authorization: Bearer mql_your_key"
baseURL: "https://api.metriqual.com/v1"
apiKey: process.env.METRIQUAL_API_KEY
base_url="https://api.metriqual.com/v1"
api_key=os.environ["METRIQUAL_API_KEY"]
One request, end to end: your app, the routing decision, the provider that answers, and the user waiting on it.
The same SDK call you write today, pointed at one base URL and one key. Nothing else in the call changes.
We hold the provider keys and pick the model by the rules you set, so your code never carries a provider name.
If a provider stops answering, the request is replayed against the next in the chain, carrying its conversation history.
It comes back priced: model, key and spend attached to the request, and a key cannot spend past the ceiling you set.
744 of 750 events preserved on reroute. A stateless gateway preserved none of them.
Five modes across two axes. The severe ones return HTTP 200 and corrupt state.
What the gateway does, what changes in your code, and what happens when a provider goes down.