---
title: "List selectable models plus per-role runtime model defaults"
method: GET
path: "/v1/model-router/catalog"
tags: ["model-router"]
---

# List selectable models plus per-role runtime model defaults

`GET /v1/model-router/catalog`

Selectable models + the code-default model each runtime role falls back to.

The role defaults mirror the runtime constants (single-sourced via
``src.runtime.model_defaults.ROLE_DEFAULTS``, which imports the SAME constants
the runtime applies) so the UI can show what's actually used — model + effort +
max_tokens + temperature + thinking budget — when an entity leaves a setting
unset. Imported lazily inside the handler: ``model_router`` deliberately never
imports ``src.runtime`` at module scope (the runtime imports
``model_router.service`` — a top-level import here risks a cycle).

## Response `200`

Successful Response

- ModelCatalogResponse — Selectable models plus the per-role code defaults the runtime falls back to.
  - `models` AvailableModel[], required
    - `model_identifier` string, required
    - `provider` string, required
    - `supports_streaming` boolean, required
    - `supports_tools` boolean
    - `supports_vision` boolean
    - `max_context_window` integer, required
    - `regions` string[]
    - `family` string
    - `supports_json_schema` boolean
    - `supports_reasoning_effort` boolean
    - `supports_temperature` boolean
    - `supports_thinking` boolean
    - `supports_audio` boolean
    - `compliance_tags` string[]
    - `input_price_per_1m` number, required
    - `output_price_per_1m` number, required
  - `role_defaults` RoleModelDefault[], required
    - `role` string, required
    - `model` string, required
    - `reasoning_effort` string, nullable
    - `max_tokens` integer, nullable
    - `temperature` number, nullable
    - `thinking_budget` integer, nullable

## Other responses

- `400` — Bad request
- `401` — Authentication required

---

[API](https://skmtc.net/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.net/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/versions/888bdd5c076e/schema)
