Home / Docs / Base URLs

Base URLs

The one setting that trips everyone up: which URL each client expects, with and without the /v1 suffix.

Almost every failed integration is a base-URL mistake. This page is the reference for exactly what to set.

The rule

ClientSet base URL toThen it calls
Anthropic SDK (Python / TS)https://aiprimetech.iohttps://aiprimetech.io/v1/messages
Claude Codehttps://aiprimetech.iohttps://aiprimetech.io/v1/messages
OpenAI SDK (Python / TS)https://aiprimetech.io/v1https://aiprimetech.io/v1/chat/completions
LangChain / LiteLLM / Cursorhttps://aiprimetech.io/v1https://aiprimetech.io/v1/chat/completions
Anthropic clients: no /v1. OpenAI clients: with /v1. The Anthropic SDK appends /v1/messages to whatever base you give it; the OpenAI SDK appends only /chat/completions. Adding /v1 to an Anthropic base produces requests to /v1/v1/messages, which 404s.

How to tell which mistake you made

You seeMeaning
404 and the path contains /v1/v1/You added /v1 to an Anthropic-style base URL. Remove it.
404 on /chat/completions with no /v1You omitted /v1 from an OpenAI-style base URL. Add it.
404 on /v1/chat/completions from an Anthropic toolThe tool speaks Messages, not Chat Completions. Use the Anthropic base and endpoint.
Connection works but every call 401sRight URL, wrong auth header for that format. See Authentication.

Verifying without any SDK

This is the fastest way to prove the URL and key are right before blaming your framework:

"c"># should return JSON with a "data" array of model ids
curl -s -o /dev/null -w "%{http_code}\n" https://aiprimetech.io/v1/models \
  -H "Authorization: Bearer $CLAUDEAPIKEY"

A 200 means URL and key are both correct, and any remaining problem is in your client configuration.