> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 차단 목록에서 제거 API: 세션 항목 차단 해제

> POST /v3/blocklist/remove/: 한 번의 호출로 Didit 인증 세션의 얼굴, 문서, 전화번호 또는 이메일에 대한 차단을 해제합니다.



차단 목록 제거 API 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`Lift the block on the face, document, phone number or email address of one of my Didit verification sessions through the Management API.

Endpoint:
POST https://verification.didit.me/v3/blocklist/remove/

Authentication:
Use the x-api-key header with my Didit API key. A scoped API key needs workflows: write.

Goal:
\- Undo a blocklist decision for a session, for example after a false positive.

Request body (application/json):
\{
"session_id": "33333333-4444-5555-6666-777777777777", // required: a verification session of my application
"unblock_face": true,       // optional, default false
"unblock_document": true,   // optional, default false
"unblock_phone": false,     // optional, default false
"unblock_email": false      // optional, default false
}
At least one unblock_* flag must be true.

Behavior:
\- Didit uses the session's most recent record of each selected type.
\- The record is no longer flagged as blocklisted, and the system blocklist entries created from it are deleted, so it no longer declines new sessions.
\- Entries added by value are not touched: if the same phone number was also added to the phone blocklist by hand, it stays blocked until I delete that entry with DELETE /v3/lists/{list_uuid}/entries/{entry_uuid}/.
\- Unblocking a record that is not blocklisted succeeds and changes nothing.
\- Sessions that already finished are not changed.

Example call:
curl -X POST "https://verification.didit.me/v3/blocklist/remove/" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"session_id": "33333333-4444-5555-6666-777777777777", "unblock_face": true, "unblock_document": true}'

Example response (200):
\{ "message": "Successfully removed from blocklist." }

Failure modes:
\- 400: session_id is missing ({ "session_id": ["This field is required."] }) or not a UUID ({ "session_id": ["Must be a valid UUID."] }); the session is not a verification session of this application ({ "non_field_errors": ["Session not found"] }; business verification sessions are not accepted); no flag is true ({ "non_field_errors": ["Must specify at least one item to unblock"] }); or the session has no record of a selected type ({ "non_field_errors": ["Session does not have an email record"] }).
\- 401: the API key has expired.
\- 403: missing x-api-key (a wrong, revoked or expired key gets 401) ({ "detail": "You do not have permission to perform this action." }), or a scoped key without workflows: write.
\- 429: rate limited (see /integration/rate-limiting); back off and retry.

Side effects:
\- Deletes the matching entries from the system face, document, phone and email blocklists.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

붙여넣을 곳

한 인증 세션에서 수집된 항목(얼굴, 신분증, 전화번호 또는 이메일 주소)의 차단을 해제합니다. 해당 레코드는 더 이상 차단 목록에 등록된 것으로 표시되지 않으며, 이 레코드로부터 생성된 시스템 차단 목록 항목은 삭제됩니다. 따라서 해당 항목은 더 이상 새 세션을 거부하지 않습니다.> [!NOTE]
>
> 세션 레코드에서 생성된 항목만 제거됩니다. 사용자가 목록에 직접 추가한 값(예: 전화번호 차단 목록에 직접 입력한 같은 전화번호)은 계속 차단된 상태로 유지됩니다. 이 항목은 [항목 목록](https://docs.didit.me/ko/management-api/lists/list-entries.md)에서 찾을 수 있으며, [항목 삭제](https://docs.didit.me/ko/management-api/lists/delete-entry.md)를 통해 제거할 수 있습니다.현재 차단된 항목을 확인하려면 [차단 목록 항목 조회](https://docs.didit.me/ko/management-api/blocklist/list.md)를 사용하십시오. 콘솔에서 차단 목록을 관리하는 방법은 [차단 목록 사용자 관리](https://docs.didit.me/ko/console/blocklist-users.md)를 참조하십시오.


## OpenAPI

````yaml ko/openapi-25.json POST /v3/blocklist/remove/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: 신분증 인증 API입니다. x-api-key 헤더로 인증합니다.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/blocklist/remove/:
    post:
      tags:
        - Blocklist
      summary: 차단 목록에서 세션 항목 제거
      description: >-
        애플리케이션의 개인 인증 세션 하나에 연결된 얼굴, 신분증, 전화번호 또는 이메일 주소의 차단을 해제합니다. 선택한 각 유형에
        대해 Didit은 해당 세션의 가장 최근 레코드를 가져와 차단 목록 플래그를 지우고 해당 레코드에서 생성된 시스템 차단 목록
        항목을 삭제하여 새 세션이 더 이상 거부되지 않도록 합니다. 값으로 목록에 추가된 항목은 변경되지 않습니다. [List list
        entries](https://docs.didit.me/ko/management-api/lists/list-entries)로 찾고
        [Delete a list
        entry](https://docs.didit.me/ko/management-api/lists/delete-entry)로
        삭제하십시오. 차단 목록에 없는 레코드의 차단을 해제해도 오류 없이 완료되며 아무것도 변경되지 않고, 이미 완료된 세션은 변경되지
        않습니다. 범위가 지정된 API 키에는 `workflows: write`가 필요합니다.
      operationId: remove_from_blocklist
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - session_id
              description: 최소 하나의 `unblock_*` 플래그가 `true`여야 합니다.
              properties:
                session_id:
                  type: string
                  format: uuid
                  description: 애플리케이션의 사용자 인증 세션입니다. 삭제된 세션은 거부됩니다.
                unblock_face:
                  type: boolean
                  default: false
                  description: 세션의 얼굴에 대한 차단을 해제합니다.
                unblock_document:
                  type: boolean
                  default: false
                  description: 세션의 신분증에 대한 차단을 해제합니다.
                unblock_phone:
                  type: boolean
                  default: false
                  description: 세션의 전화번호에 대한 차단을 해제합니다.
                unblock_email:
                  type: boolean
                  default: false
                  description: 세션의 이메일 주소에 대한 차단을 해제합니다.
            examples:
              Face and document:
                value:
                  session_id: 33333333-4444-5555-6666-777777777777
                  unblock_face: true
                  unblock_document: true
      responses:
        '200':
          description: 선택한 항목에 대한 차단이 해제되었습니다.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
                    description: 항상 `Successfully removed from blocklist.`입니다.
              examples:
                Unblocked:
                  value:
                    message: Successfully removed from blocklist.
        '400':
          description: >-
            본문이 잘못되었거나, 세션이 이 애플리케이션의 인증 세션이 아니거나, 선택한 유형의 기록이 없습니다. 변경된 내용이
            없습니다.
          content:
            application/json:
              examples:
                Unknown session:
                  value:
                    non_field_errors:
                      - Session not found
                No item selected:
                  value:
                    non_field_errors:
                      - Must specify at least one item to unblock
                No email record:
                  value:
                    non_field_errors:
                      - Session does not have an email record
                Invalid session id:
                  value:
                    session_id:
                      - Must be a valid UUID.
                Missing session id:
                  value:
                    session_id:
                      - This field is required.
        '401':
          description: 스코프가 지정된 API 키가 만료되었습니다. 기타 인증 실패 시에는 `403`이 반환됩니다.
          content:
            application/json:
              examples:
                Expired API key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            `x-api-key` 헤더가 누락되었거나(잘못되었거나 해지되었거나 만료된 키는 `401` 반환), 범위가 지정된 API
            키에 `workflows: write` 권한이 없거나 허용 목록 외부의 IP 주소에서 사용되었습니다.
          content:
            application/json:
              examples:
                Missing or invalid API key:
                  value:
                    detail: You do not have permission to perform this action.
                Scoped key without workflows access:
                  value:
                    detail: This API key has no write access to workflows.
        '429':
          $ref: '#/components/responses/RateLimitedWrite'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST 'https://verification.didit.me/v3/blocklist/remove/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "session_id": "33333333-4444-5555-6666-777777777777",
                "unblock_face": true,
                "unblock_document": true
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.blocklist.remove(
                session_id="33333333-4444-5555-6666-777777777777",
                unblock_face=True,
                unblock_document=True,
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.blocklist.remove({
              session_id: "33333333-4444-5555-6666-777777777777",
              unblock_face: true,
              unblock_document: true,
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Blocklist.Remove(ctx, didit.BlocklistRemoveParams{\n\tSessionID:       \"33333333-4444-5555-6666-777777777777\",\n\tUnblockFace:     didit.Bool(true),\n\tUnblockDocument: didit.Bool(true),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.BlocklistRemoveParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.blocklist().remove(BlocklistRemoveParams.builder()
                    .sessionId("33333333-4444-5555-6666-777777777777")
                    .unblockFace(true)
                    .unblockDocument(true)
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->blocklist->remove([
                'session_id' => '33333333-4444-5555-6666-777777777777',
                'unblock_face' => true,
                'unblock_document' => true,
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.blocklist.remove(
              session_id: "33333333-4444-5555-6666-777777777777",
              unblock_face: true,
              unblock_document: true
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.Blocklist.RemoveAsync(new
            BlocklistRemoveParams

            {
                SessionId = "33333333-4444-5555-6666-777777777777",
                UnblockFace = true,
                UnblockDocument = true,
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  responses:
    RateLimitedWrite:
      description: >-
        API 키당 분당 300개의 요청을 처리하는 공유 쓰기 속도 제한을 초과했습니다. 다시 시도하기 전에 `Retry-After`를
        준수하십시오.
      content:
        application/json:
          schema:
            type: object
            required:
              - detail
            properties:
              detail:
                type: string
          example:
            detail: >-
              Write request rate limit exceeded. You can make up to 300 requests
              per minute.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        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 를 참고하십시오.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.