Agents
Chat Completions API
Legacy-compatible endpoint for Calypso Agents with message-based streaming.
Overview
Use Chat Completions when you need a classic message-based interface that is compatible with older OpenAI client patterns.
To call this API you need an API key. Start a free 14-day trial: app.calypso.ms/signup
- Endpoint:
POST /chat/completions - Base URL:
http://ai.calypso.day/v1
Basic request
{
"model": "calypso-support-agent",
"messages": [
{ "role": "user", "content": "Draft a calm refund update message for {{name}}." }
]
}
Python (non-streaming)
from openai import OpenAI
client = OpenAI(
api_key="YOUR_CALYPSO_API_KEY",
base_url="http://ai.calypso.day/v1"
)
resp = client.chat.completions.create(
model="calypso-support-agent",
messages=[
{"role": "user", "content": "Draft a calm refund update message for {{name}}."}
]
)
print(resp.choices[0].message.content)
Streaming
Set stream=True to receive incremental deltas (chunked).
Python (streaming)
from openai import OpenAI
client = OpenAI(
api_key="YOUR_CALYPSO_API_KEY",
base_url="http://ai.calypso.day/v1"
)
stream = client.chat.completions.create(
model="calypso-support-agent",
messages=[
{"role": "user", "content": "Draft a calm refund update message for {{name}}."}
],
stream=True
)
for chunk in stream:
delta = chunk.choices[0].delta
if delta and getattr(delta, "content", None):
print(delta.content, end="")
JavaScript (Node.js streaming)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.CALYPSO_API_KEY,
baseURL: "http://ai.calypso.day/v1",
});
const stream = await client.chat.completions.create({
model: "calypso-support-agent",
messages: [{ role: "user", content: "Draft a calm refund update message for {{name}}." }],
stream: true,
});
for await (const chunk of stream) {
const delta = chunk.choices?.[0]?.delta?.content;
if (delta) process.stdout.write(delta);
}

