Providers
Tenants one API key → one private provider pool
A tenant registers its own providers and receives a single router API key. For every request the orchestra classifies the task and picks the best provider inside that tenant's pool, spreading load across providers that score equally.
Active tenant scope
Model catalog
A logical model is the name clients send. Scoring drives routing: the router picks whichever model scores highest for the classified task.
Routing policy
Profiles (scoring weights)
Task → profile
Usage
API keys
Connect to this router
Everything you need to integrate a client. Base URL, a ready-to-use API key, and copy-paste examples.
1 API key = 1 tenant. A tenant registers its own providers on the Tenants tab, then hands its users a single router key — the same one shown above. Clients never choose a provider, never see an upstream key, and never need to know which vendor is answering.
For every request the router classifies the task (chat, planning, coding,
reasoning, …) and scores the models in that tenant's pool. It picks the
best fit, and spreads load round-robin across providers that score equally.
Send model: "auto" to let it decide, or name a logical model id to
pin one.
Tenant provider secrets are stored encrypted (AES-256-GCM) and never leave the
server: import one with
PUT /admin/tenants/{id}/credentials/{provider_id}.
base_url / endpoint.–
Public endpoints (need a router API key)
Admin endpoints (need an admin permission key)
Drop-in snippets
Audit log
Prometheus metrics
admin key required