메인 콘텐츠로 건너뛰기
POST
curl

동작 방식

일치하는 각 세션은 세션 삭제와 똑같이 삭제됩니다. 세션, 세션이 보유한 모든 인증 시도, 세션의 결정 및 추출된 데이터, 기능 레코드, 저장된 모든 파일이 삭제되며, 세션은 모든 조회 엔드포인트에서 사라지고 이전에 발급된 미디어 URL은 더 이상 확인(resolve)되지 않습니다. 삭제된 세션에 대해 아직 대기 중인 webhook 전송과 그 재시도는 취소됩니다. 이미 전송된 webhook에는 영향이 없습니다. 삭제는 영구적이며 되돌릴 수 없습니다. 선택한 세션 중 하나라도 확정된 규제 보고서에 포함되어 있으면, 요청 전체가 409를 반환하고 아무것도 삭제되지 않습니다. 응답에는 code: in_filed_report가 포함되며 각 보고서가 이름으로 표시됩니다. 각 보고서를 보고서 삭제로 삭제한 다음 요청을 다시 실행하십시오. 보고서를 삭제해도 세션은 삭제되지 않으며, 이 요청을 다시 실행하기 전까지 세션은 그대로 남아 있습니다. session_numbers로 선택하든 delete_all로 선택하든, 일치하는 세션 수에 따라 요청에 대한 응답이 달라집니다. 결과는 face_retention_outcome이 failed_retryable인 경우를 제외하고 세션이 삭제되었음을 확인합니다. 이 경우 해당 세션은 삭제되지 않았으며 여전히 남아 있습니다. 따라서 이 결과는 삭제 확인이 아니라 재시도해야 하는 실패로 처리하십시오. 애플리케이션에서 활성 KYC 세션과 일치하지 않는 번호는 건너뛰며, results에 나타나지 않습니다.

delete_all 필터로 범위 좁히기

delete_all: true를 사용하면 세션 목록 조회의 필터를 filter_ 접두사와 함께 사용해 선택 범위를 좁힐 수 있습니다. 필터는 쿼리 파라미터와 같은 값을 사용합니다. 여러 값을 받을 수 있는 필터(status, workflow_id, country, region, document_type, document_name, session_type, warning, organization_name)는 쉼표로 구분된 문자열이나 배열을 받을 수 있습니다.
  • 필터는 delete_all과 함께 사용할 때만 적용됩니다. session_numbers와 함께 사용하면 필터는 검사만 되고 선택 범위는 바뀌지 않습니다.
  • 그 밖의 모든 필터는 값을 하나만 받습니다. 배열은 쉼표로 구분된 값 하나로 합쳐지므로, 날짜, UUID 또는 api_service 값을 여러 개 지정하면 400이 반환됩니다. 또한 vendor_data, search, screened_full_name 텍스트를 여러 개 지정하면 이들은 대체 조건으로 매칭되지 않습니다.
  • 값이 비어 있는 필터는 무시되므로 선택 범위를 좁히지 않습니다.
  • 알 수 없는 filter_* 키는 400과 {"filter_reviewer": "Unknown filter."}를 반환합니다. 값을 읽을 수 없으면 해당 filter_* 키로 400이 반환되며, 예를 들어 {"filter_date_from": ["Enter a valid date."]}와 같습니다. 두 경우 모두 아무것도 삭제되지 않으므로, 잘못 입력한 필터가 삭제 범위를 모든 세션으로 넓히는 일은 없습니다.
  • 삭제 작업에도 같은 필터가 적용되며, 모든 delete_all과 마찬가지로 요청 이전에 생성된 세션만 대상으로 합니다.

보존 및 지시 필드

이 엔드포인트는 단일 세션 엔드포인트와 같은 선택적 필드를 받으며, 이를 일치하는 모든 세션에 적용합니다. 보존된 템플릿에 포함되는 내용과 포함되지 않는 내용, expires_at이 계산되는 방식, 개인정보 삭제 지시의 동작에 대해서는 세션 삭제를 참조하십시오.

