Zum Inhalt springen

REST-API

Der Selu-Orchestrator stellt standardmäßig auf Port 8080 eine REST-API bereit. Alle Endpunkte erfordern Authentifizierung per Bearer-Token, sofern nicht anders angegeben.

http://localhost:8080/api/v1

Setze SELU_API_BASE_URL, wenn der Orchestrator hinter einem Reverse Proxy läuft und du die Basis-URL überschreiben musst.

Gib dein API-Token im Header Authorization mit:

Authorization: Bearer <your-api-token>

Ein Token erzeugst du mit selu token create oder im Dashboard unter Settings → API Tokens.

MethodePfadBeschreibung
GET/agentsListet alle installierten Agenten auf
GET/agents/{name}Liefert Details zu einem bestimmten Agenten
POST/agentsInstalliert einen neuen Agenten aus einer Registry oder einem lokalen Pfad
DELETE/agents/{name}Deinstalliert einen Agenten und entfernt seinen Container
POST/agents/{name}/restartStartet den Laufzeit-Container eines Agenten neu
GET/capabilitiesListet alle registrierten Capabilities auf
GET/capabilities/{name}Liefert Details und Manifest einer Capability
GET/channelsListet konfigurierte Kanäle auf
POST/channelsFügt eine neue Kanalkonfiguration hinzu
DELETE/channels/{id}Entfernt einen Kanal
POST/conversationsStartet ein neues Gespräch mit einem Agenten
POST/conversations/{id}/messagesSendet eine Nachricht in einem bestehenden Gespräch
GET/conversations/{id}Holt den Gesprächsverlauf
GET/healthGesundheitsstatus des Orchestrators, ohne Authentifizierung
Terminal-Fenster
curl -s http://localhost:8080/api/v1/agents \
-H "Authorization: Bearer $SELU_TOKEN"
Terminal-Fenster
curl -s -X POST http://localhost:8080/api/v1/conversations/conv_abc123/messages \
-H "Authorization: Bearer $SELU_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content": "Summarize the latest news on AI regulation."}'

Alle Fehler verwenden eine einheitliche Struktur:

{
"error": {
"code": "NOT_FOUND",
"message": "Agent 'foo' is not installed.",
"request_id": "req_789xyz"
}
}

Es gelten die üblichen HTTP-Statuscodes: 400 für Validierungsfehler, 401 für fehlende oder ungültige Authentifizierung, 404 für unbekannte Ressourcen und 500 für interne Fehler.