Langsung ke konten utama
GET
cURL

Dukungan KYC dan KYB

Endpoint ini berfungsi untuk sesi Verifikasi Pengguna (KYC) dan Verifikasi Bisnis (KYB). Respons selalu menyertakan field tingkat atas session_kind:
  • "user": sesi Verifikasi Pengguna (KYC). Respons memuat id_verifications, liveness_checks, face_matches, nfc_verifications, poa_verifications, database_validations.
  • "business": sesi Verifikasi Bisnis (KYB). Respons memuat registry_checks, document_verifications, key_people_checks.
Kedua jenis sesi berbagi aml_screenings, phone_verifications, email_verifications, questionnaire_responses, ip_analyses, document_ai_documents, bank_verifications, reviews, contact_details, serta field tingkat atas umum (session_id, session_number, session_url, status, workflow_id, vendor_data, metadata, callback, features, expected_details, created_at, expires_at). Didit mencocokkan session_id dengan kedua jenis sesi (Verifikasi Pengguna terlebih dahulu, lalu Verifikasi Bisnis) dan mengembalikan yang cocok. UUID bersifat unik per aplikasi, sehingga tidak ada ambiguitas. Lihat ikhtisar sesi untuk matriks lengkap fitur spesifik jenis.

Contoh

Respons (dipotong):

Menangani respons di sisi Anda

Status, jejak keputusan dan field peninjauan

Setiap keputusan menjelaskan bagaimana status-nya dicapai.

Retensi data biometrik

biometric_retention selalu ada. deletes_at adalah tanggal ketika data biometrik aktif dari sesi dihapus, dan jurisdictions mencantumkan negara bagian AS yang aturan biometriknya menetapkan batas penghapusan untuk orang tersebut (US jika negara bagian tidak diketahui). deletes_at bernilai null jika belum ada tanggal yang berlaku.

Verifikasi lokasi

Ketika alur kerja memiliki langkah Verifikasi lokasi, keputusan memuat dua array. geolocation_checks[] memiliki satu item per langkah: percobaan yang diterima, dengan hasilnya, koordinat dan akurasinya, pemeriksaan terhadap lokasi IP dan alamat yang tersimpan, serta warnings dari langkah tersebut. geolocation_attempts[] mencantumkan setiap percobaan dari setiap langkah, dari yang paling lama, beserta waktu penerimaannya. Alur kerja tanpa langkah ini mengembalikan keduanya sebagai null. Setiap field dan hasil dijelaskan dalam Laporan verifikasi lokasi.

Peristiwa perutean alur kerja

?include=events menambahkan linimasa event sesi. Selain perubahan langkah dan status, alur kerja yang melewati node cabang menghasilkan satu event untuk setiap keputusan perutean. Dengan begitu, integrasi (atau linimasa di Console) dapat menjelaskan mengapa sesi berakhir pada hasil tertentu tanpa menelusuri grafik alur kerja secara manual: Kedua event menyertakan sent_at dalam milidetik seperti event lainnya dan tidak memiliki component, feature_step maupun step: keduanya berasal dari mesin alur kerja, bukan dari perangkat pengguna. Cabang “else” (cabang tanpa kondisi) dihitung sebagai cabang yang cocok; fallback hanya bernilai true ketika tidak ada yang cocok. Node dengan satu edge keluar tidak membuat keputusan dan tidak menghasilkan event. Bentuk yang sama juga melaporkan workflow_terminal_node_id: node_id dari node status alur kerja terakhir yang tercatat dan menetapkan status sesi, atau null jika tidak ada ID node seperti itu yang tercatat. Ini adalah jejak historis alur kerja. Persetujuan manual, penolakan, dan pengajuan ulang tidak menghapusnya; node status alur kerja berikutnya yang akan menggantikannya. Misalnya, jika alur kerja mengirim sesi ke node In Review dan peninjau kemudian menyetujuinya, status saat ini adalah Approved sementara workflow_terminal_node_id tetap menunjuk ke node In Review. Nilai ini juga bisa tetap terisi selama pengajuan ulang sedang berlangsung. Baca status saat ini serta linimasa event dan activity_reviews untuk membedakan hasil alur kerja dari keputusan manual yang dibuat kemudian.

Pengajuan sebelumnya (?include=resubmissions)

