Cadreen exposes a standard OpenAI-compatible /api/v1/cadreen/chat/completions endpoint. Point any OpenAI client at it and you get governance, memory, and intelligence.
from openai import OpenAI
client = OpenAI(
base_url="https://api.cadreen.com/api/v1/cadreen",
api_key="sk_cadreen_..."
)
response = client.chat.completions.create(
model="cadreen",
messages=[{"role": "user", "content": "What connectors do I have?"}]
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.cadreen.com/api/v1/cadreen",
apiKey: "sk_cadreen_...",
});
const response = await client.chat.completions.create({
model: "cadreen",
messages: [{ role: "user", content: "What connectors do I have?" }],
});
console.log(response.choices[0].message.content);curl -X POST https://api.cadreen.com/api/v1/cadreen/chat/completions \
-H "Authorization: Bearer sk_cadreen_..." \
-H "Content-Type: application/json" \
-d '{
"model": "cadreen",
"messages": [{"role": "user", "content": "What connectors do I have?"}],
"stream": true
}'Set stream: true to get SSE chunks. Cadreen sends keepalive comments every 15 seconds during long operations.
stream = client.chat.completions.create(
model="cadreen",
messages=[{"role": "user", "content": "Hello!"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")Cadreen supports hybrid tool execution. Your tools pass through. Cadreen's tools execute server-side with governance.
response = client.chat.completions.create(
model="cadreen",
messages=[{"role": "user", "content": "Read main.go and summarize it"}],
tools=[{
"type": "function",
"function": {
"name": "read",
"description": "Read a file",
"parameters": {
"type": "object",
"properties": {
"path": {"type": "string", "description": "File path"}
},
"required": ["path"]
}
}
}]
)Every response includes Cadreen-specific metadata alongside the OpenAI-compatible fields.
{
"choices": [{
"message": {
"role": "assistant",
"content": "You have 3 active connectors.",
"metadata": {
"confidence": 0.92,
"cadreen_type": "direct",
"classification": { "intent": "question", "complexity": "simple" },
"assessment": { "can_do": 0.85, "assessment_quality": "complete" },
"governance": { "decision": "auto", "approved": true }
}
}
}],
"intelligence": {
"reasoning": { "intent": "question", "approach": "direct_answer" },
"capability": { "can_do": 0.85 },
"governance": { "active": true, "decision": "auto" }
}
}