API reference
List models
GET /v1/models
Returns the catalog of models currently exposed by the ezrouter gateway. The same catalog applies to every API key — there is no per-key allowlist (see Behavior notes below).
Request
GET /v1/models
Authorization: Bearer ${API_KEY}No request body. No query parameters.
Response
200 OK — a JSON object listing the available models.
Response schema
| Field | Type | Notes |
|---|---|---|
object | string | Always "list". |
data | object[] | One entry per model. |
success | boolean | Always true on a 200 response. ezrouter-specific extension; not present in the OpenAI specification. |
Each model
| Field | Type | Notes |
|---|---|---|
id | string | Model identifier, as accepted by POST /v1/chat/completions. |
object | string | Always "model". |
created | integer | Unix timestamp. Treat as a placeholder, not a real release date — ezrouter populates this with a constant value (1626777600, 2021-07-20) across the entire catalog. |
owned_by | string | Internal account label for the upstream provider, e.g. "vertex-ai", "custom". |
supported_endpoint_types | string[] | ezrouter-specific extension. Lists the surface(s) accepting this model, e.g. ["openai"], ["anthropic", "openai"], ["gemini", "openai"]. |
Example
curl -sS https://www.ezrouter.dev/v1/models \
-H "Authorization: Bearer ${API_KEY}"Response (abbreviated):
{
"object": "list",
"success": true,
"data": [
{
"id": "claude-sonnet-4-6",
"object": "model",
"created": 1626777600,
"owned_by": "vertex-ai",
"supported_endpoint_types": ["anthropic", "openai"]
},
{
"id": "deepseek-v4-flash",
"object": "model",
"created": 1626777600,
"owned_by": "custom",
"supported_endpoint_types": ["openai"]
}
]
}Behavior notes
- Gateway-global catalog, not key-scoped. Every API key sees the
same list at any given instant. There is no per-key allowlist or tier-based catalog filter.
- Catalog drifts across gateway deploys. Re-query rather than
caching the response for long periods. The x-new-api-version response header on every API call indicates the current gateway build; a change there is a signal that the catalog may have shifted.
- Some upstream models have multiple identifiers. For example,
the catalog may return claude-haiku-4-5-20251001 (dated snapshot form) while accepting claude-haiku-4-5 (alias) on chat-completion requests. Both forms are valid as the model parameter.
Differences from OpenAI
| Field | OpenAI | ezrouter |
|---|---|---|
Top-level success | not present | always true on 200 |
created per model | real release timestamp | constant placeholder (see schema) |
supported_endpoint_types per model | not present | added — see schema |
| Auth required | yes | yes |
| Catalog scope | global (one organization sees one catalog) | gateway-global; same for all keys |