CONNECT YOUR TOOLS
Your tools. One API key.
Find your tool, follow its setup guide, and verify your first model call. Router One handles the model request; your application stays in charge of its agents and workflows.
Find your integration
Choose what you use, then check its provider settings and model requirements.
38 of 38 integration guides
Coding & agent tools
16- Claude CodeTerminal coding agent · Anthropic Messages setupRead setup guide
- Codex CLITerminal coding agent · Responses and config.tomlRead setup guide
- ClineVS Code agent · OpenAI-compatible providerRead setup guide
- AiderTerminal pair programming · model and endpoint setupRead setup guide
- Roo CodeVS Code agent · custom provider settingsRead setup guide
- OpenCodeTerminal agent · opencode.json provider blockRead setup guide
- Kilo CodeVS Code agent · provider and model selectionRead setup guide
- CursorBring your own key · chat and feature boundariesRead setup guide
- OpenClawAgent CLI · custom provider and spend limitsRead setup guide
- ZedAgent Panel · settings.json model configurationRead setup guide
- ContinueIDE assistant · config.yaml and chat rolesRead setup guide
- GitHub CopilotVS Code Chat · custom endpoint and BYOK scopeRead setup guide
- OpenHandsCoding agent · provider and protocol selectionRead setup guide
- XcodeXcode 26 chat provider · host-root URL and model listRead setup guide
- Qwen CodeTerminal coding agent · OPENAI_* env and modelProvidersRead setup guide
- GooseDesktop and CLI agent · OPENAI_HOST or custom providerRead setup guide
SDKs & frameworks
12- LangChainChatOpenAI · explicit Chat Completions configurationRead setup guide
- LlamaIndexOpenAILike · chat model and context settingsRead setup guide
- Vercel AI SDKTypeScript · provider and chat API selectionRead setup guide
- OpenAI SDKPython and TypeScript · your first chat requestRead setup guide
- Pydantic AIPython agents · OpenAIChatModel and provider setupRead setup guide
- CrewAIPython agents · custom OpenAI-compatible LLMRead setup guide
- Spring AIJava · version-specific base URL configurationRead setup guide
- OpenAI Agents SDKPython agents · explicit Chat Completions modelRead setup guide
- Claude Agent SDKClaude Code runtime · environment and model setupRead setup guide
- HaystackPython pipelines · chat generator and RAG boundariesRead setup guide
- Google ADKPython agents · LiteLlm model with api_baseRead setup guide
- smolagentsHugging Face agents · OpenAIModel with api_baseRead setup guide
Chat, RAG & translation
06- Open WebUISelf-hosted chat · OpenAI API connectionRead setup guide
- LibreChatSelf-hosted chat · librechat.yaml custom endpointRead setup guide
- Immersive TranslateBrowser translation · full Chat Completions URLRead setup guide
- NextChatChat client · host-root BASE_URL configurationRead setup guide
- AnythingLLMKnowledge-base chat · Generic OpenAI configurationRead setup guide
- Chatbox / Cherry StudioDesktop chat · custom provider and model setupRead setup guide
Workflows & API tools
04Before your first request
Match the URL to your client
A base URL and a full request endpoint are different. Check the client's field and selected protocol before copying an address.
Check connection settingsUse an exact model ID
Copy an ID from the model catalog. Match its supported endpoints and capabilities to the features your client needs.
Browse models and capabilitiesVerify the finished request
Start with plain text. Check the result, request ID, and settlement in Logs before enabling streaming or tools.
Read the request log guide
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.
Compare client URL settings
| Client / setting | Value to enter | API used |
|---|---|---|
SDK Chat Completions setupbase_url / baseURL / apiBase | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
Codex CLIbase_url; wire_api = "responses" | https://api.router.one/v1 | ResponsesPOST /v1/responses |
Claude CodeANTHROPIC_BASE_URL | https://api.router.one | Anthropic MessagesPOST /v1/messages |
Immersive TranslateCustom endpoint | https://api.router.one/v1/chat/completions | Chat CompletionsPOST /v1/chat/completions |
GitHub Copilot (VS Code)chatLanguageModels.json → models[].url; apiType: "chat-completions" | https://api.router.one/v1/chat/completions | Chat CompletionsPOST /v1/chat/completions |
OpenHandsBase URL (Advanced) / LLM_BASE_URL (GPT-5-family IDs use /v1/responses; see the guide) | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
NextChatBASE_URL / OpenAI Endpoint | https://api.router.one | Chat CompletionsPOST /v1/chat/completions |
CrewAIbase_url; custom_openai=True (or OPENAI_API_BASE) | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
Spring AIspring.ai.openai.base-url (2.0.x; 1.x uses the host root) | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
OpenAI Agents SDKAsyncOpenAI(base_url=…) + OpenAIChatCompletionsModel (string model names default to /v1/responses) | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
Claude Agent SDKClaudeAgentOptions(env={ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN}) | https://api.router.one | Anthropic MessagesPOST /v1/messages |
HaystackOpenAIChatGenerator(api_base_url=…) | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
AnythingLLMSettings → LLM → Base URL / GENERIC_OPEN_AI_BASE_PATH | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
FastGPTAI Proxy channel → Base url (Protocol Type: OpenAI) | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
XcodeSettings → Intelligence → Add a Chat Provider → Internet Hosted → URL (Xcode appends /v1/models and /v1/chat/completions) | https://api.router.one | Chat CompletionsPOST /v1/chat/completions |
Qwen CodeOPENAI_BASE_URL (.qwen/.env) / modelProviders.openai[].baseUrl | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
Google ADKLiteLlm(model="openai/<id>", api_base=…, api_key=…) | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
smolagentsOpenAIModel(model_id=…, api_base=…, api_key=…) | https://api.router.one/v1 | Chat CompletionsPOST /v1/chat/completions |
GooseOPENAI_HOST (OPENAI_BASE_PATH keeps its default v1/chat/completions; gpt-5, gpt-6 and o-series names go to /v1/responses, see the guide) | https://api.router.one | Chat CompletionsPOST /v1/chat/completions |
- SDK Chat Completions setup
base_url / baseURL / apiBase- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- Codex CLI
base_url; wire_api = "responses"- Value to enter
https://api.router.one/v1- API used
- Responses
POST /v1/responses
- Claude Code
ANTHROPIC_BASE_URL- Value to enter
https://api.router.one- API used
- Anthropic Messages
POST /v1/messages
- Immersive Translate
Custom endpoint- Value to enter
https://api.router.one/v1/chat/completions- API used
- Chat Completions
POST /v1/chat/completions
- GitHub Copilot (VS Code)
chatLanguageModels.json → models[].url; apiType: "chat-completions"- Value to enter
https://api.router.one/v1/chat/completions- API used
- Chat Completions
POST /v1/chat/completions
- OpenHands
Base URL (Advanced) / LLM_BASE_URL (GPT-5-family IDs use /v1/responses; see the guide)- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- NextChat
BASE_URL / OpenAI Endpoint- Value to enter
https://api.router.one- API used
- Chat Completions
POST /v1/chat/completions
- CrewAI
base_url; custom_openai=True (or OPENAI_API_BASE)- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- Spring AI
spring.ai.openai.base-url (2.0.x; 1.x uses the host root)- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- OpenAI Agents SDK
AsyncOpenAI(base_url=…) + OpenAIChatCompletionsModel (string model names default to /v1/responses)- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- Claude Agent SDK
ClaudeAgentOptions(env={ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN})- Value to enter
https://api.router.one- API used
- Anthropic Messages
POST /v1/messages
- Haystack
OpenAIChatGenerator(api_base_url=…)- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- AnythingLLM
Settings → LLM → Base URL / GENERIC_OPEN_AI_BASE_PATH- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- FastGPT
AI Proxy channel → Base url (Protocol Type: OpenAI)- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- Xcode
Settings → Intelligence → Add a Chat Provider → Internet Hosted → URL (Xcode appends /v1/models and /v1/chat/completions)- Value to enter
https://api.router.one- API used
- Chat Completions
POST /v1/chat/completions
- Qwen Code
OPENAI_BASE_URL (.qwen/.env) / modelProviders.openai[].baseUrl- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- Google ADK
LiteLlm(model="openai/<id>", api_base=…, api_key=…)- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- smolagents
OpenAIModel(model_id=…, api_base=…, api_key=…)- Value to enter
https://api.router.one/v1- API used
- Chat Completions
POST /v1/chat/completions
- Goose
OPENAI_HOST (OPENAI_BASE_PATH keeps its default v1/chat/completions; gpt-5, gpt-6 and o-series names go to /v1/responses, see the guide)- Value to enter
https://api.router.one- API used
- 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.
Integration questions, answered
Which Router One base URL should I use?
For the OpenAI-compatible SDK configuration in these guides, use https://api.router.one/v1. Claude Code and Claude Agent SDK use the host root, https://api.router.one. Clients that ask for a full Chat Completions endpoint need https://api.router.one/v1/chat/completions. Some clients append /v1 themselves; follow the guide for the actual field rather than adding it twice.
Does a listed integration support every model and feature?
A guide documents a particular provider configuration. The selected API, model, and client must all support the feature you need. Check the exact model ID, endpoints, context limit, and tool or image support on the model's detail page. A working text request does not verify streaming, tools, or image input.
Can Router One run my agent or index my knowledge base?
Your client or framework runs the agent loop, executes tools, and manages documents. Router One handles each supported model call. Configure embeddings, reranking, and vector storage separately when your knowledge base needs them; the chat connection alone does not provide those services.
How do I check that my integration worked?
Send a simple request and check its final result. In Dashboard → Logs, match the model, time, and request ID, then inspect tokens, latency, status, and settlement. HTTP 200 alone does not prove a stream completed, and pending settlement does not mean a request was free. The customer log view does not display provider attempts or the internal fallback chain.
Your tool isn't listed?
Check whether it accepts a custom provider URL and API key, then match its request protocol to a supported model. The API reference describes the available endpoints.
Read as Markdown