---
title: "List Models"
method: GET
path: "/api/v1/models"
tags: ["Models"]
---

# List Models

`GET /api/v1/models`

Returns a paginated list of available LLM models from the built-in catalog.

## Query parameters

- `provider` string — LLM provider identifier.
- `query` string
- `page[limit]` integer
- `page[offset]` integer

## Response `200`

Paginated list of models

- PaginatedModelList — Paginated list of models.
  - `data` Model[], required
    - `id` string, required — Unique model identifier.
    - `provider` string, required — LLM provider identifier.
    - `family` string, required — Model family grouping.
    - `display_name` string, required — Human-readable model name.
    - `limits` ModelLimits, required — Token limits for a model.
      - `context_window` integer, required — Maximum context window size in tokens.
      - `max_output` integer, nullable, required — Maximum output tokens, if known.
    - `training` string, nullable, required — Training data cutoff date (YYYY-MM-DD).
    - `knowledge_cutoff` string, nullable, required — Public knowledge cutoff label, if known.
    - `features` ModelFeatures, required — Capability flags for a model.
      - `tools` boolean, required — Whether the model supports tool use.
      - `vision` boolean, required — Whether the model supports vision/image inputs.
      - `reasoning` boolean, required — Whether the model supports extended reasoning.
      - `reasoning_effort` 'levels' | 'always_adaptive' | 'none', required — Whether the model endpoint supports a native reasoning-effort parameter. `levels` accepts discrete effort levels; `always_adaptive` accepts effort levels with natively always-on adaptive thinking; `none` has no native effort parameter.
      - `prompt_cache` boolean, required — Whether the model endpoint supports prompt caching.
      - `sampling_params` boolean, required — Whether the model accepts classic sampling parameters (temperature, top_p).
    - `costs` ModelCosts, required — Pricing per million tokens in USD.
      - `input_cost_per_mtok` number, double, nullable, required — Cost per million input tokens in USD.
      - `output_cost_per_mtok` number, double, nullable, required — Cost per million output tokens in USD.
      - `cache_input_cost_per_mtok` number, double, nullable, required — Cost per million cached input tokens in USD.
    - `estimated_output_tps` number, double, nullable, required — Estimated output tokens per second.
    - `aliases` string[], required — Alternative names that resolve to this model.
    - `default` boolean, required — Whether this is the default model for its provider.
    - `small_default` boolean, required — Whether this is the provider's small/default utility model.
    - `configured` boolean, required — Whether credential material is present for this model's provider on the server (vault entry or environment variable). Does NOT imply the credential is valid or that requests will succeed; call `POST /models/{id}/test` to verify usability.
  - `meta` PaginationMeta, required — Pagination metadata included in every paginated response.
    - `has_more` boolean, required — Whether additional pages of results are available.
    - `total` integer — Total number of items matching the current filters. Optional — only populated by endpoints that compute the full count cheaply (e.g. in-memory filtering). When omitted, clients should rely on `has_more` and cursor through pages.

## Other responses

- `400` — Invalid filter value

## Changes

- **2026-07-24** `ea20de899fa9` — 1 breaking
  - removed the required property `data/items/features/cache_control_breakpoints` from the response with the `200` status
- **2026-07-24** `62058e9e2deb` — 1 info
  - added the required property `data/items/features/cache_control_breakpoints` to the response with the `200` status
- **2026-06-10** `ba53d948acd4` — 1 warning, 1 info
  - added the new `always_adaptive` enum value to the `data/items/features/reasoning_effort` response property for the response status `200`
  - added the required property `data/items/features/sampling_params` to the response with the `200` status
- **2026-05-23** `f86b728d9d17` — 1 info
  - added the optional property `meta/total` to the response with the `200` status
- **2026-05-23** `efd29bae7a2b` — 1 info
  - added the required property `data/items/small_default` to the response with the `200` status

[Change history](https://skmtc.dev/fabro-sh/apis/fabro-run-api/changes/api/v1/models/get.md)

---

[API](https://skmtc.dev/fabro-sh/apis/fabro-run-api.md) · [All operations](https://skmtc.dev/fabro-sh/apis/fabro-run-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fabro-sh/fabro-run-api/revisions/ea20de899fa9/schema)