Pengajuan ulang mengembalikan pengguna ke langkah yang Anda pilih dan tetap menyimpan hasil yang sebelumnya dikembalikan oleh langkah-langkah tersebut. ?include=resubmissions menambahkan array resubmissions, diurutkan dari yang paling lama, dengan satu entri untuk setiap permintaan pengajuan ulang. Setiap entri memuat hasil yang digantikan oleh permintaan tersebut, sehingga Anda selalu dapat membaca apa yang sebelumnya dikirimkan pengguna. Fitur ini berlaku untuk sesi pengguna (KYC) dan bisnis (KYB), dan dapat dikombinasikan dengan event (?include=events,resubmissions). Tanpa parameter ini, respons tidak berubah. Hasil saat ini (id_verifications dan kolom lain di tingkat atas) selalu menggambarkan pengajuan terbaru. Langkah yang tidak dikembalikan tetap memiliki satu hasil di sana.
Menghapus sesi juga menghapus hasil dari setiap pengajuan di dalamnya.

Metode Verifikasi Identitas

Setiap item id_verifications[] menunjukkan salah satu dari tiga metode Verifikasi Identitas yang menghasilkannya. Dengan begitu, Anda dapat membedakan pembacaan dokumen dari pencarian registri atau login melalui dompet tanpa menebak dari kolom yang kebetulan terisi: Sesi dokumen melaporkan document dan documentary serta membiarkan sisanya null, sehingga integrasi yang sudah ada tidak perlu diubah. Tipe data untuk setiap kolom ada di Model data.

Persetujuan biometrik

Keputusan Verifikasi Pengguna membawa objek biometric_consent: apakah sesi memerlukan persetujuan biometrik yang eksplisit, trigger yang memerlukannya, status dari jawaban tersebut, dan bukti pendukungnya. Dua nilai menunjukkan bahwa persetujuan tidak dikumpulkan: Kapan langkah ini muncul dan arti setiap nilai dijelaskan di Persetujuan biometrik; setiap kolom tercantum di Model data.

Verifikasi Bank

Saat alur kerja memiliki langkah Verifikasi Bank, keputusan memuat bank_verifications[] untuk kedua jenis sesi: satu item per langkah, bernilai null sampai langkah menghasilkan item. Baca method, bukan ownership.method, untuk membedakan login ke bank dari pemeriksaan rekening: ownership.method adalah perbandingan nama yang menghasilkan skor. Setiap kolom ada dalam skema BankVerificationResult pada respons endpoint ini.

Tanda Tangan Elektronik

Saat alur kerja memiliki langkah Tanda Tangan Elektronik, keputusan memuat signatures[] untuk kedua jenis sesi. Properti ini berisi satu item per penandatangan: satu untuk Verifikasi Pengguna, dan satu per pihak kunci yang menandatangani untuk Verifikasi Bisnis. Alur kerja tanpa langkah ini tidak mengembalikan properti tersebut sama sekali. Unduh berkas dari jalur tersebut dengan kunci API Anda. Lihat Laporan Tanda Tangan Elektronik untuk setiap kolom.

Kesalahan

Terkait

Otorisasi

x-api-key
string
header
wajib

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.

Parameter Path

sessionId
string<uuid>
wajib

UUID sesi verifikasi yang keputusannya ingin Anda ambil. Ini adalah session_id yang dikembalikan oleh POST /v3/session/. Jalur yang sama berfungsi untuk sesi Verifikasi Pengguna (KYC) dan Verifikasi Bisnis (KYB) — server mencari ID tersebut di kedua jenis sesi.

Harus berupa UUID yang valid. Rute ini hanya cocok dengan UUID yang terbentuk dengan benar, sehingga nilai yang salah format akan ditolak oleh router URL sebelum kode aplikasi apa pun berjalan dan responsnya berupa halaman HTML 404, bukan struktur JSON {"detail": ...} yang ditunjukkan di bawah. Validasi format UUID di sisi klien sehingga Anda dapat membedakan kesalahan input dari 404 karena sesi benar-benar tidak ditemukan.

Contoh:

"11111111-2222-3333-4444-555555555555"

Parameter Query

include
enum<string>

