openai models list, etc.) treat the whole list uniformly.
Request
Response
OpenAI-shapelist object:
The three groups
- Aliases from the VK’s
model_aliasesmap, e.g.clauderesolves toanthropic/claude-haiku-4-5-20251001,gpt-4oroutes to the VK’s Azure deployment.owned_byreflects the resolved provider so UIs can render “gpt-4o (Azure)” correctly. models_allowedentries shown verbatim, including globs likeclaude-haiku-*. Clients that support pattern matching (most) pass these through; simpler pickers render them for the human to edit.- Provider-type shortcuts: one entry per provider bound on the VK (
openai/*,anthropic/*,bedrock/*,azure/*,vertex/*,gemini/*). Tools like Cursor that let the user type the exact model id can pick a concrete model under the shortcut (e.g.openai/gpt-5-mini) without waiting for the alias table to be updated. See Model Aliases → Aliases always win over explicit form for how theprovider/modelform interacts with aliases.
The list is deliberately permissive, it covers everything the VK could plausibly route, not a strict enumeration.
models_allowed globs and provider shortcuts may not expand to real upstream models until you send a real request. The gateway’s per-request model resolution remains the source of truth for “will this actually route?”Permissions
Only requires a valid VK; no extra permission. The returned list is scoped to what the VK can actually dispatch, engineers don’t needvirtualKeys:view to call this.
Use cases
- Model pickers in UIs that speak the OpenAI API, they call
/v1/modelsand render the list. - Pre-flight check in CI: assert the CI’s VK has access to the models your tests depend on.
- Debugging aliases: see what each VK exposes by hitting this with its token.
- CLI probes: coding tools like Codex and Cursor call
/v1/modelson startup to auto-configure completion and model picking. The provider shortcuts (openai/*,anthropic/*) mean the user can typeopenai/gpt-5-minidirectly in the picker without first adding an alias server-side. See Coding CLI integrations.
Errors
401 invalid_api_key, unknown or malformed VK.403 virtual_key_revoked, VK revoked.