ユーザーのデータをエクスポート
POST /v1/users/{user_id}:export · 権限 users:export
データ主体によるアクセス要求またはデータポータビリティ要求に対応するため、1人のユーザーについてKeenAuthが保持している個人データをパッケージ化するジョブを開始します(GDPR第15条および第20条)。ジョブはバックグラウンドで実行されます。status が completed になるまで ユーザーデータのエクスポートジョブを取得 をポーリングし、その後 パッケージをダウンロード してください。エンドユーザーにメールは送信されません。パッケージをエンドユーザーに届ける責任はお客様にあります。
リクエスト
| パラメーター | 場所 | 必須 | 説明 |
|---|---|---|---|
user_id |
path | はい | ユーザーID。プレフィックスは usr_ です。 |
Idempotency-Key |
header | いいえ | 16〜64文字の [A-Za-z0-9_-]。同じ認証情報から同じキーを送ると、同じジョブが返されます。 |
include_ip |
body | いいえ | true にすると、セッションおよびイベントのIPアドレスをパッケージに含めます。audit-events:read_ip も必要です。デフォルトは false です。 |
ボディは任意です。IPアドレスを含めないエクスポートの場合は {} を送るか、ボディを省略してください。
{ "include_ip": false }
レスポンス
ジョブを含む 202 Accepted。同じ Idempotency-Key によるリクエストの再送では、元のジョブと 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
}
パッケージはZIPファイルです。
| ファイル | 内容 |
|---|---|
manifest.json |
スキーマバージョン、ジョブおよびユーザーのID、作成日時、ソース、その他すべてのファイルのSHA-256とレコード数。 |
profile.json, emails.json, phones.json |
プロフィールの項目、メールアドレス、電話番号。 |
metadata.json |
user_metadata と app_metadata。 |
identities.json |
リンクされたソーシャルおよびエンタープライズのID。 |
authenticators.json, sessions.json |
パスキーおよびその他の認証手段(シークレットは除く)、セッション。 |
organizations.json, oauth_grants.json, consents.json |
組織のメンバーシップ、OAuthの認可、同意の記録。 |
auth_events.ndjson |
認証イベント。1行に1つのJSONオブジェクトです。 |
パスワードのハッシュ、TOTPのシード、リカバリーコード、セッショントークン、SAMLやIDトークンの生データは含まれません。パッケージはジョブの完了後7日間保持されます。
エラー
すべてのエラーは、安定した code を含む application/problem+json の本文で返されます。
| HTTP | code |
発生条件 |
|---|---|---|
| 400 | malformed_request |
ボディまたは Idempotency-Key ヘッダーの形式が不正な場合。 |
| 401 | unauthenticated |
APIキーが未指定、無効、または取り消し済みの場合。 |
| 403 | insufficient_permissions |
キーに users:export 権限がない場合、または include_ip が true でキーに audit-events:read_ip 権限がない場合(required_permissions には両方が記載されます)。 |
| 404 | not_found |
この環境にユーザーが存在しない場合、またはIDの形式が不正な場合。 |
| 422 | idempotency_key_reuse |
Idempotency-Key が別のリクエストで使用された場合。 |
| 429 | rate_limited |
この環境でエクスポートジョブが多数キューに入っているか実行中の場合、またはレート制限を超えた場合。Retry-After に従ってください。 |
| 503 | service_unavailable |
依存先が一時的に利用できない場合。後で再試行してください。 |
例
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
個人データ
このエンドポイントは個人データ(エンドユーザーのプロフィール)を扱います。KeenAuth APIにおける個人データでは、保存される内容、保存期間、削除方法について説明しています。どのフィールドにも、特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。