Daftar bagian payload tambahan yang dipisahkan dengan koma. Nilai yang didukung: events dan resubmissions, sendiri atau bersama-sama (events,resubmissions). Saat include=events diteruskan, respons juga berisi linimasa event sesi (events, termasuk event perutean WORKFLOW_BRANCH_EVALUATED / WORKFLOW_STATUS_NODE_REACHED yang dijelaskan di halaman Retrieve Session), log aktivitas lengkap (activity_reviews), tanda daftar blokir (blocklisted), cost_breakdown per sesi, metadata alur kerja (workflow_type, workflow_version, workflow_version_id, dan workflow_terminal_node_id - node status alur kerja terakhir yang tercatat dan menetapkan status sesi, atau null jika belum ada yang tercatat; rekam jejak historis yang tidak dihapus oleh persetujuan, penolakan, atau pengajuan ulang manual, dan digantikan oleh node status alur kerja berikutnya), serta metadata sesi (api_service — string atau null, hanya ditetapkan untuk sesi API mandiri; session_type — API, HOSTED, atau MIGRATED; has_device_nfc_support — boolean). Dua kolom berubah relatif terhadap bentuk biasa: diskriminator session_kind tingkat atas dihilangkan (bentuk events hanya ada untuk sesi pengguna), dan array features beralih dari string biasa ke objek {feature, node_id} — di mana fitur email dilaporkan sebagai EMAIL, bukan EMAIL_VERIFICATION. Bentuk yang diperluas ini terutama digunakan oleh Konsol Didit; sebagian besar integrasi API sebaiknya tidak menyertakan parameter ini. Batasan KYB: include=events hanya berlaku untuk sesi pengguna (KYC). Sesi bisnis (session_kind = "business") selalu mengembalikan bentuk keputusan bisnis standar — events, activity_reviews, blocklisted, cost_breakdown dan metadata workflow_*/sesi tambahan tidak pernah dikembalikan untuk sesi bisnis, dan array features-nya tetap berupa array string biasa. Dengan include=resubmissions (sesi pengguna maupun bisnis) respons juga berisi resubmissions: satu entri per permintaan pengajuan ulang, yang paling lama terlebih dahulu, masing-masing dengan number, created_at, previous_status, nodes, reasons, requested_by, dan results (apa yang dikembalikan oleh langkah-langkah yang diajukan ulang sebelum permintaan, dengan kunci yang sama dan dalam bentuk yang sama seperti hasil saat ini). Setiap item cost_breakdown memuat usage_type, price, details, dan created_at: langkah yang diajukan ulang yang dijalankan kembali akan ditagih sebagai item baru.

Opsi yang tersedia:
events,
resubmissions,
events,resubmissions
Contoh:

"events"

Respons

Laporan keputusan lengkap. session_kind membedakan dua bentuk: sesi user memuat array fitur KYC yang ditampilkan di bawah; sesi business justru memuat registry_checks, document_verifications, dan key_people_checks bersamaan dengan array bersama. Array fitur bernilai null sampai alur kerja menjalankan fitur tersebut; URL media adalah tautan bertanda tangan yang berlaku singkat.

session_id
string<uuid>

Pengidentifikasi unik sesi.

session_kind
enum<string>

Diskriminator yang menunjukkan apakah ini sesi Verifikasi Pengguna (KYC) atau Verifikasi Bisnis (KYB). Jika user, array fitur KYC (id_verifications, nfc_verifications, liveness_checks, face_matches, poa_verifications, document_ai_documents, database_validations, ...) berlaku dan array bisnis tidak ada. Jika business, payload memuat registry_checks, document_verifications, key_people_checks ditambah array bersama (aml_screenings, phone_verifications, email_verifications, ip_analyses, questionnaire_responses). Ditiadakan ketika include=events diteruskan — bentuk event hanya ada untuk sesi pengguna, sehingga diskriminator dihapus dari varian tersebut.

Opsi yang tersedia:
user,
business
shared_from_session
string<uuid> | null

Untuk sesi yang dikloning dengan POST /v3/session/import-shared/: session_id dari sesi asli di aplikasi sumber. null untuk setiap sesi lainnya. Dihilangkan jika include=events diteruskan.

shared_from_session_number
integer | null

session_number dari sesi sumber saat sesi ini diimpor dari aplikasi lain milik organisasi Anda. null jika tidak.

