# Models

> GET /v1/models: list the models your gateway key can use. It makes no provider call and costs nothing, so it is also the quickest way to test a key.

Product: AI Cost Optimizer Gateway (ACOG). Web version: https://tessarac.com/docs/acog/api/models. Last updated: 2026-10-16.

```http
GET https://gateway.acog.tessarac.com/v1/models
```

Lists every model declared on your organization's connections, in the OpenAI list format. ACOG answers from your configuration without calling any provider, so the call is free and fast. It is the recommended way to check a new key.

```bash
curl -s https://gateway.acog.tessarac.com/v1/models \
  -H "Authorization: Bearer $ACOG_API_KEY"
```

```json
{
  "object": "list",
  "data": [
    { "id": "claude-haiku-4-5-20251001", "object": "model", "created": 0, "owned_by": "anthropic" },
    { "id": "gemini-3.5-flash", "object": "model", "created": 0, "owned_by": "gemini" }
  ]
}
```

| Field | Meaning |
|---|---|
| `id` | A model id you can send in `model` |
| `owned_by` | The model family of the first connection that declares it |
| `created` | Always `0`; ACOG does not track release dates |

An empty `data` list means your organization has no connections yet. The list shows declared models: whether your provider account can actually call each one is decided by the provider.

The list does not apply model access rules, so it can include models a [model access](https://tessarac.com/docs/acog/govern/model-access.md) rule would refuse for this key.

| Status | Meaning |
|---|---|
| `200` | The key works |
| `401` | The key was not read: missing, revoked, or in a header ACOG does not read |
| `403` | The key lacks the gateway access scope (`proxy`) |
| `503` | ACOG could not reach its key store; retry |

To list what a provider itself offers, use the native route, for example `GET https://gateway.acog.tessarac.com/anthropic/v1/models`.
