List Models
Last updated August 26, 2026
Returns the currently callable models in Anthropic's response shape, with practical extension fields.
Returns the currently callable models in Anthropic's response shape. The Anthropic SDK's model-listing call can target this endpoint directly.
https://gateway.amux.ai/v1/modelsAuthorization
headerAuthorizationstringRequiredThe Amux key created in the console. This is the header the Anthropic SDKs send natively; Authorization: Bearer is also accepted, but returns the OpenAI shape.
anthropic-versionstringRequiredDefault "2023-06-01"Anthropic's API version header. Required — with only x-api-key the response comes back in the OpenAI shape, because some OpenAI-compatible clients use that header name for their key too.
Response
200responseAll currently callable models. has_more is always false — models are returned in full.
401responseThe key is missing or invalid.
What a key changes
This endpoint does not require authentication — hitting it right after you change base_url is the first step of any integration.
When you send a valid API key, you get back the models that key can actually call: its model allowlist, source scope and pinned providers all apply here. Prices also reflect your account's discounts.
An invalid, expired or disabled key is never an error — it is treated as unauthenticated and you get the full list. So this endpoint is not an access check; the real decision happens when you make the call.
The same URL as the OpenAI shape
/v1/models is shared by all three protocols, and the auth header decides which shape comes back:
| Header you send | Response shape |
|---|---|
x-api-key and anthropic-version | Anthropic (this page) |
Authorization: Bearer | OpenAI |
x-goog-api-key or ?key= | Gemini |
Both headers must be present: with only x-api-key the response comes back in the OpenAI shape, because some OpenAI-compatible clients use that header name for their key too. The official SDKs send both, so with an SDK there is nothing extra to do.
Gemini also has its own URL, /v1beta/models.
Field differences from the OpenAI shape
| OpenAI | Anthropic | |
|---|---|---|
| Top level | object: "list" + data | data + the three cursor-pagination fields |
| Type field per entry | object | type |
| Timestamps | created, Unix seconds | created_at, an RFC 3339 string |
| Context window | context_length | max_input_tokens |
| Max output per call | max_output | max_tokens |
| Capabilities | flat booleans | nested { supported: boolean } |
capabilities carries thinking, image_input, and structured_outputs. Those are the three keys Anthropic defines; for a model's remaining capabilities, see capabilities on the OpenAI-shape page.
Extra fields
aliases, pricing, and providers are not official Anthropic fields. Anthropic SDKs ignore them; over plain HTTP you can read them as extra metadata.
aliases: other names that reach the same model.pricing: the discounted starting price per billing component, each with its own unit and currency.providers: each provider's own pricing and supported parameters. The actual charge depends on the provider selected for the request.
Errors
Errors come back in Anthropic's error shape. See Errors and retries.
curl https://gateway.amux.ai/v1/models \
-H "x-api-key: $AMUX_API_KEY" \
-H "anthropic-version: 2023-06-01"{
"data": [
{
"id": "anthropic/claude-opus-5",
"type": "model",
"display_name": "Claude Opus 5",
"created_at": "2026-01-01T00:00:00.000Z",
"max_input_tokens": 200000,
"max_tokens": 64000,
"capabilities": {},
"aliases": [
"<string>"
],
"pricing": {},
"providers": [
{}
]
}
],
"first_id": "anthropic/claude-opus-5",
"last_id": "openai/gpt-5.6",
"has_more": false
}