Developer documentation
Your first model request.
Connect your account, select a supported model and start building with the API. You can also use our setup wizard to configure a coding client.
1. Get your API key
Open API Keys in your dashboard. Use an owner-scoped User API Key for integrations and the setup credential your wizard provides for managed clients. A dashboard session is not an API key.
Send your key with the Authorization: Bearer header. Keep it in a server-side environment variable, and never commit it to source control or put it in public browser code.
2. Send a streaming request
The Responses endpoint uses stream: true. The example below requests ChatGPT 6.1 SOL with Extra High reasoning. Requested models and effort follow the service’s managed routing settings.
curl https://chatplus.chat/v1/responses \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"input": "Build something useful.",
"reasoning": { "effort": "xhigh" },
"stream": true
}'import os
import requests
with requests.post(
"https://chatplus.chat/v1/responses",
headers={"Authorization": f"Bearer {os.environ['API_KEY']}"},
json={
"model": "gpt-6.1-sol",
"input": "Build something useful.",
"reasoning": {"effort": "xhigh"},
"stream": True,
},
stream=True, timeout=(15, 300),
) as response:
response.raise_for_status()
for line in response.iter_lines():
if line:
print(line.decode())// Run on your server, keeping API_KEY private.
const response = await fetch("https://chatplus.chat/v1/responses", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-6.1-sol",
input: "Build something useful.",
reasoning: { effort: "xhigh" },
stream: true,
}),
});
if (!response.ok) throw new Error(`API returned ${response.status}`);
const decoder = new TextDecoder();
for await (const chunk of response.body) {
process.stdout.write(decoder.decode(chunk, { stream: true }));
}3. Choose a supported model
Use the exact ID in the model catalogue. Each detail view includes capabilities and a copy button. Account eligibility and current model rates are available in your dashboard.
For Chat Completions use /v1/chat/completions, a messages array and reasoning_effort: "xhigh" for Extra High where supported. Claude integrations can use the Messages endpoint documented in the full API reference.
Prefer a coding client?
codexclaude and claudecodex are designed for this service and receive one automatic 15% saving in usage charges. Our wizard also supports Codex CLI, Claude Code and other compatible tools.
Open setup wizard →Keep an eye on usage
Your dashboard separates Credit Wallet balance, monthly membership use and the five-hour allowance. Active paid Unlimited top-ups take priority. Pause stops unused countdown; normal charging resumes while paused. See your current plan and rate card before starting larger workloads.
Coming from another compatible API?
Update the base URL, replace your API key and use one of our exact supported model IDs. Keep the standard endpoint and request shape supported by your integration. Provider-specific routing, plugins or aliases from another service do not automatically transfer.