session_number
integer | null

Nomor sesi.

session_url
string<uri> | null

URL sesi.

status
enum<string>

Status siklus hidup keseluruhan dari sesi — hasil alur kerja agregat. Nilai akhir adalah Approved, Declined, In Review, Expired, Kyc Expired, dan Abandoned; Not Started, In Progress, Awaiting User, dan Resubmitted menunjukkan bahwa sesi masih bergerak melalui alur kerja.

Opsi yang tersedia:
Not Started,
In Progress,
Awaiting User,
In Review,
Approved,
Declined,
Resubmitted,
Expired,
Kyc Expired,
Abandoned
status_override
object | null

Hadir ketika peninjau menetapkan status secara manual. Bernilai null jika statusnya otomatis. Gunakan ini untuk membedakan persetujuan manual dari yang otomatis.

decision_trace
object

Bagaimana status tersebut tercapai: siapa yang mengaturnya dan peringatan mana yang memicunya.

linked_records
object | null

Ringkasan catatan lain yang ditautkan ke sesi. null jika tidak ada yang ditampilkan, dan untuk alur kerja yang menyatakan standar kepastian usia.

workflow_id
string<uuid> | null

Pengidentifikasi stabil dari grup alur kerja yang menghasilkan sesi ini. Alur kerja memiliki versi — nilai ini mengidentifikasi alur kerja itu sendiri, bukan versi spesifiknya.

features
string[]

Daftar fitur verifikasi yang dikonfigurasi untuk sesi ini, sebagai nama tampilan: ID_VERIFICATION, NFC, LIVENESS, FACE_MATCH, POA, PHONE, EMAIL_VERIFICATION, AML, IP_ANALYSIS, DATABASE_VALIDATION, QUESTIONNAIRE, AGE_ESTIMATION, FACE_SEARCH, GEOLOCATION (Verifikasi lokasi) (Sesi Verifikasi Bisnis (KYB) menggunakan rangkaian fitur KYB: KYB_REGISTRY, KYB_DOCUMENTS, KYB_KEY_PEOPLE, AML, PHONE, EMAIL_VERIFICATION, IP_ANALYSIS, QUESTIONNAIRE). Dengan include=events, setiap entri menjadi objek {feature, node_id} dan bukan string biasa, dan fitur email diganti namanya: fitur tersebut muncul sebagai EMAIL dalam mode event, bukan EMAIL_VERIFICATION yang digunakan di sini.

Fitur dari sesi tersebut.

vendor_data
string | null

Data vendor sesi.

metadata
object | null

Metadata sesi.

expected_details
object | null

Detail yang diharapkan yang diberikan saat pembuatan sesi — digunakan untuk validasi silang terhadap data yang diekstraksi (KYC) atau untuk mengisi otomatis pencarian registri perusahaan (KYB). Mengembalikan persis kunci-kunci yang diberikan; null jika tidak ada yang diberikan. Sesi KYC memuat kolom terkait orang; sesi Bisnis (KYB) memuat company_name, registry_country, dan registration_number.

contact_details
object | null

Detail kontak yang diberikan saat sesi dibuat (digunakan untuk email notifikasi, verifikasi telepon/email dengan data yang telah diisi sebelumnya, dan bahasa komunikasi). Bernilai null jika email maupun nomor telepon tidak diberikan.

callback
string<uri> | null

URL callback sesi.

id_verifications
object[] | null

Array laporan Verifikasi Identitas (OCR) yang dihasilkan oleh langkah-langkah dokumen ID dalam graf alur kerja. Selalu berupa array JSON — baca id_verifications[0] dan lakukan iterasi jika alur kerja Anda dapat menjalankan lebih dari satu pemeriksaan ID (misalnya pemeriksaan utama ditambah step-up). Bernilai null sampai setidaknya satu langkah ID menghasilkan data. Setiap item adalah laporan lengkap, termasuk node_id, status tingkat fitur, kolom dokumen yang diekstrak, URL gambar, skor kualitas, MRZ, parsing alamat, pencocokan lintas-sesi, serta warnings[].

nfc_skip_reason
enum<string> | null

