Exportieren Sie das Audit-Log Ihres Teams nach NDJSON, CSV oder JSON für Compliance, Archivierung und nachgelagerte Analyse.
Was im Audit-Log enthalten ist
Jede Aktion, die den Kontostatus verändert — Einladungen, Rollenwechsel, Schlüsselrotationen, Website-Einstellungen, Abrechnungsänderungen und mehr — wird mit folgenden Feldern erfasst:
- id — eindeutige Log-Eintrags-ID
- action — was passiert ist (z. B.
team.invite_member,website.update_settings) - resource_type + resource_id — worauf die Aktion ausgeführt wurde
- actor_id — welches Teammitglied die Aktion ausgeführt hat
- metadata — zusätzlicher Kontext (Quelle, gehashte IP usw.)
- created_at — UTC-Zeitstempel
IP-Adressen innerhalb von metadata werden als Einweg-Hashes mit einem täglich rotierenden Salt gespeichert, damit Sie den forensischen Wert behalten, ohne rohe IPs offenzulegen.
Sie können denselben Audit-Trail auch im Dashboard unter Einstellungen → Sicherheit → Audit-Log durchsuchen.
Plan-Verfügbarkeit
Der Audit Export ist ab dem Pro-Plan verfügbar. (Free-Pläne beinhalten keine API-Schlüsselerstellung, daher ist der Endpunkt nicht auf Free erreichbar.)
Authentifizierung
Der Endpunkt ist Teil der External API und wird mit einem API-Schlüssel aufgerufen:
Authorization: Bearer YOUR_API_KEY
Erstellen Sie einen API-Schlüssel im Dashboard: Einstellungen → Sicherheit → API-Schlüssel → Neuer Schlüssel. Ein Schlüssel mit vollständigem Zugriff funktioniert gegen jeden Endpunkt.
Wenn Ihr Konto Teil mehrerer Teams ist, geben Sie das gewünschte Team über den Header X-Zenovay-Team-Id bei jeder Anfrage an.
Audit-Log exportieren
curl -L "https://api.zenovay.com/v1/cli/mutate/audit/export?format=ndjson" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o zenovay-audit.ndjson
Unterstützte Formate
format | Content-Type | Am besten geeignet für |
|---|---|---|
ndjson (Standard) | application/x-ndjson | Streaming in Log-Analyse-Pipelines (zeilenbasiertes JSON) |
csv | text/csv | Öffnen in Excel, Google Sheets oder BI-Tools |
json | application/json | Einzelnes JSON-Array für die programmatische Verarbeitung |
Die Antwort wird mit Content-Disposition: attachment; filename="zenovay-audit.<format>" gesendet, sodass die meisten HTTP-Clients sie auf der Festplatte speichern.
Der Export gibt Ihren verfügbaren Audit-Verlauf zurück (Audit-Logs werden 24 Monate lang aufbewahrt). Ein einzelner Export gibt bis zu 10.000 der neuesten Einträge zurück. Für größere Archive führen Sie regelmäßig geplante Exporte durch und speichern sie in Cold Storage. Für leichtere, interaktive Abfragen verwenden Sie /v1/cli/mutate/audit/logs (siehe unten).
Aktuelle Einträge abrufen (paginiert)
Für interaktive Abfragen verwenden Sie /v1/cli/mutate/audit/logs:
curl "https://api.zenovay.com/v1/cli/mutate/audit/logs?since=7d&limit=100" \
-H "Authorization: Bearer YOUR_API_KEY"
Query-Parameter
| Parameter | Standard | Hinweise |
|---|---|---|
since | 7d | Zeitfenster: 1h, 7d, 4w, 12m |
action | – | Filter nach exakter Action-Zeichenkette |
actor | – | Filter nach User-id |
limit | 50 | Maximal 200 pro Anfrage |
Die Antwort enthält pagination.next_cursor, wenn weitere Einträge über der angeforderten limit existieren. Um zu älteren Einträgen zu gelangen, erhöhen Sie limit (maximal 200) oder reduzieren Sie das since-Fenster. Für ein vollständiges Archiv verwenden Sie den Export-Endpunkt oben, der bis zu 10.000 der neuesten Einträge in einem Aufruf zurückgibt.
Best Practices
- Planen Sie regelmäßige Exporte. Ein wöchentlicher Cron-Job, der das NDJSON in Cold Storage (S3 Glacier, R2 usw.) ablegt, ist eine kostengünstige Möglichkeit, eine unveränderliche Spur zu führen.
- Rotieren Sie Ihren API-Schlüssel regelmäßig sowie nach jedem Offboarding eines Teammitglieds.
- Behandeln Sie Exporte als sensibel. Die Einträge sind keine Geheimnisse, beschreiben aber operative Aktivitäten — halten Sie sie aus öffentlichen Buckets und geteilten Laufwerken heraus.
- Kombinieren Sie sie mit Webhooks, um auf bestimmte Aktionen in Echtzeit zu reagieren, und nutzen Sie den Export als regelmäßigen Vollabgleich.
Mögliche Fehler
| Status | Bedeutung |
|---|---|
401 unauthorized | API-Schlüssel fehlt, ist ungültig oder ist keinem Team zugeordnet |
402 upgrade_required | Ihr Plan beinhaltet keinen Audit Export — upgraden Sie auf Pro oder höher |
400 invalid_format | format muss einer von ndjson, csv, json sein |
Jede Antwort enthält außerdem den x-request-id-Header. Geben Sie ihn in Ihren Support-Tickets an, damit wir den Aufruf End-to-End nachverfolgen können.