세션별 결과

일치하는 세션이 최대 20개인 경우 200 OK는 세션마다 결과 하나를 반환합니다.
각 결과에는 세션 삭제 응답과 같은 필드가 포함됩니다. biometric_template_expires_at은 보존된 템플릿이 삭제되는 시점이며, 이 엔드포인트는 KYC 세션만 삭제하므로 deleted_child_verifications는 항상 0입니다. 세션은 그룹 단위로 삭제됩니다. 그룹을 삭제하지 못하면 그 안의 모든 세션이 failed_retryable로 보고됩니다. 다른 그룹에는 영향이 없으며 삭제된 상태를 유지합니다.

대량 선택은 작업으로 실행됩니다

일치하는 세션이 20개를 초과하면 응답은 results 대신 삭제 작업을 담은 202 Accepted입니다:
status가 COMPLETED 또는 FAILED가 될 때까지 몇 초마다 Get Session Deletion Job을 폴링하세요.
  • 작업은 각 결과별 세션 수를 보고하며, 어떤 세션을 삭제했는지는 보고하지 않습니다.
  • delete_all 작업은 요청 이전에 생성된 세션만 삭제합니다. 작업이 실행되는 동안 시작된 세션은 삭제되지 않습니다.
  • 요청의 보존 및 지시 필드는 작업이 삭제하는 모든 세션에 적용됩니다.
  • 그룹을 아직 삭제할 수 없으면 작업이 스스로 재시도합니다.
  • FAILED 작업은 원인을 error에 설명합니다. 작업이 도달하지 못한 세션은 그대로 남아 있으므로, 요청을 다시 보내 삭제하세요.

예제

204 응답에서의 마이그레이션

이 릴리스 이전에는 이 엔드포인트가 204 No Content를 반환했습니다. 이제는 results[]와 함께 200 OK를, 일치하는 세션이 20개를 초과하면 삭제 작업과 함께 202 Accepted를 반환합니다. 204를 검사하는 클라이언트는 업데이트하세요. 기본 삭제 동작은 변경되지 않았습니다. 정책을 명시적으로 변경하기 전까지 기존 애플리케이션은 delete_with_session을 계속 사용합니다.

관련 문서

인증

x-api-key
string
header
필수

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 를 참고하십시오.

본문

application/json
session_numbers
string[]

삭제할 KYC 세션의 숫자 session_number 값(숫자 전용 문자열, JSON 숫자도 허용되며 변환됨)입니다. delete_all이 true가 아닌 한 필수이며, 빈 목록은 400을 반환합니다. 숫자가 아닌 항목이 있으면 전체 요청이 400으로 거부됩니다(delete_all이 true인 경우 유효성 검사를 건너뛰고 항목을 무시함). 애플리케이션의 라이브 세션과 일치하지 않는 번호는 알림 없이 건너뜁니다.

Minimum array length: 1
Pattern: ^[0-9]+$
예시:
delete_all
boolean
기본값:false

true인 경우 호출 애플리케이션의 나머지 모든 KYC 세션이 삭제되고 session_numbers는 무시됩니다(filter_* 키로 선택 항목을 좁히지 않는 한). 일치하는 세션이 20개를 초과하면 요청 전에 생성된 세션만 포함하는 삭제 작업(202)으로 실행됩니다. 기본값은 false입니다. 되돌릴 수 없으며 확인 단계가 없습니다.

예시:

false

retain_face_embeddings
boolean | null

이번 삭제에 대해 애플리케이션의 face_retention_policy를 재정의합니다. true는 세션이 삭제된 후에도 세션의 사용자에 연결된 이미지가 없는 얼굴 생체 인식 템플릿 하나를 유지합니다. false는 세션과 함께 얼굴 임베딩을 삭제합니다. 생략하거나 null로 설정하면 애플리케이션 정책을 따릅니다. KYB 세션 및 얼굴 임베딩이 없는 세션의 경우 무시됩니다.

