Why read the catalog
The Models page is a snapshot of the catalog at the time it was generated. The endpoint is the catalog. Models are added, retired and repriced without an API version bump (Reliability), so anything that picks a model at runtime — a router, a model-picker UI, a capability check before sending an image — should read it here rather than ship a copy. This endpoint is unauthenticated and cacheable (cache-control: public, max-age=300).
Every SDK calls it at client-init; it costs you nothing and draws no usage.
List
Response (OpenAI shape)
Fields
Providers and upstream deployment names are never in the response. One row is one
logical model; which backend serves it is an implementation detail that can change
mid-flight, which is exactly what makes continuity possible.
Anthropic shape
Send ananthropic-version header — as every Anthropic SDK does — and the same endpoint
answers in Anthropic’s list envelope instead, so client.models.list() type-checks:
Retrieve one
lx1- prefix — so
lx1-gpt-oss-120b, gpt-oss-120b and any published alias all resolve. Returns the same
entry shape as the list (or the Anthropic per-item shape with anthropic-version set).
404:
Retrieve is a validity check, so it is deliberately stricter than the chat endpoints:
the foreign-name compatibility handles that let
gpt-4o work in a chat request are not
resolved here. If you need to know what a foreign id maps to, send it to a chat endpoint
and read the model back off the response.