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
| Methode | Endpunkt | Beschreibung |
|---|
| GET | /api/v1/vms | Alle VMs auflisten |
| GET | /api/v1/vms/:id | VM-Details |
| POST | /api/v1/vms/:id/start | VM starten |
| POST | /api/v1/vms/:id/stop | VM stoppen (ACPI) |
| POST | /api/v1/vms/:id/force-stop | VM sofort beenden |
| POST | /api/v1/vms/:id/pause | VM pausieren |
| POST | /api/v1/vms/:id/resume | VM fortsetzen |
Snapshots
| Methode | Endpunkt | Beschreibung |
|---|
| GET | /api/v1/vms/:id/snapshots | Snapshots auflisten |
| POST | /api/v1/vms/:id/snapshots | Snapshot erstellen |
| POST | /api/v1/vms/:id/snapshots/:sid/restore | Wiederherstellen |
| DELETE | /api/v1/vms/:id/snapshots/:sid | Löschen |
Konsole
| Methode | Endpunkt | Beschreibung |
|---|
| GET | /api/v1/vms/:id/console | Ausgabe lesen |
| POST | /api/v1/vms/:id/console | Text senden |
| POST | /api/v1/vms/:id/console/execute | Befehl ausführen |
| DELETE | /api/v1/vms/:id/console | Puffer 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.errorsnapshot.created, snapshot.restored, snapshot.deletedconsole.outputdownload.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:
| Tool | Beschreibung |
|---|
list_vms | Alle VMs auflisten |
start_vm / stop_vm | VM starten / stoppen |
send_console | Befehl an Konsole senden |
read_console | Konsolenausgabe lesen |
take_screenshot | Screenshot als Base64-JPEG |
create_snapshot | Snapshot erstellen |
clone_vm | VM als CoW-Klon duplizieren |
resize_disk | Festplatte vergrößern |
get_host_info | Host-Systeminformationen |