예시:

true

face_retention_days
integer

보존된 템플릿의 유한 보존 기간(일 단위)입니다. 애플리케이션에서 이미 face_retention_days를 설정하지 않은 한 템플릿이 보존될 때 필수입니다. 템플릿의 expires_at은 이 기간, 애플리케이션의 일반 데이터 보존 기간, 그리고 face_retention_deadline 중 가장 빠른 시점으로 설정됩니다.

필수 범위: 1 <= x <= 3650
예시:

365

face_retention_deadline
string<date-time>

보존된 템플릿의 선택적 강제 만료일입니다. 미래 시점이어야 합니다.

예시:

"2027-08-28T00:00:00Z"

deletion_instruction
enum<string>
기본값:operational_session_delete

제공하는 지시의 유형입니다. operational_session_delete는 세션을 삭제하고 정책 또는 retain_face_embeddings에 명시된 경우에만 템플릿을 보존합니다. privacy_erasure는 세션을 삭제하기 전에 세션의 사용자에 고정된 보존된 모든 생체 인식 템플릿을 제거하며, 애플리케이션 정책으로 재정의할 수 없고 retain_face_embeddings: true와 함께 사용할 수 없습니다(400).

사용 가능한 옵션:
operational_session_delete,
privacy_erasure
예시:

"operational_session_delete"

instruction_id
string

이 삭제 지침에 대한 귀하의 영구 참조값입니다(예: 삭제 티켓 id). 감사 로그 및 보존되는 템플릿에 기록됩니다. 생략 시 Didit이 생성합니다.

Maximum string length: 255
예시:

"dsar-2026-0142"

filter_status

delete_all 대상을 세션 목록 조회의 status 필터와 일치하는 동일한 값의 세션으로 좁힙니다. 쉼표로 구분된 문자열 또는 배열입니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

filter_vendor_data
string

delete_all 대상을 세션 목록 조회의 vendor_data 필터와 일치하는 동일한 값의 세션으로 좁힙니다. 목록이 아닌 단일 값입니다. 배열은 하나의 쉼표로 구분된 텍스트로 결합되므로 여러 값이 대체 항목으로 매칭되지 않습니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

delete_all 대상을 세션 목록 조회의 search 필터와 일치하는 동일한 값의 세션으로 좁힙니다. 목록이 아닌 단일 값입니다. 배열은 하나의 쉼표로 구분된 텍스트로 결합되므로 여러 값이 대체 항목으로 매칭되지 않습니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

filter_workflow_id

delete_all 대상을 세션 목록 조회의 workflow_id 필터와 일치하는 동일한 값의 세션으로 좁힙니다. 쉼표로 구분된 문자열 또는 배열입니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

filter_date_from
string<date>

delete_all의 대상 범위를 세션 목록의 date_from 필터와 동일한 값을 갖는 세션으로 좁힙니다. 목록이 아닌 단일 값이어야 합니다. 배열은 쉼표로 구분된 하나의 값으로 결합되므로 여러 값을 전달하면 400으로 거부됩니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 대상 범위를 좁히지 않습니다.

filter_date_to
string<date>

delete_all의 대상 범위를 세션 목록의 date_to 필터와 동일한 값을 갖는 세션으로 좁힙니다. 목록이 아닌 단일 값이어야 합니다. 배열은 쉼표로 구분된 하나의 값으로 결합되므로 여러 값을 전달하면 400으로 거부됩니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 대상 범위를 좁히지 않습니다.

filter_country

delete_all의 대상 범위를 세션 목록의 country 필터와 동일한 값을 갖는 세션으로 좁힙니다. 쉼표로 구분된 문자열 또는 배열입니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 대상 범위를 좁히지 않습니다.

filter_document_type

delete_all의 대상 범위를 세션 목록의 document_type 필터와 동일한 값을 갖는 세션으로 좁힙니다. 쉼표로 구분된 문자열 또는 배열입니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 대상 범위를 좁히지 않습니다.

