VELOBOX API

Interne API-Schnittstellen der VELOBOX

Health

Liefert einen kompakten Systemstatus mit Station-ID, Hostname, Gerätetyp, Version, Port und primärer IP-Adresse.

Liefert erweiterte Geräte-, Netzwerk- und vmkstationd-Informationen.

Einstellungen

Liest die gespeicherten Einstellungen aus der settings.json.

Antwort: JSON-Objekt oder HTTP 404, wenn noch keine Einstellungen existieren.
POST /api/settings

Speichert das übermittelte JSON-Objekt als Einstellungen.

{
  "language": "de",
  "example": true
}

Dateisystem

Listet Dateien und Verzeichnisse innerhalb von FS_ROOT auf.

Query: path – relativer Verzeichnispfad.
GET /api/fs/raw?path=Datei

Liefert eine Datei direkt über sendFile() aus.

Query: path – relativer Dateipfad.
GET /api/fs/read?path=Datei

Liest eine Textdatei und liefert deren Inhalt als JSON.

Standardlimit: 25 MB.
POST /api/fs/write

Schreibt eine Textdatei innerhalb von FS_ROOT.

{
  "filePath": "ClientData/123/test.json",
  "content": "{\"ok\":true}",
  "mkdir": true
}
POST /api/fs/upload

Lädt eine Datei per multipart/form-data hoch.

Felder: file und optional path. Standardlimit: 25 MB.
DELETE /api/fs/delete?path=Datei

Löscht eine Datei oder ein Verzeichnis rekursiv.

Das Löschen von FS_ROOT selbst wird blockiert.

Backup und Wiederherstellung

Liefert den aktuellen Backup- und Restore-Status.

Erstellt ein vollständiges Backup als tar.gz-Download.

Enthält das Dateiverzeichnis sowie vlbclients.sl3db und vlbsettings.sl3db.
POST /api/fs-backup/upload

Stellt ein Backup wieder her. Das Archiv wird direkt als binärer Request-Body übertragen.

Content-Type: application/gzip, application/x-gzip oder application/octet-stream
Maximale Uploadgröße: 500 MB
Die Wiederherstellung ersetzt Dateien und Datenbanken und startet anschließend vmkstationd neu.

VMK-System

Liefert den aktuellen Status von vmkstationd.

Ruft die Developer-Statusinformationen von vmkstationd ab.

Liefert Statistiken zur Client-Datenbank.

Listet verfügbare Dateien aus /var/local/log auf.

GET /api/vmk/logs/:name

Liefert den vollständigen Inhalt einer Logdatei als Text.

GET /api/vmk/logs/:name/live

Öffnet einen Server-Sent-Events-Stream und liefert zunächst die letzten 100 Logzeilen sowie anschließend neue Einträge.

Content-Type: text/event-stream
ACTION /api/vmk/restart-vmkstationd

Startet vmkstationd neu.

Dieser Endpunkt verändert den Systemzustand.

Telemetrie

Erstellt und liefert die aktuellen Telemetriedaten, ohne sie zu übertragen.

POST /api/telemetry/send

Erstellt die aktuellen Telemetriedaten und sendet sie an den konfigurierten Telemetrie-Server.

Offline Update

Weboberfläche zum manuellen Einspielen lokaler Updatepakete.

Liefert den aktuellen Status eines laufenden oder abgeschlossenen Offline-Updates.

Enthält Status, Version, Gerätetyp, Start-/Endzeitpunkt, Exit-Code und Logausgaben.
POST /api/offline-update/upload

Lädt ein lokales Updatepaket hoch und startet die Installation automatisch.

Content-Type: multipart/form-data
Feldname: update
Maximale Dateigröße: 500 MiB
Dateiname:

<gerät>_update_<version>.tar.gz
      
Beispiele:

velobox_update_3.2.0.tar.gz
cube_update_2.4.0.tar.gz
smartcube_update_1.8.5.tar.gz
      
Das Archiv muss ein Shell-Skript mit identischem Versionsnamen enthalten. Beispiel:

velobox_update_3.2.0.sh