• UnoRouterUNOROUTER
Documentation
  • Platform Guide
User Guide
  • Quickstart
  • Models & Pricing
  • Notifications
  • Group Pinning
FAQ
  • Errors & Rate Limits
  • Account & Billing
  • Discord Rewards
Navigate
  • Models
  • Rankings
  • Inspector
  • Pricing
  • Chat
  • Status

Search docs...

Start typing to search documentation

PlatformIntegrationsChat
Platform Guide

Group Pinning

Lock a model to specific provider groups and their rates instead of automatic cheapest routing.

Every model is served by one or more provider groups, each with its own price. By default a key uses auto: every request routes to the cheapest group that is currently live.

Pinning overrides this per model: you pick exactly which groups it may use, and billing is locked to their rates. Useful when you need a specific provider's quality or region, or a rate that must not drift.

Each model's detail page lists every group with its input and output price under Group Pricing; the discount badge in the model list always reflects the cheapest group.

Group pricing table on a model detail page

Open API Keys, create or edit a key, and open the group selector. Search for a model, click it, and tick one or more provider groups, sorted cheapest first with their rate multiplier. Models you leave alone stay on auto.

Per-model provider group picker in the key editor

Pinned models float to the top with a badge showing how many groups they are locked to, and Clear all resets the key to full auto. The key list shows pinned keys as auto +N.

A pinned model routes only within its pinned groups: the cheapest is tried first with automatic failover to the next on errors or downtime. Whatever group actually serves the request is the rate that gets billed.

Pair a pin with a watch to hear when its groups change price or go down, see Notifications

You can also pin per request without touching the key: send an X-Group header set to the exact group name. It wins over the key's saved pin and over auto routing for that one request. Copy any group name from a model's Group Pricing table.

bash
curl https://api.unorouter.com/v1/chat/completions \
  -H "Authorization: Bearer $UNOROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Group: glm-new-pol-glm-5.2" \
  -d '{
    "model": "glm-5.2",
    "messages": [{ "role": "user", "content": "Hello" }]
  }'

The header must be a group the key is allowed to use, or the request is rejected. Unpinned models keep cheapest-available routing when no header is sent.

If every pinned group for a model is down while other providers still serve it, requests fail with a targeted error instead of a generic busy message:

json
{
  "error": {
    "message": "Your pinned provider groups for model \"glm-5.2\" are currently unavailable, but the model is still served by other providers. Edit this key's group override, or try again later.",
    "type": "new_api_error",
    "code": "get_channel_failed"
  }
}

Widen or remove the pin on the key, or retry later. The model itself is still up.

NotificationsErrors & Rate Limits

On this page

Auto routing vs pinning
Seeing group prices
Pinning groups on a key
How pinned requests route
Overriding the pin per request
When pinned groups are down