---
title: "List currently routable models"
method: GET
path: "/v1/models"
---

# List currently routable models

`GET /v1/models`

Returns the slice of the model catalog that is currently routable. The Router is generally available: every organization may route to any catalog model, so the listing is shaped by routability, not by per-organization enrollment. The catalog digest identifies the release-pinned catalog that produced the listing so support can correlate a caller's view with an exact release. The listing is advisory: admission remains the enforcement point for access gates and credit. Optional language, objective, and path parameters select the exact benchmark projection used to order and annotate the rows.

## Query parameters

- `language` string
- `objective` 'quality' | 'balanced' | 'latency' | 'cost'
- `path` 'stream' | 'streaming' | 'batch'

## Response `200`

The caller's slice of the catalog.

- ModelsResponse — The GET /v1/models body: the currently routable slice of the catalog. catalog_digest identifies the release-pinned catalog that produced the listing.
  - `models` Model[], required — unresolved $ref
  - `catalog_digest` string, required
  - `benchmark` BenchmarkMetadata, required — Identifies the exact public benchmark projection used to order the listing. digest pins the source bytes used by the Router.
    - `schema` integer, required
    - `source` string, uri, required
    - `digest` string, required
    - `language` string, required
    - `objective` 'quality' | 'balanced' | 'latency' | 'cost', required
    - `path` 'stream' | 'batch'

## Other responses

- `429` — The request exceeded an edge request quota, an organization concurrency limit, or a provider rate limit. The body identifies the stable failure class; Retry-After gives the minimum safe delay.
- `default` — Normalized failure. Every non-2xx response carries this envelope; the Router never forwards a raw provider response body.

## Changes

- **2026-08-30** `890238de6e30` — 2 info
  - added the required property `models/items/capabilities/character_timings` to the response with the `200` status
  - added the required property `models/items/capabilities/word_timings` to the response with the `200` status
- **2026-08-28** `0af41c16c681` — 1 warning, 1 info
  - removed the optional property `models/items/output_audio_formats` from the response with the `200` status
  - removed the `s2s` enum value from the `models/items/kind` response property for the response status `200`
- **2026-08-28** `64464206b256` — 1 warning, 1 info
  - added the new `s2s` enum value to the `models/items/kind` response property for the response status `200`
  - added the optional property `models/items/output_audio_formats` to the response with the `200` status
- **2026-08-24** `9774b21e73da` — 2 breaking, 1 warning, 7 info
  - removed the required property `data` from the response with the `200` status
  - removed the required property `object` from the response with the `200` status
  - removed the optional property `languages` from the response with the `200` status
  - added the new optional `query` request parameter `language`
  - …6 more
- **2026-08-08** `278edfaef74c` — 1 warning, 1 info
  - added the new `Elo` enum value to the `data/items/qualityUnit` response property for the response status `200`
  - removed the `MOS` enum value from the `data/items/qualityUnit` response property for the response status `200`

[Full history](https://skmtc.dev/speko/apis/speko-voice-router-api/changes/v1/models/get.md)

---

[API](https://skmtc.dev/speko/apis/speko-voice-router-api.md) · [All operations](https://skmtc.dev/speko/apis/speko-voice-router-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/speko/speko-voice-router-api/revisions/890238de6e30/schema)
