Gateway
The catalog
Every model the gateway serves, with its price and its capabilities, behind one endpoint.
See the catalog
Public list prices need no key:
curl -s https://api.conifer.build/v1/catalogYour key’s callable models and declared capabilities:
curl -s https://api.conifer.build/v1/models \
-H "Authorization: Bearer $CONIFER_API_KEY" \
| jq '.data[] | {id, caps, context_window, pricing}'This is the list of models your key can call, with prices and caps, and it is the source of truth. The same list is public without a key at GET /v1/catalog and rendered for reading at /models. Models differ from one another. A missing cap is a missing capability, so check before you send tools or images.
Reading an entry
| Field | What it tells you |
|---|---|
id | The string you put in a request's model field, exactly as listed. A namespaced spelling such as anthropic/claude-opus-5 is accepted and served as the bare id. |
provider | The lab behind the model, such as anthropic or deepseek. |
context_window | The input budget in tokens. A prompt above it is refused rather than trimmed. |
max_output_tokens | The output ceiling, where the model has one. A larger max_tokens is clamped to it. |
caps | What the model declares: tools, vision, reasoning, embeddings. If a string is absent the model does not have that capability. |
pricing | Rates per million tokens for input, output, cache read and cache write. These are the prices you are charged. |
Two ids that let Conifer choose
auto and default appear in the list too. They are not models. Send either one and Conifer picks the model for you, and the receipt says which one answered: x-conifer-requested-model is the id you sent and x-conifer-effective-model is the model that served. How that choice is made, and how to make it from the CLI or Palm, is on Routing.
Conifer’s own composed models (conifer-*) are not currently served: they are absent from the catalog, and a request that names one returns a 404.
Which model to use
If you know the model you want, name its id and that is what answers. If you would rather not choose, send auto or use a route in the CLI. Reading a model covers how to pick when you are comparing entries.