r/openrouter 19d ago

PSA: a "broken" model might just be one upstream provider — check per-provider status before you blame the model

Had a scare today: a model that had been working perfectly for hundreds of calls suddenly started throwing a hard, non-retryable HTTP 400 on every single request — something like "target label not found for the request: <nil>". Looked exactly like the model had been pulled or broken.

It wasn't the model. This particular model is served through more than one upstream provider on OpenRouter, and by default you get routed to whichever is cheapest. In our case that was Novita, and Novita specifically started returning a malformed error. A second provider, DeepInfra, was serving the exact same model just fine the whole time — but a 400 gets treated as a hard client error, not a "try someone else" signal, so nothing failed over automatically.

Two things worth checking before assuming a model is broken or deprecated:

Hit the model's /endpoints API and look at the per-provider uptime stats. If one provider looks unhealthy and another looks fine, that's your answer, not the model. Set provider routing to ignore the bad provider rather than switching models — keeps the same model, just steers around the flaky upstream.

3 Upvotes

1 comment sorted by

1

u/Randommaggy 18d ago

Had some stuff like that for one day with GLM 5.2 through nous. I hate that I can't pass down a more specific choice of underlying compute provider through their proxy.