Zum Hauptinhalt springen

API & Automatisierung

Verbindung

  • Standardport: 22100 (konfigurierbar, 1024–65535)
  • Authentifizierung: Bearer-Token im Header Authorization: Bearer <token>
  • API-Dokumentation: Interaktive Redoc-UI unter /api/v1/docs
  • OpenAPI-Spezifikation: /api/v1/openapi.json

REST-API

Die API umfasst 42 Endpunkte. Hier die wichtigsten:

VM-Lifecycle

MethodeEndpunktBeschreibung
GET/api/v1/vmsAlle VMs auflisten
GET/api/v1/vms/:idVM-Details
POST/api/v1/vms/:id/startVM starten
POST/api/v1/vms/:id/stopVM stoppen (ACPI)
POST/api/v1/vms/:id/force-stopVM sofort beenden
POST/api/v1/vms/:id/pauseVM pausieren
POST/api/v1/vms/:id/resumeVM fortsetzen

Snapshots

MethodeEndpunktBeschreibung
GET/api/v1/vms/:id/snapshotsSnapshots auflisten
POST/api/v1/vms/:id/snapshotsSnapshot erstellen
POST/api/v1/vms/:id/snapshots/:sid/restoreWiederherstellen
DELETE/api/v1/vms/:id/snapshots/:sidLöschen

Konsole

MethodeEndpunktBeschreibung
GET/api/v1/vms/:id/consoleAusgabe lesen
POST/api/v1/vms/:id/consoleText senden
POST/api/v1/vms/:id/console/executeBefehl ausführen
DELETE/api/v1/vms/:id/consolePuffer leeren

Echtzeit-Events

Über /api/v1/events können Live-Events per WebSocket oder Server-Sent Events (SSE) empfangen werden:

  • vm.started, vm.stopped, vm.paused, vm.resumed, vm.error
  • snapshot.created, snapshot.restored, snapshot.deleted
  • console.output
  • download.started, download.completed, download.failed

Webhooks

  • Event-Filter: Bestimmte Events auswählen oder alle empfangen
  • HMAC-Secret: Optionale Signatur-Validierung über X-Nemeton-Secret-Header
  • Asynchrone Zustellung: Nicht-blockierend mit automatischem Retry

MCP (Model Context Protocol)

Über /mcp steht ein JSON-RPC-2.0-Interface mit 24 Tools bereit:

ToolBeschreibung
list_vmsAlle VMs auflisten
start_vm / stop_vmVM starten / stoppen
send_consoleBefehl an Konsole senden
read_consoleKonsolenausgabe lesen
take_screenshotScreenshot als Base64-JPEG
create_snapshotSnapshot erstellen
clone_vmVM als CoW-Klon duplizieren
resize_diskFestplatte vergrößern
get_host_infoHost-Systeminformationen