---
title: "List available models"
method: GET
path: "/v1/models"
tags: ["Gateway"]
---

# List available models

`GET /v1/models`

## Request

- Base URL: `https://api.roar-ai.com`
- URL: `https://api.roar-ai.com/v1/models`
- Auth: HTTP bearer

Models reachable through the gateway, with their modalities and capabilities. Requires the `inference` scope.

**Calling from a browser.** Requests carrying an `Origin` header are refused with a 403 unless they also send `x-roar-dangerous-browser-access: true`. Your API key belongs on your server: put it in a web page and every visitor can read it, and there is no way to un-leak it afterwards. Send the header only when that is genuinely what you want — an internal tool, or an app where each person supplies their own key. Server-side calls send no `Origin` and are unaffected.

## Response `200`

A list of models

- ModelList
  - `object` string, required
  - `data` Model[], required
    - `id` string, required: The model name to send as `model`
    - `object` string, required
    - `created` integer, required: Unix seconds
    - `owned_by` string, required
    - `roar_modalities` string[], required
    - `roar_batch` boolean, required: Accepted by `POST /v1/batches`
    - `roar_image_input` 'yes' | 'no' | 'unknown'
    - `roar_tool_calling` 'yes' | 'no' | 'unknown'
    - `roar_json_output` 'yes' | 'no' | 'unknown'
    - `roar_structured_output` 'yes' | 'no' | 'unknown'
    - `roar_reasoning` 'yes' | 'no' | 'unknown'
    - `roar_pricing` ModelPricing
      - `inputPer1M` number
      - `outputPer1M` number
      - `cachedInputPer1M` number
      - `cacheWriteInputPer1M` number
      - `cacheWrite1hInputPer1M` number
      - `priorityInputPer1M` number
      - `priorityOutputPer1M` number
      - `batchInputPer1M` number
      - `batchOutputPer1M` number
      - `flexInputPer1M` number
      - `flexOutputPer1M` number
      - `longContextThresholdTokens` integer: Above this many input tokens the whole request reprices. Absent means the model has no long-context tier.
      - `longContextInputMultiplier` number: Applied to input, cached input and cache writes past the threshold.
      - `longContextOutputMultiplier` number: Applied to output past the threshold.
    - `roar_notes` string: Absent when there is no note

## Other responses

- `401`: Missing or invalid key
- `403`: Called from a browser without `x-roar-dangerous-browser-access: true`

---

[API](https://skmtc.dev/roar-ai/apis/roar-ai-api.md) · [All operations](https://skmtc.dev/roar-ai/apis/roar-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/roar-ai/apis/roar-ai-api/revisions/37e4d0d5a7fe?raw)
