API-Referenz
Übersicht
Die Mycelis-API ist vollständig kompatibel mit der OpenAI Chat Completions API. Das bedeutet: jedes Tool, SDK oder jede Bibliothek, die mit OpenAI funktioniert, funktioniert auch mit Mycelis — du änderst lediglich die base_url und den API-Key.
Die vollständige OpenAI API-Dokumentation (Endpunkte, Parameter, Felder) findest du hier: platform.openai.com/docs/api-reference
Authentifizierung
Mycelis verwendet Bearer-Token-Authentifizierung. Den API-Key erstellst du unter Dashboard → API-Keys.
Authorization: Bearer myk_...
Base URL
https://deine-domain.com/api/proxy/v1
Der model-Parameter im Request-Body entspricht dem Slug des Agents oder Deployments, den du in Mycelis angelegt hast.
Chat Completions
Einfacher Request
POST /api/proxy/v1/chat/completions
Authorization: Bearer myk_...
Content-Type: application/json
{
"model": "mein-agent",
"messages": [
{ "role": "user", "content": "Was ist RAG?" }
]
}
Response
{
"id": "chatcmpl-...",
"object": "chat.completion",
"model": "mein-agent",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "RAG steht für Retrieval-Augmented Generation..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 87,
"total_tokens": 99
}
}
Streaming
POST /api/proxy/v1/chat/completions
Authorization: Bearer myk_...
Content-Type: application/json
{
"model": "mein-agent",
"stream": true,
"messages": [
{ "role": "user", "content": "Erkläre mir Transformer-Architekturen." }
]
}
Die Antwort kommt als Server-Sent Events (SSE) im Format data: {...}\n\n, abgeschlossen mit data: [DONE].
Mit dem OpenAI Python SDK
from openai import OpenAI
client = OpenAI(
api_key="myk_...",
base_url="https://deine-domain.com/api/proxy/v1"
)
response = client.chat.completions.create(
model="mein-agent",
messages=[{"role": "user", "content": "Hallo!"}]
)
print(response.choices[0].message.content)
Mit dem OpenAI Node.js SDK
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "myk_...",
baseURL: "https://deine-domain.com/api/proxy/v1",
});
const response = await client.chat.completions.create({
model: "mein-agent",
messages: [{ role: "user", content: "Hallo!" }],
});
console.log(response.choices[0].message.content);
Mit curl
curl https://deine-domain.com/api/proxy/v1/chat/completions \
-H "Authorization: Bearer myk_..." \
-H "Content-Type: application/json" \
-d '{
"model": "mein-agent",
"messages": [{"role": "user", "content": "Hallo!"}]
}'
Unterstützte Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
model |
string | Slug des Agents oder Deployments |
messages |
array | Chat-Verlauf im OpenAI-Format |
stream |
boolean | Streaming aktivieren (SSE) |
temperature |
number | Kreativität (0–2) |
max_tokens |
integer | Maximale Ausgabelänge |
top_p |
number | Nucleus Sampling |
stop |
string/array | Stop-Sequenzen |
Alle weiteren Parameter werden 1:1 an das zugrunde liegende Deployment weitergeleitet. Die vollständige Parameterliste findest du in der OpenAI API-Referenz.
Fehlercodes
| Code | Bedeutung |
|---|---|
401 |
Ungültiger oder fehlender API-Key |
403 |
Keine Berechtigung für diesen Workspace |
404 |
Agent/Deployment nicht gefunden |
400 |
Ungültige Anfrage oder Provider-Key nicht konfiguriert |
503 |
Deployment nicht aktiv (startet noch oder gestoppt) |