> ## 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 Tambah Entri Daftar Blokir & Daftar Izin

> Tambahkan entri (wajah, dokumen, IP, dompet, email, telepon) ke daftar blokir, daftar izin, atau daftar kustom Didit. Kontrol kepatuhan dan fraud otomatis.



Prompt API Membuat Entri Daftar
        Salin prompt ke papan klip



      
      

\<pre>

\`Add an entry to a Didit list (blocklist, allowlist, or custom) through the Management API.

Endpoint:
POST https://verification.didit.me/v3/lists/{list_uuid}/entries/

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

Goal:
\- Insert a single entry into a list. Three add modes are supported:
1\. By value: pass value matching the list's entry_type.
2\. From a verification session: pass reference_session_id and Didit reads the value from the session's most recent record of the list's entry_type (face, document, phone, email, ip_address, device_fingerprint) and links the entry to the session.
3\. With a source reference: pass value plus reference_object_uuid and metadata.reference_type so the console links the entry back to the transaction, user or business it came from.

Path parameter:
\- list_uuid: list UUID from GET /v3/lists/. For a face without a session, use POST /v3/lists/{list_uuid}/entries/face-upload/ instead.

Request body (application/json):
\{
"value": "string",                  // required unless reference_session_id is sent
"reference_session_id": "uuid",     // optional: read the value from this session of my application
"reference_object_uuid": "uuid",    // optional: transaction UUID, or didit_internal_id of a user or business
"face_image_source": "liveness" | "front_image_camera_front" | "back_image_camera_front", // optional, system face blocklist + reference_session_id only; default liveness
"reference_node_id": "string",      // optional, with a document-capture face_image_source: which ID verification node's selfie to use
"display_label": "string",          // optional, at most 512 characters
"comment": "string",                // optional, reason or note
"metadata": {                       // optional, free-form; reference_image_url and front_image_url are ignored
"reference_type": "transaction" | "vendor_user" | "vendor_business",
"reference_id": "uuid"
}
}

Value validation by entry_type:
\- email: valid email address.
\- phone: valid international phone number (stored in E.164).
\- ip_address: IP address or CIDR range (e.g. 10.0.0.0/8).
\- device_fingerprint: at least 8 characters among letters, digits, -, _, : and . (a blocklist refuses a fingerprint that several distinct devices have reported).
\- country: ISO 3166-1 alpha-2 or alpha-3 (stored as alpha-3).
\- user, business: the vendor_data to block.
\- face, document, wallet_address, bank_account, key: any non-empty string.
Values are case-insensitive: country codes are stored in upper case, phone numbers in E.164, everything else in lower case.
A list holds each value once: adding a value that is already there returns 400.

Adding from a session, what Didit does:
\- Looks up the session (it must belong to the same application).
\- Reads the value from the session's most recent record of the list's entry_type:
\- face: the liveness face (value is the face UUID). With face_image_source = front_image_camera_front / back_image_camera_front, the face from the selfie the front camera took while the user photographed the front / back of their document instead (system face blocklist only, leave value empty).
\- document: the document number; full_name, issuing_state, document_type, region and document_number go into metadata.
\- phone / email: the phone number / email address.
\- ip_address: the session's IP address.
\- device_fingerprint: a fingerprint that identifies one device. On a blocklist, Didit refuses a session that only has a device-class fingerprint or was completed on more than one device; pass the exact fingerprint as value in that case.
\- Links the entry to the session (reference_session_id) and to that record (reference_object_uuid).
\- If I also send value, Didit stores my value but still links the most recent record. To list a value from an earlier record, add it by value without reference_session_id.

Example calls:
\# By value
curl -X POST "https://verification.didit.me/v3/lists/{list_uuid}/entries/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"value": "+14155552671", "comment": "Reported fraud"}'

\# From a session
curl -X POST "https://verification.didit.me/v3/lists/{list_uuid}/entries/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"reference_session_id": "33333333-4444-5555-6666-777777777777"}'

\# The face from the selfie taken during document capture (system face blocklist)
curl -X POST "https://verification.didit.me/v3/lists/{list_uuid}/entries/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"reference_session_id": "33333333-4444-5555-6666-777777777777", "face_image_source": "front_image_camera_front"}'

\# From a transaction
curl -X POST "https://verification.didit.me/v3/lists/{list_uuid}/entries/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"value": "0x52908400098527886E0F7030069857D2E4169EE7", "reference_object_uuid": "55555555-6666-7777-8888-999999999999", "metadata": {"reference_type": "transaction"}}'

Failure modes:
\- 400: value fails the entry_type validator or is already in the list, neither value nor reference_session_id was sent, reference_session_id is not a session of this application, or the session has no data of the list's entry_type.
\- 400 (face_image_source): the list is not the system face blocklist, value was sent, the session has no image for that source, no clear face was found in that selfie, or that selfie is already in the blocklist.
\- 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.
\- 404: list not found in this application ({ "detail": "List not found." }).
\- 503 (face_image_source): face analysis is temporarily unavailable; nothing was added, retry later.
\- 429: rate limited (see /integration/rate-limiting); back off and retry.

Side effects:
\- System face, document, phone and email blocklists: a record read from a session is flagged as blocklisted at once, and new sessions that match it are declined.
\- System user and business blocklists: users or businesses of the application whose vendor_data equals value (or whose UUID equals reference_object_uuid) are set to BLOCKED.
\- Sessions and transactions that already finished are not changed.

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

\</pre>



      
      

Tempel ke

Menambahkan entri ke daftar. Nilainya divalidasi sesuai tipe entri daftar:* **email**: alamat email yang valid
* **phone**: nomor telepon internasional yang valid, disimpan dalam format E.164 (misalnya `+14155552671`)
* **ip\_address**: alamat IP atau rentang CIDR yang valid (misalnya `192.168.1.1` atau `10.0.0.0/8`)
* **device\_fingerprint**: minimal 8 karakter dari huruf, angka, `-`, `_`, `:` dan `.`. Daftar blokir menolak fingerprint yang dilaporkan oleh beberapa perangkat berbeda, karena memblokirnya akan menolak orang yang tidak terkait.
* **country**: [kode negara ISO 3166-1 alpha-3](https://docs.didit.me/id/core-technology/id-verification/supported-documents-id-verification.md) yang valid (misalnya `USA`, `GBR`, `ESP`). Kode alpha-2 (misalnya `US`) diterima dan otomatis dikonversi ke alpha-3.
* **user**, **business**: `vendor_data` dari pengguna atau bisnis
* **face**, **document**, **wallet\_address**, **bank\_account**, **key**: string apa pun yang tidak kosong> [!NOTE]
>
> Semua nilai entri **tidak peka huruf besar/kecil**. Nilai yang Anda kirim dinormalisasi saat disimpan (nomor telepon ke E.164, kode negara ke huruf besar, dan selain itu ke huruf kecil) dan dicocokkan tanpa memperhatikan huruf besar/kecil saat verifikasi. Misalnya, memblokir `User@Example.COM` juga akan menangkap `user@example.com`. Setiap nilai hanya boleh ada satu kali dalam daftar. Menambahkan nilai yang sudah ada dalam daftar akan mengembalikan `400`.Untuk wajah, gunakan [Unggah wajah](https://docs.didit.me/id/management-api/lists/upload-face.md) jika Anda hanya memiliki gambar, atau kirim `reference_session_id` untuk mengambil wajah dari sesi yang ada. Entri wajah memerlukan wajah tersimpan untuk dicocokkan, yang tidak disediakan oleh nilai `value` yang dikirim langsung.## Menambahkan dari sesiSaat Anda menyediakan `reference_session_id`, Didit akan:1) Mencari sesi tersebut (sesi harus milik aplikasi yang sama)
2) Membaca nilai dari catatan **terbaru** dengan tipe entri daftar tersebut:
   * **face**: wajah dari swafoto liveness; `value` adalah UUID wajah
   * **document**: nomor dokumen; nama lengkap, negara bagian penerbit, jenis dokumen, wilayah dan nomor dokumen disimpan dalam `metadata`, dan `display_label` secara default berisi nama pemegang dan nomor dokumen
   * **phone**: nomor telepon
   * **email**: alamat email
   * **ip\_address**: alamat IP dari sesi
   * **device\_fingerprint**: fingerprint yang mengidentifikasi satu perangkat, dengan mengutamakan perangkat yang telah menyelesaikan langkah verifikasi. Pada daftar blokir, Didit menolak sesi yang hanya memiliki fingerprint kelas perangkat, atau sesi yang diselesaikan di lebih dari satu perangkat: dalam kasus itu, kirim fingerprint yang tepat sebagai `value`.
3) Menautkan entri ke sesi (`reference_session_id`) dan ke catatan (`reference_object_uuid`) untuk ketertelusuranPada daftar blokir sistem untuk wajah, dokumen, telepon dan email, catatan tersebut juga ditandai sebagai masuk daftar blokir, sehingga sesi baru yang cocok dengannya akan ditolak. Untuk tipe entri lainnya, kirim juga `value`.Mengembalikan `400` jika sesi tidak ditemukan atau tidak berisi data untuk tipe entri yang diminta.### Wajah dari swafoto pengambilan dokumenSaat pengguna memotret dokumennya, kamera depan dapat mengambil swafoto mereka (gambar `front_image_camera_front` dan `back_image_camera_front` dari [laporan verifikasi identitas](https://docs.didit.me/id/core-technology/id-verification/report-id-verification.md)). Wajah tersebut dapat ditambahkan ke daftar blokir wajah sekaligus wajah liveness: kirim `face_image_source` dengan gambar yang Anda inginkan.```json theme={null}
{
  "reference_session_id": "33333333-4444-5555-6666-777777777777",
  "face_image_source": "front_image_camera_front"
}
```- Entri hanya dibuat di **daftar blokir wajah** sistem, dan `value` harus dikosongkan: Didit mengambil wajah dari swafoto sesi.
- Swafoto harus berisi satu wajah yang jelas. Jika tidak, permintaan akan mengembalikan `400` dan tidak ada yang ditambahkan.
- Setiap swafoto hanya dapat ditambahkan satu kali. `metadata.face_image_source` dan `metadata.reference_node_id` pada entri menunjukkan dari swafoto mana entri itu berasal.
- Dalam alur kerja dengan lebih dari satu langkah verifikasi identitas, `reference_node_id` memilih langkah yang swafotonya akan digunakan. Secara default, Didit menggunakan verifikasi identitas terbaru yang memiliki swafoto tersebut.
- Setelah itu, wajah diperiksa seperti wajah daftar blokir lainnya: terhadap swafoto liveness setiap sesi baru, dan terhadap setiap swafoto pengambilan dokumen baru (lihat [`FRONT_CAMERA_FACE_IN_BLOCKLIST`](https://docs.didit.me/id/core-technology/id-verification/warnings-id-verification)).
- Menghapus entri akan menghapus wajah dari daftar blokir, dan wajah tersebut berhenti dicocokkan dengan sesi baru.### Sesi dengan beberapa catatan dengan tipe yang samaSebuah sesi dapat memiliki lebih dari satu catatan dengan tipe tertentu, misalnya dua nomor telepon dari alur kerja multi-langkah. Didit selalu membaca catatan **terbaru**. Jika Anda mengirim `value` bersama `reference_session_id`, entri menyimpan `value` Anda tetapi tetap ditautkan ke catatan terbaru tersebut, dan pada daftar blokir sistem, catatan itulah yang ditandai.Untuk mendaftarkan nilai dari catatan sebelumnya, tambahkan dengan `value` saja, tanpa `reference_session_id`:```json theme={null}
{
  "value": "+34612345678",
  "comment": "First phone number of session 42"
}
```## Merujuk transaksi, pengguna, dan bisnisSaat memblokir data dari transaksi atau pengguna/bisnis vendor, kirim UUID entitas sebagai `reference_object_uuid` dan tunjukkan jenis sumbernya di `metadata`:```json theme={null}
{
  "value": "0x52908400098527886E0F7030069857D2E4169EE7",
  "reference_object_uuid": "55555555-6666-7777-8888-999999999999",
  "metadata": {
    "reference_type": "transaction",
    "reference_id": "55555555-6666-7777-8888-999999999999"
  }
}
```Ini memungkinkan Anda berpindah dari entri daftar blokir kembali ke transaksi, pengguna, atau bisnis asli di konsol. Didit menyimpan kunci `metadata` Anda, kecuali `reference_image_url` dan `front_image_url`, yang hanya diatur oleh Didit. Untuk entri yang dibaca dari sesi, Didit menambahkan kuncinya sendiri ke kunci Anda, dan kunci Didit yang berlaku.| Entitas sumber | `reference_object_uuid` | `metadata.reference_type` |
| - | - | - |
| Sesi verifikasi | Diatur oleh Didit (catatan wajah, dokumen, telepon atau email) | Tidak perlu: gunakan `reference_session_id` |
| Transaksi | UUID transaksi | `"transaction"` |
| Pengguna vendor | `didit_internal_id` | `"vendor_user"` |
| Bisnis vendor | `didit_internal_id` | `"vendor_business"` |Pada daftar blokir sistem **Pengguna** dan **Bisnis**, Didit juga mengatur pengguna atau bisnis yang sesuai menjadi `BLOCKED`: yaitu yang `vendor_data`-nya sama dengan `value`, atau yang `didit_internal_id`-nya sama dengan `reference_object_uuid`. Lihat [daftar blokir Pengguna](https://docs.didit.me/id/entities/users/blocklist.md) dan [daftar blokir Bisnis](https://docs.didit.me/id/entities/businesses/blocklist.md).


## OpenAPI

````yaml id/openapi-25.json POST /v3/lists/{list_uuid}/entries/
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/{list_uuid}/entries/:
    post:
      tags:
        - Lists
      summary: Buat entri daftar
      description: >-
        Menambahkan satu entri ke daftar, dengan salah satu dari tiga cara:
        berdasarkan `value`; dari sesi verifikasi dengan `reference_session_id`,
        tempat Didit membaca nilai dari catatan terbaru sesi dari tipe entri
        daftar tersebut dan menautkan entri ke sana; atau berdasarkan `value`
        dengan `reference_object_uuid` dan `metadata.reference_type` yang
        mengarah kembali ke transaksi, pengguna, atau bisnis. Pada daftar blokir
        sistem untuk wajah, dokumen, telepon, dan email, catatan yang dibaca
        dari sesi tersebut juga ditandai sebagai masuk daftar blokir, sehingga
        sesi pencocokan baru akan ditolak; pada daftar blokir pengguna dan
        bisnis sistem, pengguna atau bisnis yang cocok diatur ke `BLOCKED`. Sesi
        dan transaksi yang telah selesai tidak diubah. Kunci API dengan cakupan
        memerlukan `workflows: write`. Lihat [Membuat entri
        daftar](https://docs.didit.me/id/management-api/lists/create-entry)
        untuk setiap mode.
      operationId: create_list_entry
      parameters:
        - name: list_uuid
          in: path
          required: true
          description: >-
            UUID daftar yang akan ditambahkan. Untuk wajah yang hanya Anda
            miliki dalam bentuk gambar, gunakan Unggah wajah ke daftar sebagai
            gantinya.
          schema:
            type: string
            format: uuid
          example: 11111111-2222-3333-4444-555555555555
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: >-
                Kirim `value`, `reference_session_id`, atau keduanya. Kolom mana
                yang berlaku bergantung pada `entry_type` daftar tersebut.
              properties:
                value:
                  type: string
                  description: >-
                    Nilai yang akan dicantumkan dalam daftar, divalidasi
                    terhadap `entry_type` daftar: `email` alamat email yang
                    valid; `phone` nomor internasional yang valid, disimpan
                    dalam E.164; `ip_address` alamat IP atau rentang CIDR
                    (misalnya `10.0.0.0/8`); `device_fingerprint` setidaknya 8
                    karakter di antara huruf, angka, `-`, `_`, `:`, dan `.`
                    (daftar blokir menolak sidik jari yang dilaporkan oleh
                    beberapa perangkat berbeda); `country` kode ISO 3166-1
                    alpha-2 atau alpha-3, disimpan sebagai alpha-3; `user` dan
                    `business` berupa `vendor_data`; tipe lainnya berupa string
                    yang tidak kosong. Disimpan dalam huruf kecil kecuali nomor
                    telepon dan kode negara, dan daftar menyimpan setiap nilai
                    satu kali (tidak peka huruf besar/kecil). Wajib diisi
                    kecuali jika `reference_session_id` dikirim; harus
                    dikosongkan jika `face_image_source` menggunakan pengambilan
                    dokumen.
                reference_session_id:
                  type: string
                  format: uuid
                  description: >-
                    Sesi verifikasi perorangan atau bisnis pada aplikasi Anda
                    yang akan menjadi sumber nilai. Didit membaca rekaman
                    terbaru sesi dari tipe entri daftar tersebut (`face`,
                    `document`, `phone`, `email`, `ip_address` or
                    `device_fingerprint`), menautkan entri ke sesi dan ke
                    rekaman tersebut, serta mengisi `display_label` dan
                    `metadata` untuk dokumen. Untuk daftar blokir
                    `device_fingerprint`, sesi yang hanya memiliki sidik jari
                    kelas perangkat, atau diselesaikan di lebih dari satu
                    perangkat, akan ditolak: kirimkan sidik jari yang tepat
                    sebagai `value`. Untuk tipe entri lain, atau ketika sesi
                    tidak memiliki rekaman tersebut, kirimkan juga `value`;
                    `value` Anda kemudian disimpan dan entri tetap ditautkan ke
                    sesi.
                reference_object_uuid:
                  type: string
                  format: uuid
                  description: >-
                    UUID rekaman yang diwakili entri ketika tidak berasal dari
                    suatu sesi: UUID transaksi, atau `didit_internal_id`
                    pengguna atau bisnis. Pasangkan dengan
                    `metadata.reference_type`. Digantikan oleh rekaman sesi
                    ketika `reference_session_id` menyediakannya.
                face_image_source:
                  type: string
                  enum:
                    - liveness
                    - front_image_camera_front
                    - back_image_camera_front
                  default: liveness
                  description: >-
                    Daftar wajah dengan `reference_session_id`: dari gambar sesi
                    mana wajah diambil. `liveness` (default) adalah swafoto
                    liveness. `front_image_camera_front` dan
                    `back_image_camera_front` adalah swafoto yang diambil kamera
                    depan saat pengguna memotret bagian depan atau belakang
                    dokumen mereka: hanya diterima pada daftar blokir wajah
                    sistem, dengan `reference_session_id` dan `value` kosong.
                    Setiap swafoto dapat ditambahkan sekali dan harus
                    menampilkan satu wajah yang jelas.
                reference_node_id:
                  type: string
                  nullable: true
                  maxLength: 100
                  description: >-
                    Dengan `face_image_source` untuk pengambilan dokumen: node
                    Verifikasi Identitas yang swafotonya akan digunakan, untuk
                    alur kerja yang memiliki lebih dari satu. Secara default,
                    gunakan Verifikasi Identitas terbaru yang memiliki gambar
                    tersebut. Ditolak jika menggunakan `liveness`.
                display_label:
                  type: string
                  maxLength: 512
                  description: >-
                    Label yang mudah dibaca manusia. Jika kosong, Didit
                    menurunkannya dari sesi jika memungkinkan (misalnya nama
                    pemegang dan nomor dokumen).
                comment:
                  type: string
                  description: Catatan teks bebas, seperti alasan pencantuman.
                metadata:
                  type: object
                  additionalProperties: true
                  description: >-
                    JSON bentuk bebas yang disimpan bersama entri dan
                    dikembalikan sebagaimana disimpan. Gunakan `reference_type`
                    dan `reference_id` agar konsol menautkan kembali ke
                    sumbernya. `reference_image_url` dan `front_image_url` hanya
                    diatur oleh Didit dan akan diabaikan jika Anda
                    mengirimkannya. Untuk entri yang dibaca dari suatu sesi,
                    kunci dari Didit digabungkan dengan kunci milik Anda.
                  properties:
                    reference_type:
                      type: string
                      enum:
                        - transaction
                        - vendor_user
                        - vendor_business
                      description: Objek yang dirujuk oleh `reference_object_uuid`.
                    reference_id:
                      type: string
                      description: Pengenal rekaman sumber.
            examples:
              By value:
                value:
                  value: '+14155552671'
                  comment: Reported fraud
              From a session:
                value:
                  reference_session_id: 33333333-4444-5555-6666-777777777777
              Face from a document-capture selfie:
                value:
                  reference_session_id: 33333333-4444-5555-6666-777777777777
                  face_image_source: front_image_camera_front
              From a transaction:
                value:
                  value: '0x52908400098527886E0F7030069857D2E4169EE7'
                  reference_object_uuid: 55555555-6666-7777-8888-999999999999
                  comment: Linked to a chargeback
                  metadata:
                    reference_type: transaction
                    reference_id: 55555555-6666-7777-8888-999999999999
              Country:
                value:
                  value: PRK
                  comment: Sanctioned jurisdiction
      responses:
        '201':
          description: Entri berhasil dibuat.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceListEntry'
              examples:
                By value:
                  value:
                    uuid: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
                    value: '+14155552671'
                    display_label: ''
                    comment: Reported fraud
                    added_by: api
                    reference_session_id: null
                    reference_session_number: null
                    reference_session_type: null
                    reference_object_uuid: null
                    metadata: null
                    created_at: '2026-10-12T10:04:51.220391Z'
                Document from a session:
                  value:
                    uuid: bbbbbbbb-cccc-dddd-eeee-ffffffffffff
                    value: X1234567
                    display_label: Jane Doe - X1234567
                    comment: ''
                    added_by: api
                    reference_session_id: 33333333-4444-5555-6666-777777777777
                    reference_session_number: 1042
                    reference_session_type: kyc
                    reference_object_uuid: 66666666-7777-8888-9999-000000000000
                    metadata:
                      full_name: Jane Doe
                      issuing_state: ESP
                      document_type: ID
                      region: ''
                      document_number: X1234567
                    created_at: '2026-10-12T10:06:12.774915Z'
                From a transaction:
                  value:
                    uuid: dddddddd-eeee-ffff-0000-111111111111
                    value: '0x52908400098527886e0f7030069857d2e4169ee7'
                    display_label: ''
                    comment: Linked to a chargeback
                    added_by: api
                    reference_session_id: null
                    reference_session_number: null
                    reference_session_type: null
                    reference_object_uuid: 55555555-6666-7777-8888-999999999999
                    metadata:
                      reference_type: transaction
                      reference_id: 55555555-6666-7777-8888-999999999999
                    created_at: '2026-10-12T10:20:40.117062Z'
        '400':
          description: >-
            Isi permintaan tidak valid, nilai sudah ada dalam daftar, atau sesi
            tidak dapat menyediakan nilai tersebut.
          content:
            application/json:
              examples:
                Nothing to list:
                  value:
                    value:
                      - >-
                        Either 'value' or 'reference_session_id' must be
                        provided.
                Duplicate value:
                  value:
                    value:
                      - An entry with this value already exists in this list.
                Invalid phone:
                  value:
                    value:
                      - >-
                        Invalid phone number. Provide a valid international
                        number (e.g. +1234567890).
                Invalid IP:
                  value:
                    value:
                      - >-
                        Invalid IP address or CIDR range (e.g. 192.168.1.1 or
                        10.0.0.0/24).
                Invalid country:
                  value:
                    value:
                      - >-
                        Invalid country code: XX. Provide a valid ISO 3166-1
                        alpha-2 or alpha-3 country code.
                Device-class fingerprint:
                  value:
                    value:
                      - >-
                        This value is a device-class fingerprint: several
                        distinct devices have reported it, so blocklisting it
                        would decline unrelated people. Block the user by
                        document, face, email or phone instead.
                Unknown session:
                  value:
                    reference_session_id:
                      - >-
                        Session not found or does not belong to this
                        application.
                No data in session:
                  value:
                    value:
                      - >-
                        Either provide a 'value' or ensure the session contains
                        data for this entry type.
                Selfie on another list:
                  value:
                    face_image_source:
                      - >-
                        A document-capture selfie can only be added to the face
                        blocklist.
                No clear face in selfie:
                  value:
                    face_image_source:
                      - >-
                        No clear face was found in this selfie, so it cannot be
                        blocklisted.
                Selfie already listed:
                  value:
                    face_image_source:
                      - This selfie is already in the blocklist.
        '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: write` 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 write access to workflows.
        '404':
          description: >-
            Tidak ada daftar dengan UUID ini di aplikasi milik kunci API, atau
            daftar tersebut telah dihapus.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: List not found.
        '429':
          $ref: '#/components/responses/RateLimitedWrite'
        '503':
          description: >-
            Analisis wajah untuk swafoto dari pengambilan dokumen tidak tersedia
            untuk sementara. Tidak ada yang ditambahkan; coba lagi nanti.
          content:
            application/json:
              examples:
                Unavailable:
                  value:
                    detail: Service temporarily unavailable. Please try again later.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/lists/11111111-2222-3333-4444-555555555555/entries/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"value": "+14155552671", "comment": "Reported fraud"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.lists.entries.create(
                "11111111-2222-3333-4444-555555555555",
                value="+14155552671",
                comment="Reported fraud",
            )
            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.lists.entries.create("11111111-2222-3333-4444-555555555555", {
              value: "+14155552671",
              comment: "Reported fraud",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Lists.Entries.Create(ctx, \"11111111-2222-3333-4444-555555555555\", didit.ListsEntriesCreateParams{\n\tValue:   didit.String(\"+14155552671\"),\n\tComment: didit.String(\"Reported fraud\"),\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.ListsEntriesCreateParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.lists().entries().create("11111111-2222-3333-4444-555555555555",
            ListsEntriesCreateParams.builder()
                    .value("+14155552671")
                    .comment("Reported fraud")
                    .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->lists->entries->create('11111111-2222-3333-4444-555555555555',
            [
                'value' => '+14155552671',
                'comment' => 'Reported fraud',
            ]);

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.lists.entries.create(
              "11111111-2222-3333-4444-555555555555",
              value: "+14155552671",
              comment: "Reported fraud"
            )
            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.Lists.Entries.CreateAsync("11111111-2222-3333-4444-555555555555",
            new ListsEntriesCreateParams

            {
                Value = "+14155552671",
                Comment = "Reported fraud",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    ComplianceListEntry:
      type: object
      description: Satu nilai dalam sebuah daftar.
      required:
        - uuid
        - value
        - display_label
        - comment
        - added_by
        - reference_session_id
        - reference_session_number
        - reference_session_type
        - reference_object_uuid
        - metadata
        - created_at
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            Pengidentifikasi entri. Gunakan sebagai `entry_uuid` dalam operasi
            Hapus entri daftar.
        value:
          type: string
          description: >-
            Nilai yang terdaftar: nomor telepon dalam format E.164, alamat
            email, nomor dokumen, alamat IP atau rentang CIDR, sidik jari
            perangkat, alamat dompet, rekening bank, kode negara ISO 3166-1
            alpha-3, `vendor_data`, string apa pun pada daftar `key`, atau UUID
            wajah yang disimpan pada daftar wajah. Nilai yang Anda kirim
            disimpan dalam huruf kecil, kecuali nomor telepon dan kode negara.
            Pencocokan tidak membedakan huruf besar dan kecil.
        display_label:
          type: string
          nullable: true
          maxLength: 512
          description: >-
            Label yang mudah dibaca manusia. Didit mengisinya untuk entri yang
            diambil dari sesi (misalnya nama pemegang dan nomor dokumen) saat
            Anda tidak mengirimkannya.
        comment:
          type: string
          description: Catatan teks bebas. String kosong jika tidak diatur.
        added_by:
          type: string
          nullable: true
          description: >-
            Pihak yang menambahkan entri: `api` (kunci API), alamat email
            pengguna konsol atau `console`, `system` atau `migration` (entri
            yang dibuat Didit), atau `rule` (tindakan aturan transaksi atau
            aturan pemantauan).
        reference_session_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Sesi verifikasi tempat entri tersebut diambil. `null` jika entri
            ditambahkan berdasarkan nilai.
        reference_session_number:
          type: integer
          nullable: true
          description: >-
            Nomor sesi tersebut dalam cakupan aplikasi, seperti yang ditampilkan
            di konsol.
        reference_session_type:
          type: string
          nullable: true
          enum:
            - kyc
            - kyb
            - null
          description: >-
            `kyc` untuk sesi verifikasi perorangan, `kyb` untuk sesi verifikasi
            bisnis, `null` ketika tidak ada sesi.
        reference_object_uuid:
          type: string
          format: uuid
          nullable: true
          description: >-
            Rekaman yang diwakili oleh entri: rekaman wajah, dokumen, telepon,
            atau email yang dibaca dari sesi, wajah yang dibuat melalui Unggah
            wajah ke daftar, atau UUID yang Anda kirim (misalnya UUID transaksi
            atau `didit_internal_id` milik pengguna).
        metadata:
          type: object
          nullable: true
          additionalProperties: true
          description: >-
            Konteks tambahan. Berisi kunci yang ditetapkan Didit (tercantum di
            sini) yang digabungkan dengan `metadata` apa pun yang Anda kirimkan
            saat membuat entri, dikembalikan seperti yang disimpan. `null` jika
            tidak ada.
          properties:
            reference_image_url:
              type: string
              description: >-
                Entri wajah: URL bertanda tangan berumur pendek, diterbitkan
                kembali pada setiap panggilan; `null` untuk kunci API dengan
                cakupan terbatas tanpa `media: read`. Tidak ada jika tidak ada
                gambar milik entri tersebut.
            front_image_url:
              type: string
              description: >-
                Entri dokumen yang memuat gambar depan dokumen: URL bertanda
                tangan berumur pendek, diterbitkan ulang pada setiap panggilan;
                `null` untuk kunci API dengan cakupan tanpa `media: read`.
            full_name:
              type: string
              description: 'Entri dokumen yang diambil dari sesi: nama lengkap pemegang.'
            issuing_state:
              type: string
              description: >-
                Entri dokumen yang diambil dari sesi: negara penerbit ISO 3166-1
                alpha-3.
            document_type:
              type: string
              description: >-
                Entri dokumen yang diambil dari sesi: kode jenis dokumen,
                misalnya `P`, `ID` atau `DL`.
            region:
              type: string
              description: >-
                Entri dokumen yang diambil dari sesi: negara bagian atau
                provinsi penerbit dokumen yang diterbitkan secara regional,
                kosong jika tidak berlaku. Tidak diatur oleh penambahan item
                sesi ke daftar blokir.
            document_number:
              type: string
              description: 'Entri dokumen yang diambil dari sesi: nomor dokumen.'
            face_image_source:
              type: string
              enum:
                - front_image_camera_front
                - back_image_camera_front
              description: >-
                Entri wajah yang diambil dari swafoto pengambilan dokumen:
                swafoto yang mana. Tidak ada untuk wajah dari liveness.
            reference_node_id:
              type: string
              nullable: true
              description: >-
                Entri wajah yang diambil dari swafoto dari pengambilan dokumen:
                node verifikasi identitas asal swafoto tersebut.
            fingerprint_tier:
              type: string
              nullable: true
              enum:
                - persistent_id
                - composite_hash
                - legacy_fp
                - unknown
                - null
              description: >-
                Entri sidik jari perangkat yang diambil dari sesi: bagaimana
                sidik jari tersebut diturunkan. `persistent_id` mengidentifikasi
                satu perangkat; `composite_hash` dan `legacy_fp` dapat digunakan
                bersama oleh perangkat dari model yang sama.
            sandbox:
              type: boolean
              description: >-
                `true` pada entri wajah yang diunggah dalam aplikasi sandbox;
                entri tersebut tidak mencocokkan apa pun.
            reference_type:
              type: string
              enum:
                - transaction
                - vendor_user
                - vendor_business
              description: >-
                Ditetapkan oleh Anda: apa yang ditunjuk oleh
                `reference_object_uuid`, sehingga konsol menautkan kembali ke
                sana.
            reference_id:
              type: string
              description: 'Ditetapkan oleh Anda: pengidentifikasi rekaman sumber.'
        created_at:
          type: string
          format: date-time
          description: Waktu ketika entri ditambahkan.
  responses:
    RateLimitedWrite:
      description: >-
        Batas tulis bersama sebesar 300 permintaan per menit per kunci API telah
        terlampaui. Patuhi `Retry-After` sebelum mencoba lagi.
      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: >-
        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.