> ## 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 Ambil Semua Daftar: Daftar Blokir & Daftar Izin

> GET /v3/lists/ di Didit: ambil semua daftar blokir, daftar izin, dan daftar kustom. Filter per jenis daftar atau entri. Bayar per panggilan.



Prompt API Daftar Daftar
        Salin prompt ke papan klip



      
      

\<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>



      
      

Tempel ke

Ambil daftar berpaginasi dari setiap daftar aktif milik aplikasi Anda: daftar sistem yang disediakan Didit (satu daftar blokir per tipe entri, daftar **High Risk Countries**, dan daftar izin sistem apa pun) serta daftar izin dan daftar kustom yang Anda buat. Filter menurut `list_type` atau `entry_type`, dan baca nilai daftar dengan [Entri daftar](https://docs.didit.me/id/management-api/lists/list-entries.md).Lihat [Daftar](https://docs.didit.me/id/management-api/lists/overview.md) untuk mengetahui apa yang dilakukan setiap tipe daftar selama verifikasi dan skrining transaksi.


## OpenAPI

````yaml id/openapi-25.json GET /v3/lists/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API Verifikasi Identitas. Lakukan autentikasi dengan header x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/lists/:
    get:
      tags:
        - Lists
      summary: Mencantumkan daftar
      description: >-
        Mengembalikan daftar milik aplikasi, yang terbaru terlebih dahulu:
        daftar sistem yang disediakan Didit (satu daftar blokir per jenis entri,
        daftar kustom **High Risk Countries**, dan allowlist sistem apa pun)
        serta allowlist dan daftar kustom yang Anda buat. Filter dengan
        `list_type` dan `entry_type`; daftar yang dihapus tidak akan pernah
        muncul. Hasil dipaginasi dengan `limit` dan `offset`. Kunci API
        ber-scope memerlukan `workflows: read`. Lihat
        [Daftar](https://docs.didit.me/id/management-api/lists/overview) untuk
        mengetahui fungsi masing-masing jenis daftar.
      operationId: list_lists
      parameters:
        - name: list_type
          in: query
          required: false
          description: Hanya daftar dari jenis ini.
          schema:
            type: string
            enum:
              - blocklist
              - allowlist
              - custom
        - name: entry_type
          in: query
          required: false
          description: Hanya daftar entri jenis ini.
          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: >-
            Urutan pengurutan: `-created_at` (terbaru terlebih dahulu, default)
            atau `created_at` (terlama terlebih dahulu).
          schema:
            type: string
            enum:
              - '-created_at'
              - created_at
            default: '-created_at'
        - name: limit
          in: query
          required: false
          description: >-
            Ukuran halaman. Nilai default-nya 50. Nilai di atas 1000000
            mengembalikan `400`; nol, nilai negatif, atau nilai non-numerik akan
            kembali ke 50.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
        - name: offset
          in: query
          required: false
          description: >-
            Indeks berbasis nol dari item pertama yang dikembalikan. Sebaiknya
            ikuti `next`. Nilai di atas 1000000 mengembalikan `400`; nilai
            negatif atau non-numerik akan kembali ke 0.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
      responses:
        '200':
          description: Satu halaman daftar.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    minimum: 0
                    description: Jumlah total daftar yang cocok dengan filter.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absolut halaman berikutnya, atau `null` di halaman
                      terakhir.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absolut halaman sebelumnya, atau `null` di halaman
                      pertama.
                  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: Parameter kueri tidak valid.
          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: >-
            Kunci API dengan cakupan terbatas telah kedaluwarsa. Kegagalan
            autentikasi lainnya mengembalikan `403`.
          content:
            application/json:
              examples:
                Expired API key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Header `x-api-key` tidak ada (kunci yang salah, dicabut, atau
            kedaluwarsa menghasilkan `401`), atau kunci API dengan cakupan
            tertentu tidak memiliki `workflows: read` atau digunakan dari alamat
            IP di luar daftar izinnya.
          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: >-
            Batas baca bersama sebesar 600 permintaan per menit per kunci API
            telah terlampaui. Patuhi `Retry-After` sebelum mencoba lagi.
          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: Daftar blokir, daftar izin, atau daftar kustom dari satu aplikasi.
      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: >-
            Pengidentifikasi daftar. Gunakan ini sebagai `list_uuid` di endpoint
            daftar dan entri, serta sebagai nilai dari kondisi aturan alur kerja
            atau transaksi dengan `value_type: "list"`.
        name:
          type: string
          maxLength: 255
          description: Nama daftar, unik di antara daftar milik aplikasi.
        description:
          type: string
          description: Deskripsi teks bebas. String kosong jika tidak diatur.
        list_type:
          type: string
          enum:
            - blocklist
            - allowlist
            - custom
          description: >-
            `blocklist`: kecocokan akan menolak sesi atau transaksi (hanya
            daftar sistem, satu per tipe entri). `allowlist`: item yang cocok
            dipercaya, misalnya allowlist wajah melewati tindakan untuk wajah
            duplikat; tidak pernah menimpa kecocokan daftar blokir. `custom`:
            digunakan dalam kondisi aturan alur kerja dan transaksi
            (`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: >-
            Apa yang dimuat dalam daftar: `face`, `document` (nomor dokumen),
            `phone`, `email`, `ip_address` (alamat atau rentang CIDR),
            `device_fingerprint`, `wallet_address`, `bank_account`, `country`
            (ISO 3166-1 alpha-3), `user` atau `business` (`vendor_data` Anda),
            atau `key` (string apa pun). Ini menentukan cara nilai entri
            divalidasi dan dicocokkan.
        is_system:
          type: boolean
          description: >-
            `true` untuk daftar yang disediakan oleh Didit: satu daftar blokir
            per tipe entri (`face`, `document`, `phone`, `email`, `ip_address`,
            `device_fingerprint`, `wallet_address`, `bank_account`, `user`,
            `business`), daftar kustom **Negara Berisiko Tinggi**, dan daftar
            izin sistem. Daftar sistem tidak dapat diganti namanya, diedit, atau
            dihapus; Anda dapat menambahkan dan menghapus entrinya.
        entry_count:
          type: integer
          minimum: 0
          description: Jumlah entri yang saat ini ada dalam daftar.
        last_entry_added_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Waktu entri saat ini yang terbaru ditambahkan. `null` untuk daftar
            kosong.
        created_at:
          type: string
          format: date-time
          description: Waktu daftar dibuat.
        updated_at:
          type: string
          format: date-time
          description: Waktu daftar terakhir diperbarui.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Kunci API aplikasi Anda, dari Developers -> API keys di Business
        Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi
        cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa
        alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan
        pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau
        kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak
        memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang
        dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi
        berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses
        media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa
        izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat
        https://docs.didit.me/console/api-keys.

````

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