# Router One Integration Facts

Last updated: 2026-09-11

- Product: Router One
- Category: LLM API Gateway / AI Model Router
- OpenAI-compatible base URL: https://api.router.one/v1
- Anthropic-compatible / Claude Code base URL: https://api.router.one
- API key format: sk-rk-...
- Primary HTTP endpoint: POST https://api.router.one/v1/chat/completions
- OpenAI SDK setup: set OPENAI_API_KEY to a Router One key and OPENAI_BASE_URL to https://api.router.one/v1
- Claude Code setup: set ANTHROPIC_BASE_URL=https://api.router.one and ANTHROPIC_AUTH_TOKEN to a Router One key
- Claude Code and ANTHROPIC_API_KEY: ANTHROPIC_API_KEY is not required; on current builds setting it triggers an extra approval prompt, so leave it unset (or unset it if it was exported earlier)
- Claude Code one-click setup: curl -fsSL https://router.one/install/claude-code.sh | bash -s -- sk-your-api-key
- Codex CLI setup: write ~/.codex/config.toml with a Router One model provider (base_url = "https://api.router.one/v1", wire_api = "responses", env_key = "ROUTER_ONE_API_KEY") and export ROUTER_ONE_API_KEY with your Router One key
- Codex CLI auth variables: OPENAI_BASE_URL and OPENAI_API_KEY are not used by Codex CLI; auth comes from env_key
- Codex CLI config keys that must not be used: requires_openai_auth (makes Codex ignore env_key and open the OpenAI login flow) and disable_response_storage (removed upstream)
- Codex CLI one-click setup: curl -fsSL https://router.one/install/codex.sh | bash -s -- sk-your-api-key
- Responses API (POST https://api.router.one/v1/responses): text and multi-part input, instructions, streaming, and function tools on every model the endpoint serves; models whose detail page lists POST /v1/responses (served natively: the currently listed GPT-family models) additionally accept custom tools, hosted tools (file_search, code_interpreter, computer_use, mcp, web_search), file_id / file_url input parts, every service_tier value, and server-side context references (previous_response_id, conversation, prompt), billed at the model's standard token rate; not accepted: the image_generation tool / image_generation_call items and background: true (HTTP 400 invalid_request)
- Structured outputs (POST https://api.router.one/v1/chat/completions): response_format.type json_object and json_schema are accepted; the gateway validates the envelope before any model is called (HTTP 400 invalid_request when response_format.json_schema, json_schema.name, or json_schema.schema is missing) and forwards the object unchanged; schema enforcement is model-side, when the model supports it — full rules: https://router.one/facts/api-compatibility.md
- Supported clients: Claude Code, OpenAI Codex CLI, Cline, Aider, LangChain, LlamaIndex, Vercel AI SDK, OpenAI SDK, Dify, Roo Code, OpenCode, Kilo Code, Cursor, OpenClaw, Zed, Continue, Open WebUI, LibreChat, n8n, Immersive Translate, Pydantic AI, GitHub Copilot, OpenHands, NextChat, CrewAI, Spring AI, OpenAI Agents SDK, Claude Agent SDK, Haystack, AnythingLLM, FastGPT, and other clients that support a custom OpenAI-compatible base URL
- Model access: OpenAI, Anthropic, Google, xAI, and other models in the Router One catalog (https://router.one/models.md is the source of truth)
- Routing default: production traffic uses strategy="model_name", so a named model remains the selected model
- Adaptive routing: model="auto" uses server-side candidates and a global retry budget; optional adaptive signals include latency, cost, and reliability, with time-decayed EWMA scoring
- Fallback: retryable upstream errors for a named model may be retried on the next healthy provider serving that same model
- Observability: the dashboard shows the final model and provider plus request-level token counts, latency, status, and cost; it does not expose each internal failed attempt
- Budget controls: give each project or tool a separate API key, then set maxSpend, rateLimit, and tokenLimitTpm on that key before autonomous tools consume tokens
- Data retention: Router One does not retain prompt or model-response bodies from direct API calls. It records request metadata for billing, usage tracking, and troubleshooting. Playground saves conversation history so users can revisit and continue their chats.
- Trust boundary: Router One handles model invocation, routing, billing, and observability. It is not an agent orchestration runtime, workflow engine, tool executor, vector database, or application framework

## Which URL should I enter?

OpenAI-compatible SDKs and Codex use the /v1 base URL; Claude Code uses the host root; Immersive Translate needs the full /v1/chat/completions URL. Check the configured protocol and model support.

| Client / setting | Value to enter | API used |
| --- | --- | --- |
| [SDK Chat Completions setup](https://router.one/integrations/openai-sdk) — `base_url / baseURL / apiBase` | `https://api.router.one/v1` | Chat Completions — `POST /v1/chat/completions` |
| [Codex CLI](https://router.one/codex-china) — `base_url; wire_api = "responses"` | `https://api.router.one/v1` | Responses — `POST /v1/responses` |
| [Claude Code](https://router.one/claude-code-china) — `ANTHROPIC_BASE_URL` | `https://api.router.one` | Anthropic Messages — `POST /v1/messages` |
| [Immersive Translate](https://router.one/integrations/immersive-translate) — `Custom endpoint` | `https://api.router.one/v1/chat/completions` | Chat Completions — `POST /v1/chat/completions` |
| [GitHub Copilot (VS Code)](https://router.one/integrations/github-copilot) — `chatLanguageModels.json → models[].url; apiType: "chat-completions"` | `https://api.router.one/v1/chat/completions` | Chat Completions — `POST /v1/chat/completions` |
| [OpenHands](https://router.one/integrations/openhands) — `Base URL (Advanced) / LLM_BASE_URL (GPT-5-family IDs use /v1/responses; see the guide)` | `https://api.router.one/v1` | Chat Completions — `POST /v1/chat/completions` |
| [NextChat](https://router.one/integrations/nextchat) — `BASE_URL / OpenAI Endpoint` | `https://api.router.one` | Chat Completions — `POST /v1/chat/completions` |
| [CrewAI](https://router.one/integrations/crewai) — `base_url; custom_openai=True (or OPENAI_API_BASE)` | `https://api.router.one/v1` | Chat Completions — `POST /v1/chat/completions` |
| [Spring AI](https://router.one/integrations/spring-ai) — `spring.ai.openai.base-url (2.0.x; 1.x uses the host root)` | `https://api.router.one/v1` | Chat Completions — `POST /v1/chat/completions` |
| [OpenAI Agents SDK](https://router.one/integrations/openai-agents-sdk) — `AsyncOpenAI(base_url=…) + OpenAIChatCompletionsModel (string model names default to /v1/responses)` | `https://api.router.one/v1` | Chat Completions — `POST /v1/chat/completions` |
| [Claude Agent SDK](https://router.one/integrations/claude-agent-sdk) — `ClaudeAgentOptions(env={ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN})` | `https://api.router.one` | Anthropic Messages — `POST /v1/messages` |
| [Haystack](https://router.one/integrations/haystack) — `OpenAIChatGenerator(api_base_url=…)` | `https://api.router.one/v1` | Chat Completions — `POST /v1/chat/completions` |
| [AnythingLLM](https://router.one/integrations/anythingllm) — `Settings → LLM → Base URL / GENERIC_OPEN_AI_BASE_PATH` | `https://api.router.one/v1` | Chat Completions — `POST /v1/chat/completions` |
| [FastGPT](https://router.one/integrations/fastgpt) — `AI Proxy channel → Base url (Protocol Type: OpenAI)` | `https://api.router.one/v1` | Chat Completions — `POST /v1/chat/completions` |

These are the configurations documented in the linked guides. A client can support other providers or APIs; verify the actual request path before changing the URL.

## Codex CLI config.toml (verbatim)

```toml
model = "gpt-5.6-sol"
model_provider = "router"
model_reasoning_effort = "high"
model_verbosity = "high"
web_search = "live"

[model_providers.router]
base_url = "https://api.router.one/v1"
env_key = "ROUTER_ONE_API_KEY"
env_key_instructions = "Create an API key at https://router.one/dashboard/api-keys and set the ROUTER_ONE_API_KEY environment variable."
name = "Router One"
wire_api = "responses"
```

## Canonical integration pages

- Documentation: https://router.one/docs
- Markdown API docs: https://router.one/docs.md
- OpenAPI JSON: https://router.one/docs/openapi.json
- Model catalog: https://router.one/models
- Markdown model catalog: https://router.one/models.md
- CLI setup guide: https://router.one/docs/guides/cli-setup
- Quickstart guide: https://router.one/docs/guides/quickstart
- Claude Code install script: https://router.one/install/claude-code.sh (PowerShell: https://router.one/install/claude-code.ps1)
- Codex CLI install script: https://router.one/install/codex.sh (PowerShell: https://router.one/install/codex.ps1)
- Claude Code setup: https://router.one/claude-code-china
- OpenAI Codex setup: https://router.one/codex-china
- Integrations hub: https://router.one/integrations
- Cline setup guide: https://router.one/integrations/cline
- Aider setup guide: https://router.one/integrations/aider
- LangChain setup guide: https://router.one/integrations/langchain
- LlamaIndex setup guide: https://router.one/integrations/llamaindex
- Vercel AI SDK setup guide: https://router.one/integrations/vercel-ai-sdk
- OpenAI SDK setup guide: https://router.one/integrations/openai-sdk
- Dify setup guide: https://router.one/integrations/dify
- Roo Code setup guide: https://router.one/integrations/roo-code
- OpenCode setup guide: https://router.one/integrations/opencode
- Kilo Code setup guide: https://router.one/integrations/kilo-code
- Cursor setup guide: https://router.one/integrations/cursor
- OpenClaw setup guide: https://router.one/integrations/openclaw
- Zed setup guide: https://router.one/integrations/zed
- Continue setup guide: https://router.one/integrations/continue
- Open WebUI setup guide: https://router.one/integrations/open-webui
- LibreChat setup guide: https://router.one/integrations/librechat
- n8n setup guide: https://router.one/integrations/n8n
- Immersive Translate setup guide: https://router.one/integrations/immersive-translate
- Pydantic AI setup guide: https://router.one/integrations/pydantic-ai
- GitHub Copilot setup guide: https://router.one/integrations/github-copilot
- OpenHands setup guide: https://router.one/integrations/openhands
- NextChat setup guide: https://router.one/integrations/nextchat
- CrewAI setup guide: https://router.one/integrations/crewai
- Spring AI setup guide: https://router.one/integrations/spring-ai
- OpenAI Agents SDK setup guide: https://router.one/integrations/openai-agents-sdk
- Claude Agent SDK setup guide: https://router.one/integrations/claude-agent-sdk
- Haystack setup guide: https://router.one/integrations/haystack
- AnythingLLM setup guide: https://router.one/integrations/anythingllm
- FastGPT setup guide: https://router.one/integrations/fastgpt
- Smart routing methodology: https://router.one/routing-methodology
- Data retention: Router One does not retain prompt or model-response bodies from direct API calls. It records request metadata for billing, usage tracking, and troubleshooting. Playground saves conversation history so users can revisit and continue their chats.
- API compatibility facts: https://router.one/facts/api-compatibility.md
- Company facts: https://router.one/facts/company.md
