# Models

List the models available to your account, with capabilities and current pricing. Both endpoints require authentication and work with the OpenAI SDKs' `models.list()` / `models.retrieve()` helpers.

## List models

**`GET /v1/models`**

Returns every public Claudech model. Models outside your plan are still listed with `available_on_plan: false` so you can show upgrade paths in your own UI.

```json
{
  "object": "list",
  "data": [
    {
      "id": "claude-opus-5-5",
      "object": "model",
      "created": 1767225600,
      "owned_by": "claudech",
      "display_name": "Claude Opus 5.5",
      "description": "Our balanced everyday model. Strong reasoning with quick responses, ideal for chat, coding and analysis.",
      "context_window": 1000000,
      "max_output_tokens": 65536,
      "capabilities": { "vision": true, "tools": true, "json": true, "reasoning": true, "streaming": true },
      "pricing": {
        "input_per_million_usd": "0.5000",
        "output_per_million_usd": "1.9000",
        "cached_input_per_million_usd": "0.0100"
      },
      "available_on_plan": true,
      "deprecated": false
    }
  ]
}
```

- `id` (string): The slug to pass as `model` in requests.
- `context_window` (integer): Maximum prompt plus completion tokens. Your plan's `max_context_tokens` may be lower.
- `max_output_tokens` (integer): Hard cap on `max_tokens` for this model.
- `capabilities` (object): Booleans for `vision`, `tools`, `json`, `reasoning` and `streaming`.
- `pricing` (object | null): Current list prices in USD per million tokens. Off-peak discounts and cache hits are applied automatically at request time; see [Tokens & billing](https://claudech.com/docs/billing).
- `available_on_plan` (boolean): Whether your current plan can call this model.
- `deprecated` (boolean): Deprecated models keep working until their retirement date but should not be used for new work.

## Retrieve a model

**`GET /v1/models/{id}`**

Accepts a slug or any of the model's aliases and returns the same object as above for that model. Unknown or private models return `404 model_not_found`.

## Examples

**curl**

```bash
curl https://api.claudech.com/v1/models \
  -H "Authorization: Bearer $CLAUDECH_API_KEY"

curl https://api.claudech.com/v1/models/claude-opus-5-5 \
  -H "Authorization: Bearer $CLAUDECH_API_KEY"
```

**JavaScript**

```javascript
const models = await client.models.list();
for (const m of models.data) console.log(m.id, m.available_on_plan);

const one = await client.models.retrieve('claude-opus-5-5');
console.log(one.context_window);
```

**Python**

```python
for m in client.models.list().data:
    print(m.id, m.model_extra.get("available_on_plan"))

one = client.models.retrieve("claude-opus-5-5")
print(one.model_extra["context_window"])
```

For a human-readable comparison see [Models](https://claudech.com/docs/models); the table there is generated from the same catalogue.

---

Source: https://claudech.com/docs/api/models
