Models API
Search canonical model releases independently from the providers and API surfaces that deploy them.
List models
GET
/v1/modelsAuthentication: OptionalcURL
curl "https://api.use-allm.com/v1/models?q=claude&provider=anthropic&capability=tool_calling&limit=2" \
-H "Authorization: Bearer $ALLM_API_KEY"Query parameters
qstring
Case-insensitive search over name, canonical ID, lab, and family.
providerstring
Return models with at least one deployment at this provider.
modestring
chat, responses, embedding, rerank, and other provider modes.capabilitystring
Return models with at least one deployment where this capability is supported.
limitinteger
Maximum number of records to return (1–500).Default:
100offsetinteger
Zero-based number of matching records to skip.Default:
0Retrieve a model
GET
/v1/models/{lab}/{model}Authentication: Optionallabstringrequired
anthropic in anthropic/claude-haiku-4.5.modelstringrequired
claude-haiku-4.5 in the canonical model ID.TypeScript · fetch
const response = await fetch(
"https://api.use-allm.com/v1/models/anthropic/claude-haiku-4.5",
{ headers: { Authorization: `Bearer ${process.env.ALLM_API_KEY}` } },
);
const { data: model } = await response.json();
console.log(model.name); // Claude Haiku 4.5
console.log(model.deployments); // Provider-specific optionsResponse
JSON · 200
{
"data": {
"id": "anthropic/claude-haiku-4.5",
"name": "Claude Haiku 4.5",
"family": "anthropic/claude-haiku",
"lab": "Anthropic",
"modalities": ["image", "pdf", "text"],
"deployments": [/* deployment objects */]
}
}Response metadata
Every successful response includes
x-allm-catalog-release, x-request-id, and an ETag. Store the request ID in logs and the catalog release beside any persisted decision.