사용자 데이터 내보내기
POST /v1/users/{user_id}:export · 권한 users:export
정보 주체 열람 또는 이동권 요청에 대응하기 위해 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 |
인증 이벤트이며 한 줄에 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의 개인 정보에서 저장되는 항목, 보관 기간, 삭제 방법을 설명합니다. 어떤 필드에도 특수 범주의 개인 정보(건강, 생체 정보, 종교, 정치적 견해, 성적 지향)를 보내지 마십시오.