Externe APIs
Diese Endpunkte sind für die Verwendung durch andere Anwendungen und Integrationen konzipiert, zum Beispiel Homepage.
Gesamtübersicht abrufen - /api/summary
-
Endpunkt:
/api/summary -
Methode: GET
-
Beschreibung: Ruft eine Zusammenfassung aller Backup-Operationen auf allen Servern ab.
-
Antwort:
{"totalServers": 3,"totalBackupsRuns": 9,"totalBackups": 9,"totalUploadedSize": 2397229507,"totalStorageUsed": 43346796938,"totalBackupSize": 126089687807,"overdueBackupsCount": 2,"secondsSinceLastBackup": 7200} -
Fehlerantworten:
500: Serverfehler beim Abrufen der Zusammenfassungsdaten
-
Hinweise:
- In Version 0.5.x wurde das Feld
totalBackupedSizedurchtotalBackupSizeersetzt - In Version 0.7.x wurde das Feld
totalMachinesdurchtotalServersersetzt - Das Feld
overdueBackupsCountzeigt die Anzahl der aktuell überfälligen Sicherungen an - Das Feld
secondsSinceLastBackupzeigt die Zeit in Sekunden seit der letzten Sicherung über alle Server hinweg an - Gibt bei Fehlern eine Ersatzantwort mit Nullwerten zurück
- Hinweis: Für die Verwendung im internen Dashboard ziehen Sie
/api/dashboardin Betracht, das diese Daten sowie zusätzliche Informationen enthält
- In Version 0.5.x wurde das Feld
Letztes Backup abrufen - /api/lastbackup/:serverId
- Endpunkt:
/api/lastbackup/:serverId - Methode: GET
- Beschreibung: Ruft die neuesten Backup-Informationen für einen bestimmten Server ab.
- Parameter:
serverId: die Serverkennung (ID oder Name)
Notiz
Die Serverkennung muss URL-kodiert sein.
-
Antwort:
{"server": {"id": "unique-server-id","name": "Server Name","backup_name": "Backup Name","backup_id": "backup-id","created_at": "2024-03-20T10:00:00Z"},"latest_backup": {"id": "backup-id","server_id": "unique-server-id","name": "Backup Name","date": "2024-03-20T10:00:00Z","status": "Success","warnings": 0,"errors": 0,"messages": 150,"fileCount": 249426,"fileSize": 113395849938,"uploadedSize": 331318892,"duration": "00:38:31","duration_seconds": 2311.6018052,"durationInMinutes": 38.52669675333333,"knownFileSize": 27203688543,"backup_list_count": 10,"messages_array": ["message1", "message2"],"warnings_array": ["warning1"],"errors_array": [],"available_backups": ["v1", "v2", "v3"]},"status": 200} -
Fehlerantworten:
404: Server nicht gefunden500: Interner Serverfehler
-
Hinweise:
- In Version 0.7.x hat sich der Schlüssel des Antwortobjekts von
machinezuservergeändert - Die Serverkennung kann entweder die ID oder der Name sein
- Gibt null für latest_backup zurück, wenn keine Sicherungen vorhanden sind
- Beinhaltet Cache-Control-Header, um das Zwischenspeichern zu verhindern
- In Version 0.7.x hat sich der Schlüssel des Antwortobjekts von
Letzte Backups abrufen - /api/lastbackups/:serverId
- Endpunkt:
/api/lastbackups/:serverId - Methode: GET
- Beschreibung: Ruft die neuesten Backup-Informationen für alle konfigurierten Backups (z. B. 'Dateien', 'Datenbanken') auf einem bestimmten Server ab.
- Parameter:
serverId: die Serverkennung (ID oder Name)
Notiz
Die Serverkennung muss URL-kodiert sein.
-
Antwort:
{"server": {"id": "unique-server-id","name": "Server Name","backup_name": "Default Backup","backup_id": "backup-id","created_at": "2024-03-20T10:00:00Z"},"latest_backups": [{"id": "backup1","server_id": "unique-server-id","name": "Files","date": "2024-03-20T10:00:00Z","status": "Success","warnings": 0,"errors": 0,"messages": 150,"fileCount": 249426,"fileSize": 113395849938,"uploadedSize": 331318892,"duration": "00:38:31","duration_seconds": 2311.6018052,"durationInMinutes": 38.52669675333333,"knownFileSize": 27203688543,"backup_list_count": 10,"messages_array": "[\"message1\", \"message2\"]","warnings_array": "[\"warning1\"]","errors_array": "[]","available_backups": ["v1", "v2", "v3"]},{"id": "backup2","server_id": "unique-server-id","name": "Databases","date": "2024-03-20T11:00:00Z","status": "Success","warnings": 1,"errors": 0,"messages": 75,"fileCount": 125000,"fileSize": 56789012345,"uploadedSize": 123456789,"duration": "00:25:15","duration_seconds": 1515.1234567,"durationInMinutes": 25.25205761166667,"knownFileSize": 12345678901,"backup_list_count": 5,"messages_array": ["message1"],"warnings_array": ["warning1"],"errors_array": [],"available_backups": ["v1", "v2"]}],"backup_jobs_count": 2,"backup_names": ["Files", "Databases"],"status": 200} -
Fehlerantworten:
404: Server nicht gefunden500: Interner Serverfehler
-
Hinweise:
- In Version 0.7.x hat sich der Schlüssel des Antwortobjekts von
machinezuservergeändert und das Feldbackup_types_countwurde inbackup_jobs_countumbenannt - Die Serverkennung kann entweder die ID oder der Name sein
- Gibt die letzte Sicherung für jeden Sicherungsauftrag (backup_name) zurück, den der Server besitzt
- Im Gegensatz zu
/api/lastbackup/:serverId, das nur die jeweils aktuellste Sicherung des Servers zurückgibt (unabhängig vom Sicherungsauftrag) - Beinhaltet Cache-Control-Header, um das Zwischenspeichern zu verhindern
- In Version 0.7.x hat sich der Schlüssel des Antwortobjekts von
Backup-Daten hochladen - /api/upload
-
Endpunkt:
/api/upload -
Methode: POST
-
Beschreibung: Lädt Backup-Operationsdaten für einen Server hoch. Unterstützt die Erkennung doppelter Backup-Läufe und sendet Benachrichtigungen.
-
Anforderungstext: JSON, gesendet von Duplicati, mit folgenden Optionen:
--send-http-url=http://my.local.server:9666/api/upload--send-http-result-output-format=Json--send-http-log-level=Information -
Antwort:
{"success": true} -
Fehlerantworten:
400: Erforderliche Felder in den Abschnitten Extra oder Data fehlen oder MainOperation ist ungültig409: Doppelte Sicherungsdaten (wird ignoriert)500: Serverfehler bei der Verarbeitung der Sicherungsdaten
-
Hinweise:
- Verarbeitet nur Sicherungsvorgänge (MainOperation muss „Backup“ sein)
- Überprüft erforderliche Felder im Extra-Abschnitt: machine-id, machine-name, backup-name, backup-id
- Überprüft erforderliche Felder im Data-Abschnitt: ParsedResult, BeginTime, Duration
- Erkennt automatisch doppelte Sicherungsläufe und gibt den Status 409 zurück
- Sendet Benachrichtigungen nach erfolgreichem Einfügen der Sicherung (falls konfiguriert)
- Protokolliert Anforderungsdaten in einer Datei im
data-Verzeichnis im Projektstamm im Entwicklungsmodus zur Fehlerbehebung - Verwendet eine Transaktion für Datenkonsistenz