Skip to content
ShareQuota

API

Both endpoints take the internal key as either an x-api-key header or an Authorization bearer token. Streaming works across dialects — upstream events are re-emitted in the dialect you called, with one unfinished pair listed on the limitations page.

curl http://localhost:20130/v1/messages \  -H "x-api-key: sq-YOUR_KEY" \  -H "content-type: application/json" \  -d '{    "model": "claude/claude-sonnet-5",    "max_tokens": 256,    "messages": [{"role": "user", "content": "Hello"}]  }'

GET /v1/models lists every available model as provider/model identifiers in OpenAI list format.

sdk
import Anthropic from "@anthropic-ai/sdk"// One base URL, one key. Every provider sits behind it.const client = new Anthropic({  baseURL: "http://localhost:20130",  apiKey: "sq-your-internal-key",})const reply = await client.messages.create({  model: "claude/claude-sonnet-5",  max_tokens: 1024,  messages: [{ role: "user", content: "Summarise this repo." }],})