curl -X DELETE \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
-H 'x-api-key: YOUR_API_KEY'{
"session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
"session_number": 1024,
"face_retention_outcome": "deleted",
"biometric_template_uuid": null,
"biometric_template_expires_at": null,
"deleted_child_verifications": 0
}세션 삭제 API: GDPR 잊힐 권리
Didit에서 KYC 또는 KYB 세션과 모든 관련 데이터를 삭제합니다. 기본적으로 얼굴 임베딩도 함께 삭제되며, 옵트인한 애플리케이션은 이미지 없는 생체 인식 템플릿을 보관할 수 있습니다.
curl -X DELETE \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/delete/ \
-H 'x-api-key: YOUR_API_KEY'{
"session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
"session_number": 1024,
"face_retention_outcome": "deleted",
"biometric_template_uuid": null,
"biometric_template_expires_at": null,
"deleted_child_verifications": 0
}KYC 및 KYB 지원
사용자 인증(KYC) 세션과 기업 확인(KYB) 세션 모두에서 작동합니다.session_id는 두 세션 유형 모두에서 확인되며, 삭제 동작은 두 유형에 동일하게 적용됩니다. 생체 인식 템플릿 보존은 KYC 세션에만 적용됩니다. 얼굴 임베딩은 KYC 세션에만 저장되기 때문입니다.
동작
- 세션은 보유한 모든 인증 시도와 함께 삭제됩니다. 여기에는 재제출로 대체된 결과도 포함됩니다. 세션의 결정, 추출된 데이터, 연결된 기능 기록(신분증 인증, 등기부 확인, 문서, AML, IP 분석 등), 검토 내역과 활동 로그, 저장된 모든 파일이 삭제됩니다.
- 기업 확인(KYB) 세션을 삭제하면 해당 세션이 주요 인물(KYC)과 법인 소유주(KYB)를 위해 생성한 인증도 재귀적으로 함께 삭제됩니다. 응답의
deleted_child_verifications에 삭제된 개수가 표시됩니다. 연결만 되어 있는 인증, 예를 들어 재사용한 기존 승인 KYC는 삭제되지 않습니다. - 전자 서명 데이터도 함께 삭제됩니다. 서명할 문서와 원본 Word 파일, 서명이 완료된 PDF, 증빙 PDF, 서명 이미지, 모든 필드 값이 포함됩니다. 이들의 다운로드 경로는
404를 반환합니다. - 세션은 목록 및 결정 응답에서 즉시 사라지며, 호출 전에 발급된 미디어 URL은 더 이상 작동하지 않습니다.
- 세션에 대기열에 있는 webhook 전송과 해당 재시도는 폐기됩니다.
- 삭제된 인증에서 시작된 지속적인 AML 모니터링과 KYB 등기부 모니터링이 중단됩니다.
- 삭제는 영구적이며 되돌릴 수 없습니다. 복원 엔드포인트가 없으므로, 호출하기 전에 결정 PDF 등 필요한 항목을 반드시 내보내십시오.
- 응답은 삭제가 완료된 후에 전송되는
200 OK이며, 세션의 얼굴 생체 데이터에 어떤 일이 발생했는지 보고하는 JSON 본문이 포함됩니다. 클라이언트가 여전히204를 기대한다면 마이그레이션을 참조하십시오.
최종 확정된 규제 보고서의 데이터
세션이 최종 확정된 규제 보고서가 있는 케이스에 속해 있으면, 요청은409를 반환하며 아무것도 삭제되지 않습니다. 응답에는 code: in_filed_report가 포함되며 각 보고서가 명시됩니다.
{
"detail": "This session is part of a finalized regulatory report, so it cannot be deleted.",
"code": "in_filed_report",
"reports": [
{
"uuid": "5ec00000-0000-4000-8000-000000000007",
"report_number": "SAR-0001",
"report_type": "SAR",
"case_uuid": "c1a5e000-0000-4000-8000-000000000001"
}
]
}
얼굴 생체 데이터: 삭제 또는 보존
라이브니스 셀피가 포함된 모든 KYC 세션에는 얼굴 검색 1:N과 중복 탐지에 사용되는 얼굴 임베딩이 생성됩니다. 기본적으로 이 임베딩은 세션과 함께 삭제됩니다(face_retention_policy: delete_with_session). 따라서 세션이 삭제된 사람이 다시 인증하더라도 중복으로 표시되지 않습니다.
세션 삭제 후에도 중복 탐지가 유지되어야 하는 애플리케이션은 생체 인식 템플릿 보존을 선택할 수 있습니다. 이 경우 Didit은 세션과 관련 데이터를 평소와 같이 삭제하고, 세션의 사용자에 연결된 이미지가 없는 얼굴 생체 인식 템플릿 하나를 별도로 관리하여 보존합니다.
| 보존됨 | 절대 보존되지 않음 |
|---|---|
| 매칭에 사용되는 숫자형 얼굴 템플릿 | 얼굴 이미지, 라이브니스 영상, 문서 이미지, 인물 사진 크롭 및 기타 모든 미디어 |
새로 생성된 무작위 템플릿 ID와 불투명한 provenance_reference | 삭제된 세션의 ID, 번호, 결정, 추출된 신원 필드 또는 기능 페이로드 |
소유 사용자(vendor_user_uuid, 현재 vendor_data) | 차단 목록 상태, 이전 일치 결과, 사기 라벨 또는 조직 간 신원 주장 |
보존 메타데이터: retained_at, expires_at, 정책, 재정의, 지침 클래스, instruction_id, 작업 주체 ID | 작업 주체의 이메일 주소 |
- 애플리케이션 정책은 Business Console → App Settings → Data retention에서 설정하거나
PATCH /v3/webhook/(face_retention_policy,face_retention_days)을 통해 설정합니다. 자세한 내용은 데이터 보존을 참조하십시오. - 호출별 재정의는 이 엔드포인트와 Batch Delete Sessions에서
retain_face_embeddings를 사용합니다. - 지침 클래스는
deletion_instruction을 사용합니다.privacy_erasure지침은 항상 우선합니다. 이 지침은 해당 사용자의 보존된 템플릿을 모두 삭제하며, 새 템플릿은 보존하지 않습니다.
요청 본문
모든 필드는 선택 사항입니다. 본문을 생략하면 애플리케이션 정책을 따릅니다.| 필드 | 유형 | 설명 |
|---|---|---|
retain_face_embeddings | boolean 또는 null | 이번 삭제에 대해 애플리케이션 정책을 재정의합니다. true이면 템플릿을 보존하고, false이면 세션과 함께 임베딩을 삭제하며, null이거나 생략하면 정책을 따릅니다. |
face_retention_days | integer(1-3650) | 템플릿의 유한 보존 기간입니다. 애플리케이션이 이미 face_retention_days를 설정하지 않은 경우, 템플릿을 보존할 때 필수입니다. |
face_retention_deadline | datetime(ISO 8601) | 선택 사항인 최종 만료 시점입니다. 미래 시점이어야 합니다. |
deletion_instruction | operational_session_delete(기본값) 또는 privacy_erasure | 전달하는 지침의 클래스입니다. privacy_erasure는 세션을 삭제하기 전에 세션 사용자의 보존된 템플릿을 모두 삭제하며, retain_face_embeddings: true와 함께 사용할 수 없습니다. |
instruction_id | string(최대 255자) | 이 지침에 대한 지속적인 참조 값입니다(예: 삭제 요청 티켓 ID). 감사 로그와 보존된 템플릿에 기록됩니다. 생략하면 Didit이 생성하며, 템플릿 상세 정보에서 확인할 수 있습니다. |
응답
{
"session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
"session_number": 1024,
"face_retention_outcome": "retained_with_user",
"biometric_template_uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
"biometric_template_expires_at": "2027-10-09T10:15:00Z",
"deleted_child_verifications": 0
}
| 필드 | 설명 |
|---|---|
session_id | 삭제된 세션입니다. |
session_number | 삭제된 세션의 번호입니다. |
face_retention_outcome | 세션의 얼굴 생체 데이터에 어떤 일이 일어났는지 나타냅니다. 아래 표를 참조하십시오. |
biometric_template_uuid | face_retention_outcome이 retained_with_user인 경우 보존된 생체 인식 템플릿의 ID이며, 그 밖의 경우 null입니다. |
biometric_template_expires_at | 보존된 생체 인식 템플릿이 삭제되는 시점입니다. 보존된 템플릿이 없으면 null입니다. |
deleted_child_verifications | KYB 세션의 경우, 이 세션이 생성한 인증 중 이 세션과 함께 삭제된 인증 건수입니다(주요 인물의 KYC 세션과 법인 소유자의 KYB 세션을 재귀적으로 포함합니다). KYC 세션의 경우 항상 0입니다. |
face_retention_outcome | 의미 |
|---|---|
deleted | 세션과 얼굴 임베딩이 삭제됩니다. 기본 동작입니다. |
retained_with_user | 세션이 삭제됩니다. 이미지가 없는 생체 인식 템플릿 하나가 사용자에 연결된 상태로 남으며, 그 ID는 biometric_template_uuid입니다. Biometric Templates API로 관리할 수 있습니다. |
none | 삭제하거나 보존할 얼굴 임베딩이 세션에 없습니다(예: KYB 세션, 또는 라이브니스 셀피가 없는 KYC 세션). |
ineligible_no_vendor_user | 보존이 요청되었지만 세션이 사용자와 연결되어 있지 않아(vendor_data 없이 생성됨) 템플릿을 연결할 대상이 없습니다. 세션과 임베딩은 삭제됩니다. 보존 불가 결과는 감사 로그에 기록됩니다. |
instruction_id를 자체 삭제 로그에 보관하십시오.
보존 기간과 만료
보존된 모든 템플릿에는 유한한expires_at이 설정됩니다. Didit은 다음 중 가장 이른 시점으로 이 값을 설정합니다.
- 요청의
face_retention_days, 또는 요청에서 값을 생략한 경우 애플리케이션의face_retention_days; - 설정되어 있는 경우 애플리케이션의 일반 데이터 보존 기간;
- 요청에 포함된 경우 요청의
face_retention_deadline.
400으로 거부되며, 아무것도 삭제되지 않습니다. 보존된 템플릿은 가장 이른 적용 가능한 고객 지침, 목적 종료 시점, 설정된 만료 시점, 정보 주체의 삭제 지침 또는 법정 생체 정보 기한보다 오래 유지될 수 없습니다. 사용자에게 적용되는 법률에 맞는 보존 기간을 선택할 책임은 귀하에게 있으며, 적용 규정이 요구하는 경우에는 더 짧은 기간을 선택하십시오.
개인정보 삭제
deletion_instruction: "privacy_erasure"를 정보주체 요청에 따라 처리하는 경우 전송합니다. Didit은 세션의 사용자에 연결된 보존 중인 생체 템플릿을 모두 삭제한 다음, 세션과 해당 얼굴 임베딩을 삭제합니다. 애플리케이션의 데이터 보존 정책으로는 개인정보 삭제 지시를 무시할 수 없으며, retain_face_embeddings: true를 보내면 400으로 거부됩니다.
사용자 일괄 삭제로 사용자를 삭제해도 해당 사용자의 보존된 템플릿이 함께 삭제됩니다.
영향을 받지 않는 항목
세션을 삭제한다고 아래 항목이 자동으로 정리되지는 않습니다. 삭제권 요청을 처리하는 경우 이 항목들도 별도로 처리하십시오.- 세션에서 생성된 차단 목록 항목(얼굴 또는 문서)은 그대로 남습니다. 차단 목록에서 직접 삭제하십시오. 얼굴 차단 목록 항목은 보존된 템플릿과 별개로 자체 생체 항목을 유지합니다.
- 세션에 대해 이미 발급된 공유 토큰은 취소되지 않습니다. 다만 가져올 대상 세션이 없으므로, 토큰으로 가져오기를 실행하면
400과{"share_token": ["Original session does not exist."]}응답이 반환됩니다. - 세션에 대해 이미 전달된 webhook은 영향을 받지 않습니다. 아직 대기 중인 전송과 재시도는 삭제됩니다. 삭제 자체에 대해서는 webhook이 발송되지 않습니다.
- 인증에 이미 사용된 크레딧은 환불되지 않습니다.
- 전자 서명 단계에서 서명자에게 이미 이메일로 발송된 서명된 사본은 서명자의 메일함에 있으며 영향을 받지 않습니다.
- 상위 사용자 또는 기업 엔터티는 삭제되지 않습니다. 해당 항목은 사용자 삭제 또는 기업 삭제를 사용하십시오. 사용자의 프로필 초상이 삭제된 세션에서 왔다면 초상도 함께 제거됩니다.
- 보존된 생체 템플릿(옵트인한 경우에만)은 만료되거나 직접 삭제할 때까지 남아 있습니다. 생체 템플릿 API로 삭제하거나, 사용자를 삭제하거나, 같은 사용자의 다른 세션을
deletion_instruction: "privacy_erasure"로 다시 삭제하여 제거할 수 있습니다.
예시
- 기본값(애플리케이션 정책)
- 생체 템플릿 보존
- 옵트인한 앱에서 강제 삭제
- 개인정보 삭제
- 사용자가 없는 세션
- 기업 확인(KYB) 세션
curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
-H "x-api-key: YOUR_API_KEY"
{
"session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
"session_number": 1024,
"face_retention_outcome": "deleted",
"biometric_template_uuid": null,
"biometric_template_expires_at": null,
"deleted_child_verifications": 0
}
curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"retain_face_embeddings": true, "face_retention_days": 365, "instruction_id": "cleanup-2026-08-0142"}'
{
"session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
"session_number": 1024,
"face_retention_outcome": "retained_with_user",
"biometric_template_uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
"biometric_template_expires_at": "2027-10-09T10:15:00Z",
"deleted_child_verifications": 0
}
curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"retain_face_embeddings": false}'
{
"session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
"session_number": 1024,
"face_retention_outcome": "deleted",
"biometric_template_uuid": null,
"biometric_template_expires_at": null,
"deleted_child_verifications": 0
}
curl -X DELETE https://verification.didit.me/v3/session/4c5c7f3a-.../delete/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"deletion_instruction": "privacy_erasure", "instruction_id": "dsar-2026-0142"}'
{
"session_id": "4c5c7f3a-3b1d-4b7e-9c39-2b4f7e6a1d02",
"session_number": 1024,
"face_retention_outcome": "deleted",
"biometric_template_uuid": null,
"biometric_template_expires_at": null,
"deleted_child_verifications": 0
}
vendor_data 없이 생성된 세션에는 템플릿을 연결할 사용자가 없습니다:curl -X DELETE https://verification.didit.me/v3/session/7a1e9c2d-.../delete/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"retain_face_embeddings": true, "face_retention_days": 365}'
{
"session_id": "7a1e9c2d-5f4b-4c3a-8e2d-1b0a9f8e7d6c",
"session_number": 1031,
"face_retention_outcome": "ineligible_no_vendor_user",
"biometric_template_uuid": null,
"biometric_template_expires_at": null,
"deleted_child_verifications": 0
}
curl -X DELETE https://verification.didit.me/v3/session/bs-01HJX1.../delete/ \
-H "x-api-key: YOUR_API_KEY"
{
"session_id": "0f3c9b7e-2d1a-4e5f-8c6b-7a9d8e1f2c3b",
"session_number": 88,
"face_retention_outcome": "none",
"biometric_template_uuid": null,
"biometric_template_expires_at": null,
"deleted_child_verifications": 3
}
오류
| 상태 | 발생 시점 | 본문 |
|---|---|---|
400 | privacy_erasure와 retain_face_embeddings: true를 함께 사용한 경우 | {"retain_face_embeddings": ["Privacy erasure cannot retain biometric templates."]} |
400 | 요청 또는 애플리케이션에 유한한 기간이 지정되지 않은 채 보존이 요청된 경우 | {"detail": "A finite biometric-template retention duration is required."} |
403 | 자격 증명에 delete:sessions가 없거나 세션의 소유자가 아닌 경우 | {"detail": "You do not have permission to perform this action."} |
404 | 알 수 없거나 이미 삭제된 세션 | {"detail": "Not found."} |
503 | 세션을 삭제하는 중 저장소 서비스 또는 모니터링 제공업체를 사용할 수 없었습니다. | {"detail": "The session could not be deleted because a storage service or a monitoring provider is unavailable. The session is still in place; repeat the request to finish deleting it."} |
503 | 템플릿을 보존하거나 삭제하는 중 생체 저장소를 사용할 수 없었습니다. 재시도해도 하나의 템플릿으로 수렴합니다. | {"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."} |
400이면 아무것도 삭제되지 않습니다. 503이면 세션은 그대로 남아 있으므로, 200이 반환될 때까지 동일한 요청을 반복하십시오. 저장된 파일 일부나 얼굴 임베딩은 이미 삭제되었을 수 있으므로, 503 이후에는 이에 의존하지 마십시오.
권한
delete:sessions 권한이 필요합니다. 같은 권한으로 사용자 인증(KYC) 및 기업 확인(KYB) 세션과 보존 재정의를 모두 처리합니다.
일괄 삭제
KYC 세션을 대량으로 처리하려면POST /v3/sessions/delete/를 사용하십시오. 같은 보존 및 지시 필드를 받습니다. 일치하는 세션 최대 20개는 요청 내에서 세션별 결과와 함께 삭제되며, 그 이상은 삭제 작업으로 실행됩니다. 세션 일괄 삭제를 참조하십시오.
204 응답에서의 마이그레이션
이번 릴리스 이전에는 이 엔드포인트가204 No Content를 반환했습니다. 이제는 모든 삭제가 face_retention_outcome을 보고하도록 위에 설명된 JSON 본문과 함께 200 OK를 반환합니다. 204를 검증하는 클라이언트는 업데이트하십시오.
기본 동작은 변경되지 않았습니다. 기존 애플리케이션은 delete_with_session을 계속 사용하며, 마이그레이션이 대신 보존을 활성화하지 않습니다. 콘솔에서 또는 PATCH /v3/webhook/을 통해 명시적으로 활성화하십시오.
관련 항목
인증
Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본 키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며 특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나 만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된 IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를 벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write 권한이 없는 키는 세션 링크와 token을 null로 수신합니다. https://docs.didit.me/console/api-keys 를 참고하십시오.
경로 매개변수
삭제할 사용자 인증(KYC) 또는 기업 확인(KYB) 세션의 UUID(session_id)로, 세션 생성 시 반환된 값입니다. 표준 하이픈 형식의 UUID여야 합니다. UUID가 아닌 값은 라우트와 일치하지 않아 404를 반환합니다.
"11111111-2222-3333-4444-555555555555"
본문
선택 사항입니다. 운영 삭제를 통해 애플리케이션의 보존 정책을 따르려면 본문을 완전히 생략하세요.
이번 삭제에 대해 애플리케이션의 face_retention_policy를 재정의합니다. true는 세션이 삭제된 후에도 세션의 사용자에 연결된 이미지가 없는 얼굴 생체 인식 템플릿 하나를 유지합니다. false는 세션과 함께 얼굴 임베딩을 삭제합니다. 생략하거나 null로 설정하면 애플리케이션 정책을 따릅니다. KYB 세션 및 얼굴 임베딩이 없는 세션의 경우 무시됩니다.
true
보존된 템플릿의 유한 보존 기간(일 단위)입니다. 애플리케이션에서 이미 face_retention_days를 설정하지 않은 한 템플릿이 보존될 때 필수입니다. 템플릿의 expires_at은 이 기간, 애플리케이션의 일반 데이터 보존 기간, 그리고 face_retention_deadline 중 가장 빠른 시점으로 설정됩니다.
1 <= x <= 3650365
보존된 템플릿의 선택적 강제 만료일입니다. 미래 시점이어야 합니다.
"2027-08-28T00:00:00Z"
제공하는 지시의 유형입니다. operational_session_delete는 세션을 삭제하고 정책 또는 retain_face_embeddings에 명시된 경우에만 템플릿을 보존합니다. privacy_erasure는 세션을 삭제하기 전에 세션의 사용자에 고정된 보존된 모든 생체 인식 템플릿을 제거하며, 애플리케이션 정책으로 재정의할 수 없고 retain_face_embeddings: true와 함께 사용할 수 없습니다(400).
operational_session_delete, privacy_erasure "operational_session_delete"
이 삭제 지침에 대한 귀하의 영구 참조값입니다(예: 삭제 티켓 id). 감사 로그 및 보존되는 템플릿에 기록됩니다. 생략 시 Didit이 생성합니다.
255"dsar-2026-0142"
응답
세션이 삭제되었습니다. 본문에는 세션의 얼굴 생체 인식 데이터에 발생한 작업 내용과, KYB 세션의 경우 해당 세션이 생성한 인증 중 세션과 함께 삭제된 인증의 수가 보고됩니다.
삭제된 세션입니다.
삭제된 세션의 번호입니다.
세션의 얼굴 생체 인식 데이터에 대해 수행된 작업입니다. deleted: 얼굴 임베딩이 세션과 함께 삭제되었습니다(기본값). retained_with_user: 세션은 삭제되고 이미지가 포함되지 않은 생체 인식 템플릿 하나가 사용자에 연결된 상태로 유지됩니다. biometric_template_uuid를 참조하세요. none: 세션에 얼굴 임베딩이 없었습니다(예: KYB 세션 또는 라이브니스 셀피가 없는 KYC 세션). ineligible_no_vendor_user: 보존이 요청되었으나 세션에 연결된 사용자가 없어 얼굴 임베딩이 세션과 함께 삭제되었습니다. 이 endpoint에서는 생체 인식 저장소 오류가 이 필드를 통해 보고되지 않으며, 503을 반환하고 세션은 삭제되지 않습니다.
retained_with_user, deleted, none, ineligible_no_vendor_user face_retention_outcome이 retained_with_user일 때 보존된 생체 인식 템플릿의 ID입니다. 그 외의 경우 null입니다. /v3/biometric-templates/{template_uuid}/를 통해 관리합니다.
face_retention_outcome이 retained_with_user일 때 보존된 생체 인식 템플릿이 삭제되는 시점입니다. 템플릿이 보존되지 않은 경우 null입니다.
기업 확인(KYB) 세션의 경우: 해당 세션이 생성하여 함께 삭제된 인증 건수(주요 인물의 KYC 세션 및 법인 소유자의 KYB 세션을 재귀적으로 포함)입니다. KYC 세션의 경우 항상 0입니다.