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

  1. Log in to the OneRouter Dashboard at api.onerouter.app/dashboard
  2. Navigate to Channels in the sidebar
  3. Create or edit a channel to define the model mapping
  4. Set the model name (exposed to your users) and the upstream provider/model (actual backend)
  5. Configure weight, priority, and rate limits per channel
  6. 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
Key scoping is the primary mechanism for user-tier routing. See Authentication — Key Scoping for detailed configuration steps.