> ## Documentation Index
> Fetch the complete documentation index at: https://docs.routeway.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Available Models

> Browse, filter, and query the full catalog of models available through the Routeway API.

Routeway provides access to 200+ models from leading providers — OpenAI, Anthropic, Google, Meta, DeepSeek, MoonshotAI, and more — through a single unified endpoint.

<CardGroup cols={2}>
  <Card title="Models Catalog" icon="table" href="https://routeway.ai/models">
    Browse all models with live pricing, context lengths, and capability filters.
  </Card>

  <Card title="GET /v1/models" icon="code" href="/api-reference/ChatCompletions/completions">
    Fetch the full model list programmatically with pricing and metadata.
  </Card>
</CardGroup>

***

## Model Tiers

<Tabs>
  <Tab title="Free models">
    Free models are identified by a `:free` suffix in their ID (e.g. `deepseek-r1:free`).

    |                |                                              |
    | :------------- | :------------------------------------------- |
    | **Cost**       | \$0.00 — all tokens are free                 |
    | **Rate limit** | 20 requests / minute · 200 requests / day    |
    | **Best for**   | Development, testing, low-volume prototyping |

    Exceeding the rate limit returns a `429`. See [Rate Limits](/getting-started/rate-limits).
  </Tab>

  <Tab title="Pay-As-You-Go models">
    All model IDs without a `:free` suffix are PAYG models.

    |                |                                                   |
    | :------------- | :------------------------------------------------ |
    | **Cost**       | Per-token, billed per 1M tokens (varies by model) |
    | **Rate limit** | No API-level limit; edge security limits apply    |
    | **Best for**   | Production workloads at any scale                 |

    See [How Billing Works](/getting-started/billing) for pricing details and cost examples.
  </Tab>
</Tabs>

***

## Listing Models Programmatically

Fetch the live catalog — including pricing, capabilities, and availability — with a single request:

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.routeway.ai/v1/models
  ```

  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      base_url="https://api.routeway.ai/v1",
      api_key=os.getenv("ROUTEWAY_API_KEY")
  )

  models = client.models.list()
  for model in models.data:
      print(model.id)
  ```

  ```javascript Node.js theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    baseURL: "https://api.routeway.ai/v1",
    apiKey: process.env.ROUTEWAY_API_KEY,
  });

  const models = await client.models.list();
  models.data.forEach((model) => console.log(model.id));
  ```
</CodeGroup>

### Response shape

```json theme={null}
{
  "object": "list",
  "data": [
    {
      "id": "kimi-k2.7-code",
      "name": "MoonshotAI: Kimi K2.7 Code",
      "short_name": "Kimi K2.7 Code",
      "description": "Kimi K2.7 Code is Moonshot AI's coding-focused agentic model...",
      "context_length": 262144,
      "created": 1781222400,
      "owned_by": "moonshot-ai",
      "available": true,
      "endpoints": ["/v1/chat/completions", "/v1/responses", "/v1/messages"],
      "pricing": {
        "input":  { "unit": "1M tokens", "price_per_million_t": 0.95 },
        "output": { "unit": "1M tokens", "price_per_million_t": 4.0 },
        "caching": {
          "read": { "unit": "1M tokens", "price_per_million_t": 0.2 }
        }
      },
      "capabilities": {
        "vision": true,
        "function_call": true,
        "reasoning": true
      },
      "supported_parameters": ["temperature", "top_p", "tools", "tool_choice", "..."],
      "benchmarks": {
        "gpqa": 0.866,
        "lcr": 0.733,
        "tau2": 0.942
      }
    }
  ]
}
```

***

## Model Schema

### Core fields

