# Models

> GET /v1/models returns the models available to your token and how to read their metadata.

```
GET https://api.tokrouter.dev/v1/models
Authorization: Bearer sk-…
```

```bash
curl https://api.tokrouter.dev/v1/models \
  -H "Authorization: Bearer $TOKROUTER_API_KEY"
```

## Response

```json
{
  "object": "list",
  "data": [
    {"id": "gpt-5.4-mini", "object": "model", "owned_by": "openai"},
    {"id": "claude-opus-5-5", "object": "model", "owned_by": "anthropic"}
  ]
}
```

The list is scoped to **the calling token** — different groups may see different sets.

<Callout type="warn" title="This is a live list">
Models come and go upstream, so the list and its size change. Never hard-code "there are N models";
request the endpoint when you need the set.
</Callout>

## Relationship to the docs' model pages

[Models](/en/models/) lists context windows and prices generated at build time from the pricing
catalog. `/v1/models` is runtime availability. A difference between them usually means "in the catalog
but currently unavailable", or the reverse.

## Metadata

`/v1/models` guarantees `id` and `owned_by`. Context window and max output are not part of that
endpoint's stable contract — take them from [Models](/en/models/).
