Advanced Features
Custom Routing
Control which underlying model serves each request using channel-level routing rules — configured in the Dashboard, transparent to your application code.
How Routing Works in OneRouter
OneRouter uses a channel-based routing model. Each channel maps a model name (what your app calls) to a specific upstream provider and model (what actually processes the request). By configuring channels strategically, you build flexible routing logic without touching your application code.
Configuring Routing in the Dashboard
- Log in to the OneRouter Dashboard at api.onerouter.app/dashboard
- Navigate to Channels in the sidebar
- Create or edit a channel to define the model mapping
- Set the model name (exposed to your users) and the upstream provider/model (actual backend)
- Configure weight, priority, and rate limits per channel
- Use Model Groups to bundle related models under one user-facing name
Common Routing Patterns
Cost-Optimized Routing
Map a generic model name like gpt-4o to the cheapest provider currently offering it. Create channels with different providers but the same user-facing name, each with appropriate weights.
User-Group Routing
Create separate API keys for different user tiers and scope each key to specific model groups:
- Free tier keys → Scoped to cost-efficient models (GPT-4o-mini, Gemini 2.5 Flash, DeepSeek V3)
- Pro tier keys → Access to premium models (GPT-4o, Claude Opus, Gemini 2.5 Pro)
- Enterprise keys → Full model catalog with custom rate limits
Capability-Based Routing
Configure separate model groups for different workloads — your developers call descriptive model names and get the optimal backend:
coding-assistant→ Routes to Claude Opus / GPT-4o / DeepSeek V3 (code-optimized models)content-writer→ Routes to Claude Sonnet / GPT-4o / Gemini Pro (balanced quality & speed)data-analyst→ Routes to models with the largest context windows in your provider pool