Alasan verifikasi chip NFC tidak berjalan, terisi setiap kali alur kerja menyertakan langkah NFC. null selama NFC masih tertunda atau saat chip benar-benar terbaca. Nilai: USER_SKIPPED - pengguna memilih untuk melewati pada perangkat yang mendukung NFC (diizinkan oleh allow_nfc_skip); DOCUMENT_WITHOUT_CHIP - dokumen tidak memiliki chip NFC yang dapat dibaca (bukan dokumen elektronik ICAO 9303); CHIP_CERTIFICATE_UNAVAILABLE - sertifikat penandatanganan negara penerbit (CSCA) yang mencakup periode penerbitan dokumen tidak tersedia, sehingga tanda tangan chip tidak dapat diverifikasi; DEVICE_WITHOUT_NFC - perangkat melaporkan tidak adanya pembaca NFC; INTEGRATION_WITHOUT_NFC_ACCESS - verifikasi berjalan tanpa SDK native (misalnya di browser web), yang tidak memiliki akses ke pembaca NFC ponsel; MRZ_KEY_UNAVAILABLE - kunci akses chip tidak dapat diturunkan dari MRZ dokumen; JPKI_UNAVAILABLE - dokumen adalah Japan My Number Card, yang chip-nya dibaca melalui JPKI, dan JPKI tidak tersedia untuk verifikasi ini: JPKI tidak diaktifkan, atau SDK native aplikasi tidak dapat membaca My Number Card.

Opsi yang tersedia:
USER_SKIPPED,
DOCUMENT_WITHOUT_CHIP,
CHIP_CERTIFICATE_UNAVAILABLE,
DEVICE_WITHOUT_NFC,
INTEGRATION_WITHOUT_NFC_ACCESS,
MRZ_KEY_UNAVAILABLE,
JPKI_UNAVAILABLE
nfc_verifications
object[] | null

Array laporan NFC / ePassport yang dihasilkan oleh langkah-langkah NFC dalam graf alur kerja. Ini selalu berupa array JSON, bukan objek nfc tunggal — baca nfc_verifications[0] dan lakukan iterasi jika alur kerja Anda dapat menjalankan NFC lebih dari sekali. Bernilai null sampai setidaknya satu langkah NFC menghasilkan data. Setiap item adalah laporan lengkap, termasuk node_id, status tingkat fitur, chip_protocol, chip_data, authenticity (integritas SOD + DG), certificate_summary, serta warnings[]. Japan My Number Card dibaca melalui JPKI dan bukan ICAO 9303: itemnya memiliki chip_protocol: "jpki", membawa buktinya di bawah jpki, dan membiarkan kolom ICAO bernilai null. Ketika langkah NFC dilewati sebelum dapat ditawarkan (dokumen tanpa chip, sertifikat hilang, tidak ada kemampuan NFC yang dilaporkan, kunci MRZ tidak terbaca, JPKI tidak tersedia untuk My Number Card), ini tetap bernilai null dan nfc_skip_reason menjelaskan alasannya; pelewatan pada langkah itu sendiri (pengguna mengetuk opsi lewati, atau pemindai ternyata tidak tersedia saat pemindaian) tetap menghasilkan laporan dengan is_nfc_skipped: true.

liveness_checks
object[] | null

Array laporan liveness yang dihasilkan oleh langkah-langkah liveness dalam graf alur kerja. Selalu berupa array JSON — bukan objek liveness tunggal. Bernilai null sampai setidaknya satu langkah liveness menghasilkan data. Setiap item adalah laporan lengkap, termasuk node_id, status tingkat fitur, method, score, reference_image, video_url, age_estimation opsional, matches[] lintas-sesi, serta warnings[].

face_matches
object[] | null

Array laporan Pencocokan Wajah yang dihasilkan oleh langkah-langkah pencocokan wajah dalam graf alur kerja. Selalu berupa array JSON — bukan objek face_match tunggal. Bernilai null sampai setidaknya satu langkah pencocokan wajah menghasilkan data. Setiap item adalah laporan lengkap, termasuk node_id, status tingkat fitur, score kemiripan, source_image, target_image, serta warnings[].

phone_verifications
object[] | null

Array laporan Verifikasi Telepon — selalu berupa array JSON, bukan objek phone tunggal. Bernilai null sampai setidaknya satu langkah telepon menghasilkan data. Setiap item adalah laporan lengkap, termasuk node_id, status tingkat fitur, nomor telepon dan metadata negara, lifecycle[], matches[], serta warnings[].

