Benutzerdaten-Export herunterladen
GET /v1/jobs/user-exports/{job_id}/download · Berechtigung users:export
Liefert einen einmalig verwendbaren Link zum Paket eines abgeschlossenen Benutzerdaten-Exports. Jeder Aufruf schreibt einen Eintrag user_export.downloaded in das Verwaltungs-Audit-Log, bevor der Link ausgegeben wird.
Anfrage
| Parameter | In | Pflichtfeld | Beschreibung |
|---|---|---|---|
job_id |
path | ja | Job-ID, mit dem Präfix job_. |
Ein Job, der mit include_ip: true erstellt wurde, erfordert zusätzlich die Berechtigung audit-events:read_ip für die Anmeldedaten, mit denen heruntergeladen wird.
Antwort
302 Found mit leerem Body. Location ist ein relativer Link auf demselben Host, /downloads/user-exports/{environment_id}/{job_id}/{token}. Die Antwort enthält Cache-Control: no-store und Referrer-Policy: no-referrer.
- Der Link ist 15 Minuten gültig und funktioniert nur einmal: Das Token wird bei der ersten Anfrage verbraucht, auch wenn die Übertragung unterbrochen wird. Rufen Sie diese Operation erneut auf, um einen neuen Link zu erhalten.
- Der Link benötigt keine Anmeldedaten; das Token ist die einzige Berechtigung. Behandeln Sie
Locationvertraulich und protokollieren Sie den Wert nicht. - Die Datei ist im Ruhezustand mit dem Schlüssel der Umgebung verschlüsselt. Deshalb wird keine signierte URL des Speichers verwendet; KeenAuth entschlüsselt die Datei und streamt sie.
Wenn Sie dem Link mit GET folgen, antwortet der Server mit 200 OK, Content-Type: application/zip, Content-Length und Content-Disposition: attachment; filename="user-export-job_….zip". HEAD wird mit 405 abgelehnt, damit Linkvorschauen das Token nicht verbrauchen. Vergleichen Sie den SHA-256-Wert der Datei mit file.sha256 des Jobs. Wenn die Verbindung endet, bevor Content-Length Bytes übertragen wurden, ist das Paket unvollständig; verwerfen Sie es und fordern Sie einen neuen Link an. Ein ungültiger, bereits verwendeter oder abgelaufener Link liefert 404 not_found.
Fehler
Jeder Fehler ist ein application/problem+json-Body mit einem stabilen code.
| HTTP | code |
Wann |
|---|---|---|
| 401 | unauthenticated |
Der API-Schlüssel fehlt, ist ungültig oder widerrufen. |
| 403 | insufficient_permissions |
Dem Schlüssel fehlt users:export, oder der Job wurde mit include_ip erstellt und dem Schlüssel fehlt audit-events:read_ip (required_permissions listet beide auf). |
| 404 | not_found |
Der Job existiert nicht, gehört zu einer anderen Umgebung oder die ID ist fehlerhaft. Beim Link: Das Token ist ungültig, bereits verwendet oder abgelaufen. |
| 409 | conflict |
Der Job ist noch nicht abgeschlossen oder seine Datei ist abgelaufen. |
| 429 | rate_limited |
Das Ratenlimit wurde überschritten; beachten Sie Retry-After. Der Link selbst erlaubt 10 Anfragen pro Minute und IP-Adresse. |
| 503 | service_unavailable |
Eine Abhängigkeit ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage später. |
Beispiel
curl -L -o user-export.zip \
https://api.eu.keenauth.com/v1/jobs/user-exports/job_01j9xk3m7q8r2s4t6v8w0y2z4e/download \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
Die CLI folgt dem Link selbst, schreibt das Paket in eine Datei (niemals auf die Standardausgabe), überschreibt keine vorhandene Datei und gibt Größe und SHA-256-Wert des geschriebenen Inhalts aus:
keenauth jobs user-exports download job_01j9xk3m7q8r2s4t6v8w0y2z4e --file user-export.zip
Personenbezogene Daten
Dieser Endpunkt verarbeitet personenbezogene Daten: Profil des Endbenutzers. Personenbezogene Daten in den KeenAuth-APIs beschreibt, was gespeichert wird, wie lange es aufbewahrt wird und wie es gelöscht wird. Übermitteln Sie in keinem Feld besondere Kategorien personenbezogener Daten (Gesundheit, biometrische Daten, Religion, politische Meinungen, sexuelle Orientierung).