Daten eines Benutzers exportieren
POST /v1/users/{user_id}:export · Berechtigung users:export
Startet einen Job, der die personenbezogenen Daten zusammenstellt, die KeenAuth über einen Benutzer speichert, für ein Auskunfts- oder Datenübertragbarkeitsersuchen (GDPR Artikel 15 und 20). Der Job läuft im Hintergrund: Fragen Sie einen Datenexport-Job eines Benutzers abrufen ab, bis status den Wert completed hat, und laden Sie dann das Paket herunter. Der Endnutzer wird nicht per E-Mail benachrichtigt; die Zustellung des Pakets an ihn liegt in Ihrer Verantwortung.
Anfrage
| Parameter | In | Pflicht | Beschreibung |
|---|---|---|---|
user_id |
path | ja | Benutzer-ID mit dem Präfix usr_. |
Idempotency-Key |
header | nein | 16–64 Zeichen [A-Za-z0-9_-]. Derselbe Schlüssel vom selben Credential liefert denselben Job zurück. |
include_ip |
body | nein | true fügt dem Paket IP-Adressen aus Sitzungen und Ereignissen hinzu. Erfordert zusätzlich audit-events:read_ip. Standard: false. |
Der Body ist optional; senden Sie {} oder keinen Body für einen Export ohne IP-Adressen.
{ "include_ip": false }
Antwort
202 Accepted mit dem Job. Eine wiederholte Anfrage mit demselben Idempotency-Key liefert den ursprünglichen Job und Idempotent-Replayed: true.
{
"id": "job_01j9xk3m7q8r2s4t6v8w0y2z4e",
"kind": "subject",
"source": "management_api",
"user_id": "usr_01j9xk3m7q8r2s4t6v8w0y2z4a",
"status": "queued",
"include_app_metadata": true,
"include_ip": false,
"file": null,
"failure_reason": null,
"requested_by": { "type": "api_key", "id": "key_01j9xk3m7q8r2s4t6v8w0y2z4b" },
"created_at": "2026-10-28T09:00:00Z",
"started_at": null,
"completed_at": null,
"expires_at": null
}
Das Paket ist eine ZIP-Datei:
| Datei | Inhalt |
|---|---|
manifest.json |
Schema-Version, Job- und Benutzer-IDs, Erstellungszeit, Quelle sowie SHA-256 und Datensatzanzahl jeder anderen Datei. |
profile.json, emails.json, phones.json |
Profilfelder, E-Mail-Adressen und Telefonnummern. |
metadata.json |
user_metadata und app_metadata. |
identities.json |
Verknüpfte Social- und Unternehmensidentitäten. |
authenticators.json, sessions.json |
Passkeys und andere Authentifikatoren (ohne Geheimnisse) sowie Sitzungen. |
organizations.json, oauth_grants.json, consents.json |
Organisationsmitgliedschaften, OAuth-Grants und Zustimmungsnachweise. |
auth_events.ndjson |
Authentifizierungsereignisse, ein JSON-Objekt pro Zeile. |
Passwort-Hashes, TOTP-Seeds, Wiederherstellungscodes, Sitzungstoken sowie rohe SAML- oder ID-Token werden nie aufgenommen. Das Paket wird 7 Tage nach Abschluss des Jobs aufbewahrt.
Fehler
Jeder Fehler ist ein application/problem+json-Body mit einem stabilen code.
| HTTP | code |
Wann |
|---|---|---|
| 400 | malformed_request |
Der Body oder der Header Idempotency-Key ist fehlerhaft. |
| 401 | unauthenticated |
Der API-Schlüssel fehlt, ist ungültig oder wurde widerrufen. |
| 403 | insufficient_permissions |
Dem Schlüssel fehlt users:export, oder include_ip ist true und dem Schlüssel fehlt audit-events:read_ip (required_permissions nennt beide). |
| 404 | not_found |
Der Benutzer existiert in dieser Umgebung nicht, oder die ID ist fehlerhaft. |
| 422 | idempotency_key_reuse |
Der Idempotency-Key wurde mit einer anderen Anfrage verwendet. |
| 429 | rate_limited |
In dieser Umgebung sind zu viele Export-Jobs eingereiht oder in Bearbeitung, oder das Ratenlimit wurde überschritten; beachten Sie Retry-After. |
| 503 | service_unavailable |
Eine Abhängigkeit ist vorübergehend nicht verfügbar; versuchen Sie es später erneut. |
Beispiel
curl -X POST https://api.eu.keenauth.com/v1/users/usr_01j9xk3m7q8r2s4t6v8w0y2z4a:export \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: dsar-2026-10-28-0001" \
-H "Content-Type: application/json" \
-d '{"include_ip": false}'
CLI: keenauth users export usr_01j9xk3m7q8r2s4t6v8w0y2z4a
Personenbezogene Daten
Dieser Endpoint enthält personenbezogene Daten: Profil eines Endnutzers. Personenbezogene Daten in den KeenAuth-APIs beschreibt, welche Daten gespeichert werden, wie lange sie aufbewahrt werden und wie sie gelöscht werden. Senden Sie in keinem Feld besondere Kategorien personenbezogener Daten (Gesundheit, biometrische Daten, Religion, politische Meinungen, sexuelle Orientierung).