| Field            | Type       | Description                                                                             |
| :--------------- | :--------- | :-------------------------------------------------------------------------------------- |
| `id`             | `string`   | The model ID to use in API requests (e.g. `"kimi-k2.7-code"`).                          |
| `name`           | `string`   | Full display name including provider (e.g. `"MoonshotAI: Kimi K2.7 Code"`).             |
| `short_name`     | `string`   | Abbreviated name without the provider prefix.                                           |
| `description`    | `string`   | Description of the model's capabilities and intended use.                               |
| `context_length` | `integer`  | Maximum context window in tokens.                                                       |
| `created`        | `integer`  | Unix timestamp of when the model became available on Routeway.                          |
| `owned_by`       | `string`   | Originating provider (e.g. `"openai"`, `"anthropic"`, `"moonshot-ai"`).                 |
| `available`      | `boolean`  | `true` if the model is currently routable. `false` means it is temporarily unavailable. |
| `endpoints`      | `string[]` | API paths this model can be called on (see [Endpoints](#endpoints) below).              |

### Pricing fields

| Field                      | Type     | Description                                                          |
| :------------------------- | :------- | :------------------------------------------------------------------- |
| `pricing.input`            | `object` | Rate for standard input tokens (prompt + context).                   |
| `pricing.output`           | `object` | Rate for generated output tokens.                                    |
| `pricing.caching`          | `object` | Present only on models that support prompt caching.                  |
| `pricing.caching.read`     | `object` | Rate for tokens served from cache (always cheaper than fresh input). |
| `pricing.caching.write.5m` | `object` | Rate to write a prompt into cache with a 5-minute TTL.               |
| `pricing.caching.write.1h` | `object` | Rate to write a prompt into cache with a 1-hour TTL.                 |

All rates use `price_per_million_t` (USD per 1M tokens). See [How Billing Works](/getting-started/billing#prompt-caching) for caching cost examples.

### Capabilities

| Field                        | Type       | Description                                                                                                                                                                                     |
| :--------------------------- | :--------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `capabilities.vision`        | `boolean`  | Accepts image inputs.                                                                                                                                                                           |
| `capabilities.function_call` | `boolean`  | Supports tool / function calling.                                                                                                                                                               |
| `capabilities.reasoning`     | `boolean`  | Exposes a chain-of-thought reasoning mode (e.g. via `reasoning_effort`).                                                                                                                        |
| `capabilities.service_tiers` | `string[]` | Processing tiers the model supports: `default`, `flex`, and/or `priority`. Currently available on select OpenAI and Gemini models. See [Service Tiers](/guides/chat-completions/service-tiers). |

### Service tier pricing

Present only on models that support service tiers. Multipliers are applied to the standard `pricing.input` and `pricing.output` rates.

| Field                                     | Type     | Description                                                               |
| :---------------------------------------- | :------- | :------------------------------------------------------------------------ |
| `service_tiers.flex.price_multiplier`     | `number` | Cost multiplier for flex processing (e.g. `0.5` = 50% discount).          |
| `service_tiers.priority.price_multiplier` | `number` | Cost multiplier for priority processing (e.g. `2.0` = 2× standard price). |

***

### Benchmarks

Common benchmark scores included where available. Fields are `null` when a score has not been published.

| Field                                    | What it measures                                   |
| :--------------------------------------- | :------------------------------------------------- |
| `gpqa`                                   | Graduate-level science reasoning (GPQA Diamond)    |
| `hle`                                    | Humanity's Last Exam                               |
| `lcr`                                    | LiveCodeBench — competitive coding                 |
| `tau2`                                   | Tool-use & agent task completion (TAU2)            |
| `ifbench`                                | Instruction following                              |
| `terminalbench_hard`                     | Terminal / shell task completion                   |
| `scicode`                                | Scientific coding                                  |
| `artificial_analysis_intelligence_index` | Composite intelligence score (Artificial Analysis) |
| `artificial_analysis_coding_index`       | Coding-specific composite (Artificial Analysis)    |

***

## Endpoints

Each model advertises which API paths it supports in the `endpoints` array. Not all models are available on every path.

| Endpoint                 | Compatible with                          | Used for                                  |
| :----------------------- | :--------------------------------------- | :---------------------------------------- |
| `/v1/chat/completions`   | OpenAI SDK, any OpenAI-compatible client | Text generation (broadest model coverage) |
| `/v1/responses`          | OpenAI Responses API                     | Text generation                           |
| `/v1/messages`           | Anthropic SDK                            | Text generation                           |
| `/v1/images/generations` | OpenAI SDK (`images.generate`)           | Image generation from a text prompt       |
| `/v1/images/edits`       | OpenAI SDK (`images.edit`)               | Image editing with a mask and prompt      |

<Tip>
  Use `/v1/chat/completions` as your default for text models. It has the broadest model coverage and is compatible with any OpenAI-compatible library. Image models are only available on their respective `/v1/images/*` paths.
</Tip>

***

## Filtering by Capability

You can filter the response client-side to find models that match your requirements:

```python theme={null}
import requests

data = requests.get("https://api.routeway.ai/v1/models").json()

vision_models = [
    m
    for m in data["data"]
    if m.get("available") and m.get("capabilities", {}).get("vision")
]

for m in vision_models:
    print(m["id"], "— input $", m["pricing"]["input"]["price_per_million_t"], "/ 1M")

```
