List models
GET /v1/models returns every chat model in the standard OpenAI list shape ({"object":"list","data":[...]}) plus Hormouz extras such as pricing, context length, and capabilities. OpenAI-compatible tools (IDE assistants included) discover the catalogue through this endpoint. Image, video, and audio models are called through predictions, and the public models pages list all of them.
/v1/modelsBearer authList available models
Returns the model catalogue in the OpenAI-standard list shape
({"object":"list","data":[…]}), so OpenAI-compatible clients and IDE
tools (Cursor, VSCode Copilot, Zed) can discover models.
The response is unpaginated: clients fetch the list once.
Every model callable through an OpenAI-standard endpoint is listed, and
each entry carries an api_shape telling you which endpoint that is:
api_shape | Endpoint |
|---|---|
chat_completions | POST /v1/chat/completions |
embeddings | POST /v1/embeddings |
speech | POST /v1/audio/speech |
transcriptions | POST /v1/audio/transcriptions |
Chat models are listed first, so a model picker that renders this list in order opens on them.
Image and video models are not listed: they are served by
POST /v1/predictions, which is not an OpenAI-standard endpoint, so no
OpenAI-compatible client can call them. Browse those on the models page
of your Hormouz dashboard.
Parameters
| Field | in | Type | Description |
|---|---|---|---|
api_shape | query | string | Return only models of one shape. Omit to get everything. Useful when a client validates a configured model against this
list. For example, an embeddings integration can request
An unrecognised value is a |
Example
Responses
200OpenAI-standard list of models.
400The api_shape value is not one of the four listed shapes.
401Authentication failed. Either the Authorization header is missing,
the key format is invalid, or the key doesn't match any active account.
{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required",
"status": 401
}
}429Too many requests. Back off and retry after a short delay.
Check the Retry-After header for guidance.