email_verifications
object[] | null

Array laporan Verifikasi Email — selalu berupa array JSON, bukan objek email tunggal. Bernilai null sampai setidaknya satu langkah email menghasilkan data. Setiap item adalah laporan lengkap, termasuk node_id, status tingkat fitur, alamat email, data kebocoran, lifecycle[], matches[], serta warnings[].

poa_verifications
object[] | null

Array laporan Bukti Alamat (POA) — selalu berupa array JSON, bukan objek poa tunggal. Bernilai null sampai setidaknya satu langkah POA menghasilkan data. Setiap item adalah laporan lengkap, termasuk node_id, status tingkat fitur, URL file dokumen, penerbit, tanggal, alamat yang diparsing, serta warnings[].

document_ai_documents
object[] | null

Laporan Document AI yang dikelompokkan berdasarkan node alur kerja — selalu berupa array JSON, tidak pernah berupa objek tunggal. Bernilai null sampai setidaknya satu langkah Document AI menghasilkan data. Hanya ada jika session_kind = user. Setiap item adalah grup node dengan status agregat, node_id, array items[] dari hasil per dokumen (data yang diekstraksi menggunakan kunci kolom yang dikonfigurasi), serta warnings.

questionnaire_responses
object[] | null

Array laporan respons Kuesioner — selalu berupa array JSON, bukan objek questionnaire tunggal. Bernilai null sampai setidaknya satu langkah kuesioner menghasilkan data. Setiap item adalah laporan lengkap, termasuk node_id, metadata kuesioner, bagian dengan elemen formulir, serta jawaban pengguna.

bank_verifications
object[] | null

Hasil Verifikasi Bank, satu item per langkah Verifikasi Bank, untuk Verifikasi Pengguna dan Bisnis. null sampai suatu langkah menghasilkannya. Kolom method setiap item menyebutkan bagaimana akun diverifikasi: open_banking (masuk ke bank) atau account_lookup (pemeriksaan akun), atau fallback statement atau microdeposits, dan none saat orang tersebut melanjutkan tanpa bank sebelum upaya apa pun dievaluasi (continued_without_bank). Lihat Metode verifikasi bank.

signatures
object[]

Hasil Tanda Tangan Elektronik, satu item per penandatangan dan langkah tanda tangan, untuk Verifikasi Pengguna dan Verifikasi Bisnis (KYB). Hanya ada jika alur kerja memiliki langkah Tanda Tangan Elektronik; berupa array kosong hingga penandatangan mencapainya. Lihat Laporan Tanda Tangan Elektronik.

aml_screenings
object[] | null

Array laporan Skrining AML — selalu berupa array JSON, tidak pernah berupa objek tunggal aml. null hingga setidaknya satu langkah AML menghasilkan data. Setiap item merupakan laporan lengkap, termasuk node_id, status tingkat fitur, total_hits, entity_type, hits[], score, screened_data, is_ongoing_monitoring_enabled, dan warnings[].

ip_analyses
object[] | null

Array laporan Analisis Perangkat & IP — selalu berupa array JSON, bukan objek ip_analysis tunggal. Bernilai null sampai setidaknya satu langkah analisis IP menghasilkan data. Setiap item adalah laporan lengkap, termasuk node_id, status tingkat fitur, data IP dan geolokasi, sidik jari perangkat, serta warnings[]. Entri dengan (node_id, ip_address, device_fingerprint) duplikat akan dideduplikasi di sisi server.

geolocation_checks
object[] | null

Array hasil verifikasi Lokasi, satu per langkah verifikasi Lokasi: upaya yang diterima dari langkah tersebut. Bernilai null sampai langkah verifikasi Lokasi menghasilkan data. Upaya-upaya sebelumnya dari langkah yang sama berada di geolocation_attempts.

geolocation_attempts
object[] | null

Setiap upaya dari setiap langkah verifikasi Lokasi pada sesi ini, yang terlama terlebih dahulu. Upaya yang digantikan oleh pengiriman ulang akan dikecualikan. Alur kerja yang menyembunyikan geolocation_checks melalui atribut responsnya juga akan menyembunyikan daftar ini.

