Uptimeify Docs

Datenexport anfordern

Stellt einen vollständigen Export der Inhalte deiner Organisation als JSON und CSV in die Warteschlange, als ZIP zum Download, angekündigt per E-Mail.

POST /api/organization/data-export

Startet einen vollständigen Export von allem, was deine Organisation in Uptimeify hat: Kunden, Monitore aller Typen, Vorfälle und Vorfalls-Updates, Wartungsfenster, Benachrichtigungskanäle, Tags, Statusseiten, Reports samt Lauf-Historie, Abrechnungsdaten, Teammitglieder, API-Token-Metadaten, Incident-Management-Konfiguration und -Historie sowie, sofern du nicht abwählst, die rohe Check-Historie hinter deinen Monitoren.

Die Anfrage antwortet sofort mit 202 Accepted. Das Bundle entsteht im Hintergrund; sobald es fertig ist, geht eine E-Mail mit Download-Link an die Empfänger, und der Export erscheint in GET /api/organization/data-export als ready.

Request-Body

FeldTypDefaultBeschreibung
includeCheckHistorybooleantrueRohe Check-Zeilen einschließen. Das ist der Löwenanteil des Bundles; false liefert einen reinen Konfigurations-Export.
recipientEmailsstring[]Administratoren der OrganisationWer die „Export ist fertig"-E-Mail bekommt. Jede Adresse muss zu einem Mitglied dieser Organisation gehören. Maximal 20.

Beispiel (cURL)

BASE_URL="https://uptimeify.io"
TOKEN="<dein-api-token>"

curl -X POST "$BASE_URL/api/organization/data-export" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "includeCheckHistory": true
  }'

Antwort (Response)

{
  "id": "0f0f2f6a-2b3b-4a2f-9a7c-3e5f8c1d2b44",
  "status": "queued",
  "format": "json_csv",
  "includeCheckHistory": true,
  "recipientEmails": ["admin@deineagentur.com"],
  "sizeBytes": null,
  "retentionCutoff": null,
  "expiresAt": null,
  "downloadCount": 0,
  "lastDownloadedAt": null,
  "error": null,
  "manifest": null,
  "createdAt": "2026-07-30T09:12:44.101Z",
  "startedAt": null,
  "completedAt": null
}

Was im Bundle steckt

Ein ZIP mit beiden Formaten plus Index:

  • manifest.json, jeder Bereich mit Zeilenanzahl, Retention-Grenze pro Paket und Vollständigkeits-Flags
  • README.txt, was enthalten, was geschwärzt, was unvollständig ist
  • json/<bereich>.json, Datensätze in voller Tiefe
  • csv/<bereich>.csv, dieselben Datensätze, flach und tabellenfertig

Drei Regeln begrenzen den Inhalt:

  • Retention. Zeitreihen (Check-Historie, Alarm-Zustellungen, SMS-Log) reichen so weit zurück, wie die Datenvorhaltung der Pakete deiner Kunden es hergibt. Ältere Zeilen werden nicht zurückgehalten, es gibt sie nicht mehr.
  • Zugangsdaten. Passwörter, Webhook-Secrets, Integrations- und Ingest-Tokens, API-Token-Hashes und SMTP-Passwörter werden durch [redacted] ersetzt. Der restliche Datensatz wird vollständig exportiert.
  • Gleitende Fenster. organization/audit-log enthält administrative Aktionen (wer was getan hat, von welcher IP und mit welchem User-Agent). Das ist ein gleitendes Fenster der jüngsten Aktivität (standardmäßig 30 Tage) und kein dauerhaftes Protokoll. Der note des Bereichs in manifest.json nennt den Zeitraum, den der Export abdeckt.

Die rohe Check-Historie ist pro Monitor-Typ gekappt (standardmäßig die 100.000 neuesten Zeilen). Ein gekappter Bereich trägt truncated in manifest.json; den Rest holst du pro Monitor über GET /api/websites/{id}/check-history?format=csv und die entsprechenden Endpunkte der anderen Monitor-Typen.

truncated markiert außerdem einen Bereich, dessen Quelle während des Exports nicht lesbar war. Ein solcher Bereich trägt einen note, der mit INCOMPLETE beginnt, und null Zeilen, das ist ausdrücklich keine Aussage darüber, dass der Bereich leer wäre. Fordere einen neuen Export an, um es erneut zu versuchen.

Limits

  • Ein Export gleichzeitig pro Organisation (409 exportAlreadyRunning).
  • Eine Anfrage pro Organisation alle 6 Stunden (429 exportCooldown).
  • Ein fertiger Export bleibt 7 Tage herunterladbar; danach wird die Datei gelöscht und der Datensatz auf expired gesetzt.

Häufige Fehler

  • 400 User must belong to an organization wenn aus Session oder Token keine Organisation abgeleitet werden kann
  • 400 Recipients must be members of this organization (data.code: invalidExportRecipient) wenn recipientEmails eine externe Adresse enthält
  • 401 Unauthorized wenn du nicht authentifiziert bist
  • 403 Forbidden wenn deine Rolle die Organisation nicht verwalten darf
  • 409 An export is already being generated (data.code: exportAlreadyRunning)
  • 429 An export was already requested within the last 6 hours (data.code: exportCooldown)

Auf dieser Seite