- Docs
- Core Concepts
- Models & providers
Models & providers
The model field is how you choose a provider. One Open Vertex Router key reaches models from
OpenAI, Anthropic, Google and others, so adding a vendor is a string change rather than a new
integration, contract or invoice. All models in the catalog are chat models, served through
POST /v1/chat/completions.
Model ids
Section titled “Model ids”Model ids are the vendor’s own names, with no provider prefix:
| Vendor | Examples |
|---|---|
| OpenAI | gpt-4.1, gpt-4.1-mini, gpt-4.1-nano |
| Anthropic | claude-haiku-4-5, claude-opus-4-6 |
gemini-2.5-pro, gemini-2.5-flash |
|
| DeepSeek | deepseek-v4-pro, deepseek-v4-flash |
| Mistral | codestral-latest |
| Moonshot | kimi-k2.5 |
| Z.ai | glm-4.5 |
A few ids do keep a slash because that is the model’s published name, for example
openai/gpt-oss-120b and meta-llama/Llama-3.3-70B-Instruct-Turbo. Some open-weight models are
available from more than one host; the host then appears as a suffix, as in
openai/gpt-oss-120b-groq. Where a vendor publishes dated releases, both the dated id
(claude-haiku-4-5-20251001) and the undated one (claude-haiku-4-5) are available.
Whatever the form, the id to send is exactly what GET /v1/models returns. Copy it as is. An id
with a prefix the catalog does not use, such as openai/gpt-4.1-mini, is rejected with 400.
List the models your key can call
Section titled “List the models your key can call”curl https://<your-gateway>/v1/models \ -H "Authorization: Bearer $OVR_API_KEY"for model in client.models.list(): print(model.id)const models = await client.models.list();for (const model of models.data) { console.log(model.id);}The response is the OpenAI list shape; the ids are in data[].id. When a key is restricted to
some models, the list only contains those. The Models page of the
dashboard shows the full catalog. The catalog evolves as
vendors release models, so treat GET /v1/models as the current list rather than this page.
Restrict a key to some models
Section titled “Restrict a key to some models”When you create or edit a key on the API keys page, you can give it a list of allowed models.
A request for any other model is refused with 403 and a permission_error, and GET /v1/models
with that key only lists what it may call. This is a simple way to keep a service on the models
you have validated, or to keep an experiment away from the expensive ones.
Errors you may see
Section titled “Errors you may see”| Status | Cause |
|---|---|
400 |
The id is not in the catalog. The message points you to /v1/models. |
403 |
The id exists but this key is not allowed to call it. |
See Errors for the envelope and the full list.