---
title: "List a tool's models"
method: GET
path: "/tools/{tool_key}/models"
tags: ["Tools"]
---

# List a tool's models

`GET /tools/{tool_key}/models`

## Request

- Base URL: `https://api.varg.ai/v2`
- URL: `https://api.varg.ai/v2/tools/{tool_key}/models`
- Auth: one of:
  - none
  - HTTP bearer

The models of one tool, paginated by canonical model. Same route and
pricing data as `GET /models`, plus a real generation `example` and the
explicit per-model `input_schema` (JSON Schema). Auth is optional;
`pipeline` models are visible only to callers granted access.

## Path parameters

- `tool_key` string, required

## Query parameters

- `page` integer
- `limit` integer

## Response `200`

A page of models

- ToolModelsResponse
  - `version` string, nullable, required
  - `page` integer, required
  - `limit` integer, required
  - `total` integer, required: Total models for the tool.
  - `data` ToolModelEntry[], required
    - `model` string, required: Canonical model name; pass as `model` for auto-routing.
    - `tool` string, required
    - `display_name` string, nullable, required
    - `description` string, nullable, required
    - `routes` ModelRoute[], required
      - `model_key` string, required: Exact route address; pass as `model` to pin this route.
      - `provider` string, required
      - `modality` string[], nullable, required
      - `output_type` string, nullable, required
      - `description` string, nullable, required
      - `priority` integer, required: Auto-routing order; lower is preferred.
      - `accepts_files` boolean, required: Whether the route maps the unified `files` input.
      - `pricing` object, required
        - `pricing_id` string, nullable, required
        - `rule` object, nullable, required: Pricing rule (shape varies by `type`).
        - `user_price_estimate_cents` number, nullable, required: Worst-case price in cents.
        - `min_user_price_cents` number, nullable, required: Cheapest case price in cents, null when the rule has no minimum.
      - `ops` object, required
        - `delivery` string, nullable, required
        - `poll_interval_ms` integer, nullable, required
        - `estimated_duration_ms` integer, nullable, required
        - `max_timeout_ms` integer, nullable, required
      - `schema_url` string, required: Path (relative to the API origin) of the input schema for this route.
    - `example` object, nullable, required: A real generation sample (`input` and `output`) from the priority route.
    - `input_schema` object, nullable, required: JSON Schema for the model's request body.

## Other responses

- `404`: Unknown tool

## Changes

- **2026-10-20** `43bcf5ea398d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/varg/apis/varg-api/changes/tools/:tool_key/models/get.md)

---

[API](https://skmtc.dev/varg/apis/varg-api.md) · [All operations](https://skmtc.dev/varg/apis/varg-api/llms.txt) · [OpenAPI document](https://skmtc.dev/varg/apis/varg-api/revisions/09d49a6d852f?raw)
