TypeScript & Python SDKs
There's nothing to install beyond the official OpenAI and Anthropic SDKs. Override the base URL and you're done.
The /v1 gotcha
The OpenAI base URL includes /v1 (.../oss/v1). The Anthropic base URL excludes it (.../oss) because the SDK appends /v1/messages.
OpenAI SDK
python
from openai import OpenAI client = OpenAI( base_url="https://api.opengateway.one/oss/v1", # includes /v1 api_key="YOUR_KEY", ) resp = client.chat.completions.create( model="claude-sonnet-4-7", messages=[{"role": "user", "content": "Hello!"}], ) print(resp.choices[0].message.content)
typescript
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.opengateway.one/oss/v1", // includes /v1 apiKey: process.env.OPENGATEWAY_API_KEY, }); const resp = await client.chat.completions.create({ model: "moonshotai/Kimi-K2.7-Code:preferred", messages: [{ role: "user", content: "Hello!" }], }); console.log(resp.choices[0].message.content);
Anthropic SDK
python
from anthropic import Anthropic client = Anthropic( base_url="https://api.opengateway.one/oss", # NO /v1 api_key="YOUR_KEY", ) msg = client.messages.create( model="claude-sonnet-4-7", max_tokens=512, messages=[{"role": "user", "content": "Hello!"}], ) print(msg.content[0].text)
typescript
import Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic({ baseURL: "https://api.opengateway.one/oss", // NO /v1 apiKey: process.env.OPENGATEWAY_API_KEY, }); const msg = await client.messages.create({ model: "claude-sonnet-4-7", max_tokens: 512, messages: [{ role: "user", content: "Hello!" }], }); console.log(msg.content);
Which base URL?
| SDK | Base URL |
|---|---|
openai (Python & TS) | https://api.opengateway.one/oss/v1 |
@anthropic-ai/sdk / anthropic | https://api.opengateway.one/oss |
For routing policies and friendly aliases, see Lanes; for the reasoning dial, see Effort levels.