Routing Configs API
Routing configs define how requests are dispatched to providers. Every config
has a stable @slug your app calls instead of raw model names.
List routing configs
GET /manage/v1/routing-configs
Query parameters
| Name | Type | Description |
|---|---|---|
project_id | string | Filter to configs in one project |
cursor | string | Pagination cursor |
limit | integer | Max items per page |
Get a routing config
GET /manage/v1/routing-configs/{config_id}
Returns the current active version. To fetch a specific version, use the versions endpoint below.
Create a routing config
POST /manage/v1/routing-configs
Request body
{
"project_id": "proj_01HXY...",
"name": "production",
"slug": "production",
"strategy": "fallback",
"config": {
"attempts": [
{ "model": "claude-haiku-4-5", "timeout_ms": 2000 },
{ "model": "gpt-4o-mini", "timeout_ms": 3000 }
],
"retry_on": ["429", "5xx", "timeout"]
}
}
Valid strategies: single, fallback, cost_optimized, latency_optimized,
ensemble, ab_test, cascade, custom_rules.
Update a routing config
PATCH /manage/v1/routing-configs/{config_id}
Any update creates a new version. The previous version stays queryable for rollback.
Versions
GET /manage/v1/routing-configs/{config_id}/versions
GET /manage/v1/routing-configs/{config_id}/versions/{version_id}
POST /manage/v1/routing-configs/{config_id}/versions/{version_id}/restore
restore promotes an old version back to the active version (creating a new
version that matches).
Test a routing config
POST /manage/v1/routing-configs/{config_id}/test
Request body
{
"messages": [{ "role": "user", "content": "Hello" }],
"dry_run": true
}
Returns the routing decision that would be made, without actually calling the
provider. With dry_run: false, runs the request end-to-end for verification.
Delete a routing config
DELETE /manage/v1/routing-configs/{config_id}
Soft-delete. The slug becomes reusable immediately for new configs.
MCP tools
| Tool | Maps to |
|---|---|
list_routing_configs | GET /manage/v1/routing-configs |
get_routing_config | GET /manage/v1/routing-configs/{id} |
create_routing_config | POST /manage/v1/routing-configs |
update_routing_config | PATCH /manage/v1/routing-configs/{id} |
delete_routing_config | DELETE /manage/v1/routing-configs/{id} |
list_routing_config_versions | GET /manage/v1/routing-configs/{id}/versions |
get_routing_config_version | GET /manage/v1/routing-configs/{id}/versions/{version} |
restore_routing_config_version | POST /manage/v1/routing-configs/{id}/versions/{version}/restore |
test_routing_config | POST /manage/v1/routing-configs/{id}/test |