OneRouter
Docs /Integrations
Resources

Client setup

Literal configuration for the clients people actually use. The base URL and the key never change.

The setup changes slightly per client. The base URL and the key do not.

text
Base URL:   https://onerouter.network/v1
Key:        or-live-...
Env var:    ONEROUTER_KEY

Verify the connection outside your client first. One request, literal values — if this works and the client does not, the problem is the client's configuration, and you have just halved the search space:

bash
curl https://onerouter.network/v1/chat/completions \
  -H "Authorization: Bearer $ONEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"meta-llama/llama-3.3-70b-instruct","messages":[{"role":"user","content":"ping"}]}'

Coding agents#

# Shell, or "env" in ~/.claude/settings.json.
# Use the BARE host: Claude Code appends /v1/messages itself.

export ONEROUTER_KEY=or-live-YOUR-KEY-HERE
export ANTHROPIC_BASE_URL=https://onerouter.network
export ANTHROPIC_AUTH_TOKEN="$ONEROUTER_KEY"
export ANTHROPIC_MODEL="deepseek/deepseek-v4-flash"

claude --model "$ANTHROPIC_MODEL"

Editors and extensions#

# ~/.continue/config.yaml
models:
  - name: DeepSeek V4 Flash (OneRouter)
    provider: openai
    model: deepseek/deepseek-v4-flash
    apiBase: https://onerouter.network/v1
    apiKey: or-live-YOUR-KEY-HERE
    roles: [chat, edit, apply]

SDKs and proxies#

export OPENAI_API_BASE=https://onerouter.network/v1
export OPENAI_API_KEY=or-live-YOUR-KEY-HERE

aider --model openai/deepseek/deepseek-v4-flash

The three failures that eat the most time#

/v1 trimmed, or the endpoint appended. The base URL field takes https://onerouter.network/v1 and nothing else. The client adds /chat/completions.
A client alias used as a model id. sonnet and opus are shorthands. Send a full author/name id from the catalog.
The variable never exported. The shell that launched the client did not have it. Echo it in that shell, then restart the client from there.