The Model Catalog Now Includes OpenRouter's Live Lineup
GET /v1/models now merges OpenRouter's live, constantly-updated model list into the AI Gateway's public catalog instead of a fixed snapshot.
The AI Gateway's model catalog — the list every app and API caller reads to know what's available — used to show a curated snapshot of roughly 30 OpenRouter models, hand-maintained in the gateway's own registry. If OpenRouter added a model or changed one's specs, the catalog didn't know until someone updated that list by hand. Worse, that snapshot was hidden entirely from anyone without an active BYOK (bring-your-own-key) connection, even though nothing about viewing the catalog should have required one.
Both of those are fixed now.
What changed
GET /v1/models fetches OpenRouter's own public model list at request time, caches it for an hour, and merges it into the response — so the catalog reflects what OpenRouter is actually serving, not a point-in-time copy. If a model's pricing or context window changes upstream, the gateway's catalog picks it up within the hour instead of waiting on a manual update. If OpenRouter's endpoint is unreachable when the cache expires, the gateway falls back to the curated list rather than serving nothing.
We also dropped the BYOK gate from the catalog listing itself. Browsing what models exist is not the same as being able to call one — you still need a provider key (or an OpenRouter BYOK connection) to actually send a request, and that check is unchanged on the completion path. But you no longer need one just to see what's there.
Why this matters
If you're choosing a model for a new integration, or just curious what's supported, /v1/models (and the catalog view in the Gateway Portal) is a more honest source of truth today than it was last week — closer to real-time, and visible to anyone, not just connected accounts.
What's still curated
Entries already defined directly in the gateway's own registry take priority when an id collides with something OpenRouter reports — so a model piskes.com supports natively won't be silently overwritten by an OpenRouter copy of the same id.