database_validations
object[] | null

Array laporan Validasi Database — selalu berupa array JSON, tidak pernah berupa objek database_validation tunggal. Bernilai null sampai setidaknya satu langkah validasi DB menghasilkan data. Setiap item merupakan laporan lengkap, termasuk node_id, status tingkat fitur, screened_data, validations[] per layanan (masing-masing dengan source_data registri), dan warnings[]. Kolom screened_data dan source_data bervariasi menurut negara:

ARG (Argentina): screened_data: {document_number, selfie, gender, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, date_of_birth, date_of_death, tax_id, tax_id_type, face_match_score, sit_1_since, banks, last_position, highest_position, rejected_checks}. Menggunakan validasi pencocokan wajah biometrik RENAPER. Jenis kelamin disimpulkan secara otomatis dari analisis wajah atau nama depan jika tidak tertera pada dokumen (misalnya, SIM)

BOL (Bolivia): screened_data: {document_number, date_of_birth, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, date_of_birth, gender}

BRA (Brasil): screened_data: {tax_number, first_name, last_name, date_of_birth}. source_data selalu menyertakan {identification_number, first_name, last_name, date_of_birth, lgpd_minor, minor_under_18, minor_under_16} untuk pencocokan CPF yang berhasil. Pencarian orang dewasa yang berhasil menetapkan penanda tersebut ke false. Layanan Consulta CPF Receita Federal dapat mengembalikan HTTP 422 (anak di bawah 18 tahun) atau 451 (di bawah 16 tahun) dengan data yang ditahan berdasarkan LGPD; dalam kasus tersebut, source_data menetapkan penanda minor ke true sebagaimana mestinya, menyertakan status HTTP dari layanan upstream, dan validasi tingkat kolom bernilai no_match. Lihat bagian Brasil pada referensi Kode Hasil Validasi Database untuk daftar kode selengkapnya.

CHL (Chili): screened_data: {personal_number, first_name, last_name, date_of_birth}. source_data: {identification_number, first_name, last_name, date_of_birth, gender}

COL (Kolombia): screened_data: {document_number, document_type, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, date_of_birth, document_type}

