Models
List available models from the unified catalog.
List models
/v1/models
Returns available models for the authenticated tenant. Respects API key model allowlists.
Response
{
"object": "list",
"data": [
{
"id": "anthropic/claude-sonnet-5",
"object": "model",
"created": 1700000000,
"owned_by": "anthropic"
},
{
"id": "openai/gpt-4o",
"object": "model",
"created": 1700000000,
"owned_by": "openai"
}
]
}
Authentication
Requires API key: Authorization: Bearer br_live_...
Model naming convention
All models use the provider/model format. Examples:
| Model ID | Provider | Description |
|---|---|---|
anthropic/claude-opus-5 | Anthropic | Most capable Claude |
anthropic/claude-sonnet-5 | Anthropic | Balanced flagship |
openai/gpt-5.6-sol | OpenAI | Newest GPT frontier |
google/gemini-3.5-flash | Fast multimodal | |
x-ai/grok-4.6 | xAI | Newest Grok |
deepseek/deepseek-v4-flash | DeepSeek | Strong value |
The registered catalog is 40 models across 9 providers; GET /v1/models is always the live source of truth (circuit breakers may hide temporarily-unhealthy models).
Variants
Append a suffix for routing behavior:
anthropic/claude-sonnet-5:floor— cheapest endpointanthropic/claude-sonnet-5:fast— lowest latencyanthropic/claude-sonnet-5:best— highest qualityanthropic/claude-sonnet-5:smart— Thompson-sampled endpoint pick (leaderboard reward)
Presets
Use @preset/slug as the model name to reference a saved routing preset.
curl https://api.brainstormrouter.com/v1/models \
-H "Authorization: Bearer br_live_..."
Model leaderboard
/v1/models/leaderboard
Returns model performance rankings powered by Thompson sampling reward scores. Data is aggregated from a 7-day rolling window of real traffic.
Query parameters
| Param | Type | Default | Description |
|---|---|---|---|
sort | string | overall | Sort dimension: overall, quality, speed, value, reliability |
provider | string | — | Filter to a specific provider (e.g., anthropic) |
limit | integer | 100 | Max results (capped at 500) |
offset | integer | 0 | Pagination offset |
Response
{
"object": "list",
"sort_by": "overall",
"model_count": 40,
"cached_at": "2026-02-26T12:00:00.000Z",
"data": [
{
"id": "anthropic/claude-sonnet-5",
"provider": "anthropic",
"model_id": "claude-sonnet-5",
"reward_score": 0.8523,
"reward_variance": 0.0012,
"validity": 0.9501,
"quality": 0.91,
"latency_ms": 520.3,
"tokens_per_second": 85.2,
"success_rate": 0.998,
"pricing": { "input": 3, "output": 15 },
"capabilities": ["streaming", "tools", "vision"],
"sample_count": 12430,
"days_active": 7,
"error_rate": 0.002,
"value_score": 284.1
}
]
}
Sort dimensions
| Dimension | Description |
|---|---|
overall | Thompson sampling composite reward (latency + cost + quality + validity) |
quality | Tool-call accuracy (JSON validity 30% + schema compliance 40% + execution 30%) |
speed | Lowest EWMA latency first |
value | Reward per dollar — best bang for buck |
reliability | Highest success rate first |
SDK example
const leaderboard = await client.models.leaderboard({
sort: "value",
provider: "anthropic",
});
for (const model of leaderboard.data) {
console.log(`${model.id}: reward=${model.reward_score} value=${model.value_score}`);
}
curl "https://api.brainstormrouter.com/v1/models/leaderboard?sort=overall&limit=10" \
-H "Authorization: Bearer br_live_..."