filter_document_name

delete_all의 대상 범위를 세션 목록의 document_name 필터와 동일한 값을 갖는 세션으로 좁힙니다. 쉼표로 구분된 문자열 또는 배열입니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 대상 범위를 좁히지 않습니다.

filter_region

delete_all 대상을 세션 목록 조회의 region 필터와 일치하는 동일한 값의 세션으로 좁힙니다. 쉼표로 구분된 문자열 또는 배열입니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

filter_didit_internal_id
string<uuid>

delete_all의 대상 범위를 세션 목록의 didit_internal_id 필터와 동일한 값을 갖는 세션으로 좁힙니다. 목록이 아닌 단일 값이어야 합니다. 배열은 쉼표로 구분된 하나의 값으로 결합되므로 여러 값을 전달하면 400으로 거부됩니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 대상 범위를 좁히지 않습니다.

filter_session_type

delete_all 대상을 세션 목록 조회의 session_type 필터와 일치하는 동일한 값의 세션으로 좁힙니다. 쉼표로 구분된 문자열 또는 배열입니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

filter_api_service
string

delete_all의 대상 범위를 세션 목록의 api_service 필터와 동일한 값을 갖는 세션으로 좁힙니다. 목록이 아닌 단일 값이어야 합니다. 배열은 쉼표로 구분된 하나의 값으로 결합되므로 여러 값을 전달하면 400으로 거부됩니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 대상 범위를 좁히지 않습니다.

filter_screened_full_name
string

delete_all 대상을 세션 목록 조회의 screened_full_name 필터와 일치하는 동일한 값의 세션으로 좁힙니다. 목록이 아닌 단일 값입니다. 배열은 하나의 쉼표로 구분된 텍스트로 결합되므로 여러 값이 대체 항목으로 매칭되지 않습니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

filter_warning

delete_all 대상을 세션 목록 조회의 warning 필터와 일치하는 동일한 값의 세션으로 좁힙니다. 쉼표로 구분된 문자열 또는 배열입니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

filter_status_initialized_as_in_review
boolean

delete_all 대상을 세션 목록 조회의 status_initialized_as_in_review 필터와 일치하는 동일한 값의 세션으로 좁힙니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

filter_is_kyc_to_be_reviewed
boolean

delete_all의 대상 범위를 세션 목록의 is_kyc_to_be_reviewed 필터와 동일한 값을 갖는 세션으로 좁힙니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 대상 범위를 좁히지 않습니다.

filter_euuid
string<uuid>

delete_all의 대상 범위를 세션 목록의 euuid 필터와 동일한 값을 갖는 세션으로 좁힙니다. 목록이 아닌 단일 값이어야 합니다. 배열은 쉼표로 구분된 하나의 값으로 결합되므로 여러 값을 전달하면 400으로 거부됩니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 대상 범위를 좁히지 않습니다.

filter_organization_name

delete_all 대상을 세션 목록 조회의 organization_name 필터와 일치하는 동일한 값의 세션으로 좁힙니다. 쉼표로 구분된 문자열 또는 배열입니다. API 키를 사용할 경우 본인 조직의 이름과만 일치할 수 있으므로, 조직의 전체 세션을 선택하거나 아무것도 선택하지 않습니다. delete_all이 없으면 무시됩니다. 빈 값은 무시되며 선택 대상을 좁히지 않습니다.

응답

요청에서 일치하여 처리된 세션은 최대 20개입니다. 일치하는 세션당 하나의 결과가 반환되며, 일치하는 항목이 없는 번호(알 수 없거나 이미 삭제됨)는 건너뛰고 표시되지 않습니다. face_retention_outcome이 failed_retryable인 경우를 제외하고 결과는 삭제를 확인합니다. 이 세션은 삭제되지 않았으므로 재시도해야 합니다.

results
object[]
마지막 수정일 2026년 11월 7일