CRI (Kosta Rika): screened_data: {personal_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

DOM (Republik Dominika): screened_data: {personal_number}. source_data: {identification_number} (hanya mengembalikan valid/invalid)

ECU (Ekuador): screened_data: {personal_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, street, formatted_address, gender, nationality, education, marital_status, spouse, mother_name, father_name, profession}

ESP (Spanyol): screened_data: {personal_number, document_type, expiration_date, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, document_type, expiration_date}

GTM (Guatemala): screened_data: {document_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

HND (Honduras): screened_data: {document_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

MEX (Meksiko): screened_data: {personal_number (CURP), first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, date_of_birth, gender, nationality, curp_status, state_of_birth, doc_probatorio, registration_year, registration_state, registration_municipality, num_acta, crip, issuing_state_code, foreign_registry_number, folio_carta, folio_certificado}. Menggunakan registri sipil RENAPO. Layanan pemeriksaan validitas INE terpisah juga tersedia untuk MEX sebagai validasi satu per satu tambahan.

PAN (Panama): screened_data: {personal_number, selfie}. source_data: {identification_number}. Menggunakan validasi biometrik SIB

PER (Peru): screened_data: {personal_number (DNI), first_name, last_name}. source_data: {identification_number, first_name, last_name, paternal_name, maternal_name, verification_number, verification_letter}

PRY (Paraguay): screened_data: {document_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

SLV (El Salvador): screened_data: {document_number, date_of_birth, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

URY (Uruguay): screened_data: {personal_number, date_of_birth, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name}

VEN (Venezuela): screened_data: {document_number, first_name, last_name}. source_data: {identification_number, first_name, last_name, full_name, gender, date_of_birth, document_type}

database_validation_not_performed_reason
object | null

Alasan validasi database yang dikonfigurasi tidak menghasilkan output apa pun, sebagai {code, message} beserta kolom konteks. Hanya ada jika database_validations bernilai null untuk alur kerja yang memiliki langkah tersebut, sehingga Anda dapat membedakan antara "registri menyetujui" dan "tidak ada yang berjalan". null untuk kondisi lainnya.

reviews
object[]
assignee
object | null

Peninjau Console yang ditugaskan ke sesi, atau null jika tidak ada yang memegangnya.

waiting_since
string<date-time> | null

Waktu sesi mulai menunggu peninjauan. null kecuali sesi berstatus In Review dan aplikasi Anda menetapkan tenggat peninjauan.

sla_due_at
string<date-time> | null

Waktu jatuh tempo peninjauan. null kecuali sesi berstatus In Review dan aplikasi Anda menetapkan tenggat peninjauan.

created_at
string<date-time>

Cap waktu saat sesi dibuat (ISO 8601, UTC).

expires_at
string<date-time> | null

Cap waktu saat sesi ini dijadwalkan kedaluwarsa. Diatur pada sesi Verifikasi Pengguna (KYC) saat kedaluwarsa dikonfigurasikan pada waktu pembuatan (atau setelah status Approved memicu penghitungan kedaluwarsa KYC). Bernilai null untuk sesi tanpa konfigurasi kedaluwarsa, dan untuk jenis yang tidak menggunakan kedaluwarsa (misalnya sesi Verifikasi Bisnis (KYB) yang tidak pernah menerima expires_at).

registry_checks
object[] | null

Pemeriksaan registri perusahaan. Hanya ada jika session_kind = business. Setiap item membungkus seluruh payload registri perusahaan.

key_people_checks
object[] | null

Pemeriksaan pihak kunci agregat. Hanya ada jika session_kind = business. Setiap item menggunakan format dua wadah (registry, submitted, ubo_kyc_summary).

document_verifications
object[] | null

Pemeriksaan verifikasi dokumen dikelompokkan berdasarkan node alur kerja. Hanya ada jika session_kind = business.

environment
enum<string>

Apakah sesi dibuat oleh aplikasi live (live) atau aplikasi sandbox (sandbox). Sesi sandbox gratis, disimulasikan sepenuhnya, dan tidak pernah membebankan kredit.

Opsi yang tersedia:
live,
sandbox
sandbox_scenario
string | null

Skenario sandbox yang digunakan saat membuat sesi. Bernilai null untuk sesi produksi dan untuk sesi sandbox yang dibuat tanpanya.

resubmissions
object[]

Hanya dikembalikan dengan include=resubmissions, untuk sesi pengguna dan bisnis. Satu entri per permintaan pengiriman ulang, terlama terlebih dahulu. Setiap entri memuat hasil yang dikembalikan oleh langkah-langkah yang dikirimkan ulang sebelum permintaan, sehingga pengiriman sebelumnya tetap dapat dibaca. Menghapus sesi akan menghapus setiap pengiriman.

Apakah sesi memerlukan persetujuan biometrik eksplisit sebelum pengambilan wajah, alasannya, dan bukti jawabannya. Hanya sesi Verifikasi Pengguna (KYC); objek yang sama berada di dalam decision pada webhook sesi. Bernilai null jika sesi tidak pernah dievaluasi, misalnya alur kerja tanpa pengambilan wajah. Kolom tanpa nilai yang tercatat bernilai null. SDK native di bawah 4.10.0, atau yang tidak melaporkan versinya, tidak dapat menampilkan langkah persetujuan: pengambilan wajahnya berjalan seperti sebelumnya, dan sesi yang memerlukan persetujuan kemudian melaporkan status: "pending" dengan reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". Lihat Persetujuan biometrik.

investigator
object | null

Peninjauan terbaru oleh peninjau untuk item tersebut, atau null jika belum pernah ditinjau. Disertakan oleh keputusan sesi V3 dan sesi bisnis (dan dengan demikian oleh webhook status.updated).

biometric_retention
object

Waktu data biometrik langsung dari sesi ini dihapus.

fraud_check
object | null

Hasil dari panggilan API Fraud Check. null untuk setiap sesi lainnya.

full_session_video
string<uri> | null

URL rekaman sesi penuh yang akan kedaluwarsa. Hanya dikembalikan saat organisasi Anda merekam video sesi penuh.

full_session_video_recorded_at
string<date-time> | null

Waktu ketika rekaman sesi lengkap dibuat. Hanya dikembalikan jika organisasi Anda merekam video sesi lengkap.

Terakhir diubah pada 7 November 2026