> ## 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: 차단 목록 및 허용 목록

> Didit GET /v3/lists/: 앱의 모든 차단 목록, 허용 목록, 사용자 지정 목록을 조회합니다. 목록 유형 또는 항목 유형으로 필터링할 수 있습니다. 호출당 과금, 계약 불필요.



목록 조회 API 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`Retrieve every blocklist, allowlist, and custom list in my Didit application through the Management API.

Endpoint:
GET https://verification.didit.me/v3/lists/

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

Goal:
\- Get a paginated list of all lists for my application so I can find a specific list's uuid, filter by type, or render a picker.

Behavior:
\- Returns the application's active lists, newest first by default. Deleted lists never appear.
\- Includes the system lists Didit provisions (is_system: true): one blocklist per entry type, the "High Risk Countries" custom list, and any system allowlist.
\- Paginated with limit (default 50) and offset. Follow next until it is null.

Query parameters (all optional):
\- list_type: "blocklist" | "allowlist" | "custom".
\- entry_type: face, document, phone, email, ip_address, device_fingerprint, wallet_address, bank_account, country, user, business, key.
\- ordering: created_at or -created_at (default).
\- limit: page size (default 50, at most 1000000).
\- offset: pagination offset (default 0).

Example call:
curl -X GET "https://verification.didit.me/v3/lists/?list_type=blocklist" \
-H "x-api-key: YOUR_API_KEY"

What to read from the response:
\- count / next / previous: standard pagination envelope.
\- results[].uuid: list id; use it as list_uuid in the list and entry calls.
\- results[].is_system: true for the lists Didit provisions. System lists cannot be renamed, edited or deleted, but you can add and remove their entries.
\- results[].entry_count, last_entry_added_at: computed over the list's current entries; useful for dashboards.

Failure modes:
\- 400: an unknown list_type or entry_type value, or limit/offset above 1000000.
\- 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: read.
\- 429: rate limited (see /integration/rate-limiting); back off and retry.

Side effects: none. This is a pure read.

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

\</pre>



      
      

붙여넣을 곳

애플리케이션의 활성 목록을 페이지 단위로 모두 가져옵니다. 여기에는 Didit이 제공하는 시스템 목록(항목 유형별 차단 목록, **High Risk Countries** 목록, 시스템 허용 목록이 있는 경우 해당 목록)과 직접 만든 허용 목록 및 사용자 지정 목록이 포함됩니다. `list_type` 또는 `entry_type`으로 필터링할 수 있고, 목록의 값은 [목록 항목](https://docs.didit.me/ko/management-api/lists/list-entries.md)에서 확인할 수 있습니다.각 목록 유형이 신원 확인 및 거래 스크리닝 과정에서 어떤 역할을 하는지는 [목록](https://docs.didit.me/ko/management-api/lists/overview.md)을 참조하십시오.


## OpenAPI

````yaml ko/openapi-25.json GET /v3/lists/
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/lists/:
    get:
      tags:
        - Lists
      summary: 목록 조회
      description: >-
        애플리케이션의 목록을 최신순으로 반환합니다. 여기에는 Didit이 프로비저닝하는 시스템 목록(항목 유형별 차단 목록 1개,
        **High Risk Countries** 커스텀 목록 및 모든 시스템 허용 목록)과 사용자가 생성한 허용 목록 및 커스텀 목록이
        포함됩니다. `list_type` 및 `entry_type`으로 필터링할 수 있으며, 삭제된 목록은 표시되지 않습니다. 결과는
        `limit` 및 `offset`으로 페이지네이션됩니다. 범위 지정 API 키에는 `workflows: read` 권한이
        필요합니다. 각 목록 유형의 기능은
        [목록](https://docs.didit.me/ko/management-api/lists/overview)을 참조하십시오.
      operationId: list_lists
      parameters:
        - name: list_type
          in: query
          required: false
          description: 이 타입의 목록만 해당합니다.
          schema:
            type: string
            enum:
              - blocklist
              - allowlist
              - custom
        - name: entry_type
          in: query
          required: false
          description: 이 항목 타입의 목록만 해당합니다.
          schema:
            type: string
            enum:
              - face
              - document
              - phone
              - email
              - ip_address
              - device_fingerprint
              - wallet_address
              - bank_account
              - country
              - user
              - business
              - key
        - name: ordering
          in: query
          required: false
          description: '정렬 순서: `-created_at`(최신순, 기본값) 또는 `created_at`(오래된순).'
          schema:
            type: string
            enum:
              - '-created_at'
              - created_at
            default: '-created_at'
        - name: limit
          in: query
          required: false
          description: >-
            페이지 크기입니다. 기본값은 50입니다. 1000000을 초과하는 값은 `400`을 반환하며, 0, 음수 또는 숫자가 아닌
            값은 50으로 대체됩니다.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
        - name: offset
          in: query
          required: false
          description: >-
            반환할 첫 번째 항목의 0부터 시작하는 인덱스입니다. `next`를 따르는 것이 좋습니다. 1000000을 초과하는 값은
            `400`을 반환하며, 음수이거나 숫자가 아닌 값은 0으로 대체됩니다.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
      responses:
        '200':
          description: 목록 페이지입니다.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    minimum: 0
                    description: 필터와 일치하는 목록의 총 개수입니다.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: 다음 페이지의 절대 URL이며, 마지막 페이지에서는 `null`입니다.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: 이전 페이지의 절대 URL이며, 첫 번째 페이지에서는 `null`입니다.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/ComplianceList'
              examples:
                Lists:
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - uuid: 22222222-3333-4444-5555-666666666666
                        name: Trusted office IPs
                        description: Office egress ranges
                        list_type: allowlist
                        entry_type: ip_address
                        is_system: false
                        entry_count: 3
                        last_entry_added_at: '2026-10-02T08:15:27.501334Z'
                        created_at: '2026-09-30T13:20:45.889120Z'
                        updated_at: '2026-09-30T13:20:45.889120Z'
                      - uuid: 11111111-2222-3333-4444-555555555555
                        name: Face Blocklist
                        description: >-
                          Blocked biometric faces. When a face matching an entry
                          in this list is detected during liveness verification,
                          the session will be automatically declined.
                        list_type: blocklist
                        entry_type: face
                        is_system: true
                        entry_count: 12
                        last_entry_added_at: '2026-10-09T16:42:03.118204Z'
                        created_at: '2026-01-14T10:02:11.402917Z'
                        updated_at: '2026-01-14T10:02:11.402917Z'
        '400':
          description: 쿼리 파라미터가 유효하지 않습니다.
          content:
            application/json:
              examples:
                Unknown list type:
                  value:
                    list_type:
                      - '"denylist" is not a valid choice.'
                Unsupported ordering:
                  value:
                    ordering:
                      - '"name" is not a valid choice.'
                Limit too large:
                  value:
                    - limit must not exceed 1000000.
        '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: read` 권한이 없거나 허용 목록 외부의 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 read access to workflows.
        '429':
          description: >-
            API 키당 분당 600개의 요청을 처리하는 공유 읽기 속도 제한을 초과했습니다. 다시 시도하기 전에
            `Retry-After`를 준수하십시오.
          content:
            application/json:
              examples:
                Rate limited:
                  value:
                    detail: >-
                      GET request rate limit exceeded. You can make up to 600
                      requests per minute.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/lists/?list_type=blocklist' \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.lists.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

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

            for await (const item of didit.lists.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Lists.ListAutoPaging(ctx, didit.ListsListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            for (var item : client.lists().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

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

            foreach ($didit->lists->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.lists.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: |-
            using System;
            using System.Text.Json;
            using Didit;

            // Reads DIDIT_API_KEY.
            using var client = new DiditClient();

            await foreach (var item in await client.Lists.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    ComplianceList:
      type: object
      description: 단일 애플리케이션의 차단 목록, 허용 목록 또는 커스텀 목록입니다.
      required:
        - uuid
        - name
        - description
        - list_type
        - entry_type
        - is_system
        - entry_count
        - last_entry_added_at
        - created_at
        - updated_at
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            목록 식별자입니다. 목록 및 항목 endpoint에서 `list_uuid`로 사용하며, `value_type:
            "list"`가 설정된 워크플로 또는 거래 규칙 조건의 값으로 사용합니다.
        name:
          type: string
          maxLength: 255
          description: 목록 이름이며, 애플리케이션의 목록 간에 고유해야 합니다.
        description:
          type: string
          description: 자유 형식 설명입니다. 설정되지 않은 경우 빈 문자열입니다.
        list_type:
          type: string
          enum:
            - blocklist
            - allowlist
            - custom
          description: >-
            `blocklist`: 일치하는 항목이 있으면 세션이나 거래를 거부합니다(시스템 목록 전용, 항목 유형당 하나).
            `allowlist`: 일치하는 항목을 신뢰합니다(예: 얼굴 허용 목록은 중복 얼굴 작업을 건너뜀). 차단 목록 일치
            항목을 재지정할 수는 없습니다. `custom`: 워크플로 및 거래 규칙 조건(`value_type: "list"`)에서
            사용됩니다.
        entry_type:
          type: string
          enum:
            - face
            - document
            - phone
            - email
            - ip_address
            - device_fingerprint
            - wallet_address
            - bank_account
            - country
            - user
            - business
            - key
          description: >-
            목록에 포함되는 항목 유형입니다. `face`, `document`(문서 번호), `phone`, `email`,
            `ip_address`(IP 주소 또는 CIDR 범위), `device_fingerprint`,
            `wallet_address`, `bank_account`, `country`(ISO 3166-1 alpha-3),
            `user` 또는 `business`(귀하의 `vendor_data`), 또는 `key`(모든 문자열)입니다. 항목 값이
            검증되고 일치되는 방식을 결정합니다.
        is_system:
          type: boolean
          description: >-
            Didit이 제공하는 목록의 경우 `true`입니다. 항목 유형당 하나의 차단 목록(`face`, `document`,
            `phone`, `email`, `ip_address`, `device_fingerprint`,
            `wallet_address`, `bank_account`, `user`, `business`), **고위험 국가** 맞춤
            목록 및 시스템 허용 목록이 해당됩니다. 시스템 목록은 이름을 변경하거나 편집 또는 삭제할 수 없으며, 항목의 추가 및
            삭제만 가능합니다.
        entry_count:
          type: integer
          minimum: 0
          description: 현재 목록에 있는 항목 수입니다.
        last_entry_added_at:
          type: string
          format: date-time
          nullable: true
          description: 가장 최근의 현재 항목이 추가된 시점입니다. 빈 목록의 경우 `null`입니다.
        created_at:
          type: string
          format: date-time
          description: 목록이 생성된 시점입니다.
        updated_at:
          type: string
          format: date-time
          description: 목록이 마지막으로 업데이트된 시점입니다.
  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.