Zum Hauptinhalt springen

API-Übersicht

Dieses Dokument beschreibt alle verfügbaren API-Endpunkte für die duplistatus-Anwendung. Die API folgt REST-Prinzipien und bietet umfassende Funktionen zur Backup-Überwachung, Benachrichtigungsverwaltung und Systemadministration.

API-Struktur

Für eine schnelle Übersicht über alle Endpunkte siehe die API-Endpunktliste.

Die API ist in logische Gruppen unterteilt:

Für eine schnelle Übersicht über alle Endpunkte siehe die API-Endpunktliste.

Antwortformat

Alle API-Antworten werden im JSON-Format mit konsistenten Fehlernbehandlungsmustern zurückgegeben. Erfolgreiche Antworten enthalten typischerweise ein status-Feld, während Fehlerantworten die Felder error und message enthalten.


Fehlerbehandlung

Alle Endpunkte folgen einem konsistenten Muster zur Fehlerbehandlung:

  • 400 Bad Request: Ungültige Anfragedaten oder fehlende erforderliche Felder
  • 401 Unauthorized: Ungültige oder fehlende Sitzung, abgelaufene Sitzung oder fehlgeschlagene CSRF-Token-Validierung
  • 403 Forbidden: Vorgang nicht erlaubt (z. B. Löschung einer Sicherung in der Produktionsumgebung) oder fehlgeschlagene CSRF-Token-Validierung
  • 404 Not Found: Ressource nicht gefunden
  • 409 Conflict: Doppeldaten (bei Upload-Endpunkten)
  • 500 Internal Server Error: Serverseitige Fehler mit detaillierten Fehlermeldungen
  • 503 Service Unavailable: Fehler bei Zustandsprüfungen, Probleme mit der Datenbankverbindung oder nicht verfügbarer Cron-Dienst

Fehlerantworten enthalten:

  • error: Menschlich lesbare Fehlermeldung
  • message: Technische Fehlerdetails (im Entwicklungsmodus)
  • stack: Fehler-Stack-Trace (im Entwicklungsmodus)
  • timestamp: Wann der Fehler aufgetreten ist

Hinweise zu Datentypen

Nachrichten-Arrays

Die Felder messages_array, warnings_array und errors_array werden als JSON-Zeichenketten in der Datenbank gespeichert und als Arrays in den API-Antworten zurückgegeben. Diese enthalten die tatsächlichen Protokollmeldungen, Warnungen und Fehler aus Duplicati-Backup-Operationen.

Verfügbare Backups

Das Feld available_backups enthält ein Array von Zeitstempeln der Backup-Versionen (im ISO-Format), die für die Wiederherstellung verfügbar sind. Dies wird aus den Backup-Protokollmeldungen extrahiert.

Dauer-Felder

  • duration: Menschlich lesbare Formatierung (z. B. "00:38:31")
  • duration_seconds: Rohdauer in Sekunden
  • durationInMinutes: Dauer in Minuten umgerechnet für Diagrammdarstellungen

Dateigrößen-Felder

Alle Dateigrößen-Felder werden als Zahlen in Byte zurückgegeben, nicht als formatierte Zeichenketten. Die Frontend-Anwendung ist dafür verantwortlich, diese in menschlich lesbare Formate (KB, MB, GB usw.) umzuwandeln.


Vorsicht

Stellen Sie den duplistatus-Server nicht dem öffentlichen Internet zur Verfügung. Nutzen Sie ihn in einem sicheren Netzwerk (z. B. lokales LAN, geschützt durch eine Firewall).

Die Bereitstellung der duplistatus-Schnittstelle im öffentlichen Internet ohne angemessene Sicherheitsmaßnahmen könnte zu unbefugtem Zugriff führen.