Models
GET /v1/models — list the models connected providers are serving right now.An OpenAI-shaped
/v1/models. It returns the models that have at least one routable provider right now, so the list changes as Macs come online and go offline.
Authentication required. Unauthenticated calls return 401 missing_bearer_token.
Endpoint
Response
This is a live response from 23 Sep 2026, trimmed, after the 17-model signed catalog went live. Call the endpoint for the current set.
Model identity is provider-reported. Hash matching is a check against the catalog. It is not hardware attestation, and it cannot detect a provider that falsifies its own hash measurement. See Security & trust model.
From Python
Availability
A model appears when at least one routable provider is serving it. If no routable provider is left, the model drops off the list. Requests for a model no provider advertises return404 model_not_found. Requests for a listed model whose slots are all busy wait briefly for a free slot, then return 503 no_provider_available.
For the same availability without a key, use the public routability snapshot (GET /v1/stats/models).
Listed now vs catalog
/v1/models shows only what is routable right now: models with at least one routable provider. Both warm models in the response above are covered by the live 17-model signed catalog (catalogued: true). For priced rows and the signed catalog, including models no provider has loaded, see Operations → Model catalog.
A public, OpenRouter-format listing of every priced catalog row is at GET https://api.malibu.tech/v1/openrouter/models (no key needed). A row there does not mean a provider is serving it.
Rate card
Per-model pricing, public:prompt_rate_per_mtok, completion_rate_per_mtok, and prompt_cache_hit_rate_per_mtok in credits per million tokens. usd_per_million_credits (currently 1.0) converts credits to USD. Rate-card keys are normalized slugs, not serve IDs: mlx-community/Llama-3.2-3B-Instruct-4bit bills against the meta-llama/llama-3.2-3b-instruct row. A model with no matching row falls back to the default row. The detached signature is at GET /v1/rate-card.sig. Dated comparison: Pricing comparison.