Zum Inhalt springen

Dokumentation / API

API

Integriere calmo.cloud über die REST-API.

calmo.cloud bietet eine REST-API, mit der du die Server und Odoo-Dienste deines Teams programmatisch verwalten kannst. Die API authentifiziert Anfragen mit Bearer-Tokens.

Soll ein KI-Assistent wie Claude oder ChatGPT mit calmo.cloud arbeiten, verbinde ihn stattdessen mit dem MCP-Server. Er bietet dieselben Möglichkeiten als Werkzeuge, die der Assistent aufrufen kann.

Interaktive Dokumentation #

Die vollständige API-Referenz mit allen Endpunkten, Request-Parametern und Response-Schemas steht als interaktive OpenAPI-Dokumentation zur Verfügung:

Die OpenAPI-Spezifikation kannst du außerdem als JSON unter /docs/api.json herunterladen und in Tools wie Postman oder Insomnia importieren.

Authentifizierung #

Sende dein API-Token im Authorization-Header jeder Anfrage mit:

Authorization: Bearer your-api-token

API-Tokens erstellst du auf der Seite API Tokens im Bereich Developer des Panel-Menüs. Owner und Admins eines Teams können sie öffnen. Ein Token gehört dem Team, nicht der Person, die es erstellt hat: Es funktioniert weiter, wenn diese Person das Team verlässt, und kann alles, was das Team kann, solange du es nicht einschränkst. Die Seite listet alle Tokens deines Teams, auch die, die KI-Assistenten bei der Anmeldung erhalten haben, und entzieht sie.

Was ein Token darf #

Beim Erstellen eines Tokens legst du fest, was es darf. Mit Edit access neben einem Token änderst du das später; das Token selbst bleibt gleich, die Änderung gilt ab seiner nächsten Anfrage.

  • Expires on: Das Token funktioniert bis zum Ende dieses Tages. Lass das Feld leer für ein Token, das nie abläuft.
  • Accepted by: die REST-API und die Kommandozeile, der MCP-Server für KI-Assistenten oder beides.
  • Permissions: Full access oder nur die Berechtigungen, die du auswählst – zum Beispiel Read Odoo services für ein Status-Dashboard oder Start, stop and redeploy Odoo services für eine Deployment-Pipeline. Wer etwas ändern darf, darf es auch lesen. Backups herunterladen und wiederherstellen sind eigene Berechtigungen, weil ein Backup die ganze Datenbank enthält. Ebenso das Lesen der E-Mails, die der Mail-Catcher einer Kopie aufbewahrt hat, weil sie Links zum Zurücksetzen von Passwörtern in die Kopie enthalten können.
  • Only specific Odoo services: Das Token erreicht nur diese Odoos und ihre Kopien. Neue Odoos kann es nicht anlegen.
  • Only specific servers: Das Token erreicht nur diese Server. Neue Server kann es nicht anlegen. Welche Odoos es erreicht, legst du getrennt fest.

Eine Anfrage, die das Token nicht stellen darf, wird mit 403 Forbidden beantwortet, und die Meldung nennt, was fehlt, zum Beispiel „This API token does not have the services:operate scope.“ Listen enthalten nur die Odoos und Server, die das Token erreicht.

Tokens, die es schon vor diesen Optionen gab, und die Tokens, die die Kommandozeile bei der Anmeldung erhält, haben vollen Zugriff.

Tokens werden ausschließlich auf der Seite API Tokens erstellt, geändert und entzogen. Kein Token kann über die API oder den MCP-Server Tokens verwalten, auch nicht sich selbst.

Die API antwortet nur Teams, deren Plan sie enthält, also jedem Plan ab Starter. Siehe Preise und Abrechnung.

Bewahre dein API-Token sicher auf. Es gewährt Zugriff auf die Ressourcen deines Teams. Wurde ein Token kompromittiert, entziehe es sofort und erstelle ein neues.

Kurzes Beispiel #

curl https://calmo.cloud/api/service-odoo \
  -H "Authorization: Bearer your-api-token" \
  -H "Accept: application/json"

Webhooks #

Über die API rufst du calmo.cloud auf. Für die Gegenrichtung — calmo.cloud meldet deinem System, dass etwas passiert ist, etwa dass ein Coding-Agent eine Entscheidung braucht — legst du auf der Seite Webhook unter Developer einen Webhook an. Was dein Endpunkt bekommt, wie du es prüfst und wie du über die API darauf reagierst, steht unter Webhooks.