Uptimeify Docs

Audit-Log exportieren

Lädt das Audit-Log deiner Organisation für einen Zeitraum als CSV-Datei, Anmeldungen eingeschlossen.

GET /api/organization/audit/export

Liefert das Audit-Log deiner Organisation für einen Zeitraum als CSV-Datei. Das Log hält administrative Aktionen fest (jede Änderung über Dashboard oder API, mit altem und neuem Wert, wo die Aktion ihn erfasst) und Anmelde-Ereignisse: erfolgreiche und fehlgeschlagene Anmeldungen bestehender Konten, Abmeldungen, Passwort-Resets, Passwortänderungen und beendete Sitzungen. Einträge bleiben 12 Monate gespeichert und lassen sich über die Anwendung weder ändern noch löschen.

Aufrufen dürfen nur Administratoren der Organisation, mit Sitzung oder einem organisationsweiten API-Token, dessen Aussteller Admin ist. Verbundene Anwendungen (MCP-Agenten) nicht. Jeder Export steht selbst im Audit-Log.

Query-Parameter

ParameterTypBeschreibung
fromISO 8601 UTCBeginn, inklusive. Standard: 30 Tage vor to.
toISO 8601 UTCEnde, exklusive. Standard: jetzt.

Ein Export umfasst höchstens 366 Tage und höchstens 100.000 Einträge. Einen längeren Zeitraum teilst du auf mehrere Exporte auf. Der Export enthält nur Einträge, die noch gespeichert sind.

Beispiel (cURL)

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

curl -o audit-log.csv \
  "$BASE_URL/api/organization/audit/export?from=2026-01-01T00:00:00.000Z&to=2026-04-01T00:00:00.000Z" \
  -H "Authorization: Bearer $TOKEN"

Antwort

200 mit Content-Type: text/csv; charset=utf-8, Content-Disposition als Anhang und Cache-Control: no-store. Die Zeilen sind nach Zeit sortiert, die älteste zuerst; Einträge mit gleichem Zeitpunkt behalten eine feste Reihenfolge. Die Datei ist UTF-8 ohne BOM: In Excel öffnest du sie über Daten > Aus Text/CSV, damit Umlaute richtig erscheinen.

"time","actor","agent","action","auth","summary","target","changes","ip","user_agent","request_id"
"2026-03-02T08:14:03.512Z","admin@example.com","no","auth.login.succeeded","password","Signed in","user:Xk2f9","","","",""
"2026-03-02T08:15:40.101Z","admin@example.com","no","websites.update","","Website updated","website:46","[{""field"":""checkInterval"",""from"":5,""to"":1}]","","","9b1e2c4a"
SpalteInhalt
timeZeitpunkt, ISO 8601 UTC
actorE-Mail-Adresse des handelnden Nutzers oder seine ID; leer bei fehlgeschlagener Anmeldung und angefordertem Passwort-Reset
agentyes, wenn eine verbundene Anwendung (MCP-Agent) im Namen des Nutzers gehandelt hat
actionEreignistyp, zum Beispiel websites.update oder auth.login.failed
authNur bei Anmelde-Ereignissen: Methode und bei fehlgeschlagener Anmeldung der Grund-Code als methode:grund (zum Beispiel password:INVALID_EMAIL_OR_PASSWORD), sonst nur die Methode (password, password_mfa, sso); bei allen anderen Ereignissen leer
summaryKurzbeschreibung (englisch)
targetBetroffenes Objekt als typ:id, bei Anmelde-Ereignissen das Konto
changesGeänderte Felder als JSON (field, from, to); Geheimnisse nur als geändert
ip, user_agentNur wenn eine verbundene Anwendung (MCP-Agent) gehandelt hat; sonst leer, auch bei Anmelde-Ereignissen
request_idKorrelations-ID der Anfrage

Jede Zelle steht in Anführungszeichen. Beginnt eine Zelle mit =, +, - oder @, auch nach führendem Leerraum, steht ein ' davor, damit Tabellenkalkulationen sie als Text zeigen und nicht als Formel ausführen.

Häufige Fehler

  • 400 Invalid query (data.code: invalidRequestBody), wenn from oder to kein ISO-8601-Zeitpunkt in UTC ist (Endung Z)
  • 400 (data.code: invalidDateRange), wenn from nicht vor to liegt
  • 400 (data.code: auditExportRangeTooLarge), wenn der Zeitraum länger als 366 Tage ist oder mehr als 100.000 Einträge enthält
  • 400 User must belong to an organization, wenn sich aus Sitzung oder Token keine Organisation ergibt
  • 401 Unauthorized, wenn du nicht angemeldet bist
  • 403 Forbidden, wenn deine Rolle nicht Admin ist

Auf dieser Seite