/v1 when your client expects the opposite, the model field isn’t your registered deployment name, the connector for that deployment isn’t online, or the model itself doesn’t support what the client is asking for (like tool calling). Work through this page top to bottom before assuming something deeper is wrong.
Which base URL does my client use?
Pick the base URL by the API shape your client speaks. The client itself appends the rest of the path (/chat/completions, /responses, or /messages) — you only set the root.
Works with curl but fails in my agent
If a plaincurl request succeeds but the same call fails from inside a client, framework, or agent, check these in order:
The base URL includes the full request path
The base URL includes the full request path
Some clients want just the root (
https://api.tokios.com/v1) and append /chat/completions themselves; others want the full path pasted in. If you copied a URL that already ends in /chat/completions, /responses, or /messages into a field that also appends its own path, you’ll get a doubled or malformed path. Set the base URL to the root shown in the table above and let the client add the rest.The client requires tool calling and the model doesn't support it
The client requires tool calling and the model doesn't support it
Agent frameworks and coding assistants often send a
tools array on every request, even for simple prompts. Tokios passes the tools structure straight through to your model, but the model itself has to support function calling — if it doesn’t, the request can fail or the model can ignore the tools silently. Confirm the underlying model supports tool calling before debugging the client further.The model name isn't the deployment name
The model name isn't the deployment name
The
model field must be the public deployment name you registered in the console’s Models tab (for example, gemma-tunnel) — not the upstream model id your backend serves (for example, gemma:7b). A curl request with the correct deployment name will work while a client still configured with the backend’s local id returns a 404.What each error code means
Confirm the tunnel independently
Before you keep debugging client-side config, isolate whether the problem is the client or the model/connector itself. Open the console’s Playground and send a test prompt to the same deployment — it runs against your signed-in session, so you don’t need an API key. If the Playground works, the tunnel and model are fine and the issue is in your client’s base URL, model value, or request shape. If the Playground also fails, the problem is upstream of the client — check the connector and deployment instead.Next steps
Compatible clients
Base URL and API key settings for each supported client, in one table.
Claude Code
Environment variables and model flag for Anthropic-style setup.
SDKs & frameworks
LangChain, LlamaIndex, Vercel AI SDK, and Pydantic AI configuration.
API endpoints
Full request and response schemas for every surface.