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

# List Models

> List the current TypeSafe-compatible models served on the /typesafe route

```http theme={"theme":{"light":"github-light","dark":"dark-plus"}}
GET https://gateway.vlm.run/typesafe/v1/models
```

Returns the current TypeSafe-compatible models available to
[System One](/gateway/api-reference/post-systemone), in Jev's model-card shape. See [Rate Limits](/gateway/rate-limits) for per-tier quotas.

## Response

| Field                   | Type     | Description                                     |
| ----------------------- | -------- | ----------------------------------------------- |
| `models`                | `array`  | One card per current TypeSafe-compatible model. |
| `models[].name`         | `string` | Model id to send as `model`.                    |
| `models[].description`  | `string` | What the model does.                            |
| `models[].release_date` | `string` | Release date, `YYYY-MM-DD`.                     |

```json Response theme={"theme":{"light":"github-light","dark":"dark-plus"}}
{
  "models": [
    {
      "name": "google/diffusiongemma-26b-a4b-it",
      "description": "Calibrated yes/no, choice and score decisions over text, JSON and up to 8 images, read from DiffusionGemma-26B-A4B in one denoise step.",
      "release_date": "2026-09-20"
    },
    {
      "name": "qwen/qwen3.8-27b",
      "description": "The same decisions read from Qwen3.8-27B in one constrained pass.",
      "release_date": "2026-09-23"
    }
  ]
}
```

The list is what **this deployment serves**, not everything the build can read, so a model
absent here is a `404` on `model`. Names come back in catalog order.

<Note>
  A model absent from this list is a `404` on `model`. See
  [Models](/gateway/typesafe-models).
</Note>

<RequestExample>
  ```python Python theme={"theme":{"light":"github-light","dark":"dark-plus"}}
  from typesafe_sdk import TypeSafeClient

  client = TypeSafeClient(
      api_key="<VLMRUN_API_KEY>",
      base_url="https://gateway.vlm.run/typesafe",
  )

  for model in client.models.list().models:
      print(model.name, model.release_date)
  ```

  ```typescript Node.js theme={"theme":{"light":"github-light","dark":"dark-plus"}}
  import { TypeSafeClient } from "@typesafe-ai/sdk";

  const client = new TypeSafeClient({
    apiKey: process.env.VLMRUN_API_KEY,
    baseURL: "https://gateway.vlm.run/typesafe",
  });

  for (const model of await client.models.list()) {
    console.log(model.name, model.release_date);
  }
  ```

  ```bash cURL theme={"theme":{"light":"github-light","dark":"dark-plus"}}
  curl https://gateway.vlm.run/typesafe/v1/models \
    -H "Authorization: Bearer $VLMRUN_API_KEY"
  ```
</RequestExample>

## Related

<CardGroup cols={2}>
  <Card title="System One" icon="scale-balanced" href="/gateway/api-reference/post-systemone">
    Send decisions using model ids from this endpoint.
  </Card>

  <Card title="TypeSafe SDK Compatibility" icon="arrow-right-arrow-left" href="/gateway/jev-compatibility">
    Model aliases and the compatibility matrix.
  </Card>
</CardGroup>
