List Models
Last updated October 29, 2026
Returns the currently callable models in OpenAI's response shape, with practical extension fields.
Returns the currently callable models in OpenAI's response shape. The OpenAI SDK's model-listing call can target this endpoint directly.
https://gateway.routerone.ai/v1/modelsAuthorization
headerAuthorizationstringRequiredBearer <your RouterOne key> A RouterOne key created in the console. If you lose it, you can view it again on the keys page.
Response
200responseThe currently callable models — narrowed to what the key can call when one is sent. Alongside OpenAI's standard fields, every entry carries RouterOne extensions such as display_name, aliases, pricing, and providers.
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, and each model's providers[] lists only the ones it can reach, with pricing recomputed over what is left. 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.
Model names
id is the bare name, that is, the model name without the vendor prefix, such as claude-opus-5; for models without a bare name, it is the canonical ID. Relay services that sync this list can merge it with same-named models from other upstreams without model mapping.
The canonical ID, such as anthropic/claude-opus-5, is also accepted and is provided in canonical_id and aliases. The model field in responses always returns the canonical ID.
Extra fields
Beyond the standard fields, each entry also includes the following extensions. They are not part of the official OpenAI protocol; SDKs usually ignore them, but they are available over direct HTTP calls.
| Field | Meaning |
|---|---|
display_name | Display name |
context_length | Context window, in tokens |
max_output | Maximum output tokens per call |
input_modalities / output_modalities | Supported input and output modalities |
capabilities | Capability flags (reasoning, vision, tools, structured output, and so on) |
canonical_id | The canonical ID (vendor/model) |
aliases | Other names accepted for this model besides id, including the canonical ID |
pricing | Unit price per billing component, each with its own unit and currency |
providers | The providers offering this model, each with its own pricing and supported parameters |
pricing is the discounted starting price, so during a promotion it is the promotional price. The actual charge depends on the provider selected for the request, so check that provider's quote in providers[]. Each entry carries its own unit: per_request is priced per call and input_text per token — six orders of magnitude apart, so check the unit before converting.
Some components include a freeQuantity field: the quantity that is not charged on each request. For example, when the reference-image component has freeQuantity set to 5, the first 5 reference images in each request are free and any beyond that are charged at the component's unit price. Components without a free allowance omit the field.
Three response shapes on one path
/v1/models is shared by all three compatible protocols. The response shape depends on the auth header used for the request:
| Header you send | Response shape |
|---|---|
Authorization: Bearer | OpenAI (this page) |
x-api-key and anthropic-version | Anthropic |
x-goog-api-key or ?key= | Gemini |
Gemini also has its own URL, /v1beta/models — see List models (Gemini).
The official SDKs already send the appropriate auth headers, so most clients require no extra handling here.
curl https://gateway.routerone.ai/v1/models \
-H "Authorization: Bearer $ROUTERONE_API_KEY"{
"object": "list",
"data": [
{
"id": "claude-opus-5",
"canonical_id": "anthropic/claude-opus-5",
"object": "model",
"created": 1786000000,
"owned_by": "anthropic",
"display_name": "Claude Opus 5",
"context_length": 200000,
"max_output": 64000,
"input_modalities": [
"text"
],
"output_modalities": [
"text"
],
"capabilities": {},
"aliases": [
"<string>"
],
"pricing": {},
"providers": [
{}
]
}
]
}