Langsung ke konten utama
POST
curl

Layanan berbasis alamat

Untuk layanan yang memvalidasi alamat tempat tinggal atau alamat utilitas, Anda dapat mengirim satu address dan Didit akan memecahnya sebelum memproses pemeriksaan. Untuk tingkat kecocokan terbaik, kirim kolom alamat terstruktur Didit secara langsung: Kolom terstruktur menggantikan nilai address tunggal. postal_code diterima sebagai alias untuk address_element_5.

Persetujuan

Beberapa layanan database memerlukan persetujuan eksplisit dari pengguna akhir sebelum penyedia dapat menerima kueri. Katalog layanan menandai baris-baris ini dengan requires_consent=true. Kirim consent=true jika persetujuan pengguna berlaku untuk layanan yang dipilih. Didit menolak permintaan sebelum ada panggilan ke penyedia atau peristiwa penagihan apa pun jika layanan yang dipilih memerlukan persetujuan dan Anda tidak mengirimkannya.

Unggahan file

Validasi database menggunakan multipart/form-data. Layanan biometrik yang memerlukan selfie menampilkannya sebagai kolom unggah file di API playground, sehingga Anda dapat memilih gambar secara langsung alih-alih menempelkan jalur atau string base64. Dalam kode, unggah file dengan sintaks multipart standar:

Kesalahan validasi

Didit memvalidasi kolom wajib, struktur alamat, dan format khusus layanan sebelum memanggil penyedia. Misalnya, layanan registri Tionghoa seperti chn_national_id dan chn_passport_verification mengharapkan full_name dalam aksara Tionghoa asli, dan chn_national_id juga memerlukan nomor identitas nasional Tionghoa yang valid dengan 15 atau 18 karakter serta checksum yang benar. Jika permintaan tidak dapat dijalankan, API mengembalikan kesalahan kolom yang eksplisit dan tidak ada penggunaan yang ditagihkan. Jika penyedia gagal setelah pemeriksaan awal, respons menyertakan validation_errors, dan permintaan API yang disimpan mencatat kesalahan tersebut dalam hasil validasi database.

Input yang ditolak dan hasil yang tidak tersedia

Ketika tidak ada layanan yang mengembalikan hasil yang dapat digunakan, periksa setiap entri validation_errors sebelum memutuskan untuk mencoba lagi. Status HTTP saja tidak menentukan apakah mencoba lagi itu tepat. Respons 400 dengan code: "provider_rejected_input" dan retryable: false berarti setiap percobaan yang tidak menghasilkan jawaban secara eksplisit menolak input tersebut. Perbaiki data yang dikirim sebelum mencoba lagi. Percobaan ini tidak ditagih. Respons 502 dengan code: "empty_provider_response" dan retryable: true berarti layanan tidak dapat menghasilkan hasil yang dapat digunakan karena alasan lain. Ini termasuk input yang ditolak lalu diikuti cadangan yang tidak tersedia, atau cadangan yang tidak memberikan penjelasan. Coba lagi nanti; respons ini tidak menunjukkan bahwa input salah. Jika database terus gagal, Didit mengirim email sekali kepada organisasi yang baru-baru ini menggunakannya setelah gangguan berlangsung terus-menerus, dan sekali lagi ketika pemeriksaan aktual memastikan database kembali merespons. Lihat Pemberitahuan ketersediaan. Ketika hanya sebagian layanan yang dipilih gagal, permintaan tetap berhasil: respons berupa 200 dan layanan yang gagal dicantumkan di bawah database_validation.errors[], masing-masing dengan kolom code dan retryable yang sama. database_validation.status kemudian mengikuti layanan yang berhasil merespons dan dapat bernilai Approved, jadi periksa errors[] pada setiap respons, bukan hanya pada respons 4xx atau 5xx. Layanan yang dilaporkan di sana tidak ada dalam validations dan services_used, dan tidak ditagih. Coba lagi layanan tersebut secara terpisah. Kesalahan 502 lainnya mungkin memerlukan perbaikan input. Misalnya, provider_invalid_input dan provider_validation_error menjelaskan input yang ditolak oleh sumber data dan tidak boleh dicoba ulang tanpa perubahan, bahkan ketika respons lama tidak menyertakan retryable. Panduan coba lagi untuk empty_provider_response tidak berlaku untuk kode-kode ini. Hasil tanpa kecocokan yang konklusif adalah pemeriksaan yang telah selesai, bukan kegagalan ketersediaan.

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.

Body

issuing_state
string
wajib

Kode negara ISO 3166-1 alpha-3 dari registri yang akan divalidasi (misalnya BRA, ESP, COL). Menentukan layanan mana yang tersedia. Kode yang tidak didukung mengembalikan 400 beserta daftar lengkap opsi yang valid.

Contoh:

"BRA"

services
string[]

service_id katalog yang akan dijalankan untuk negara ini (misalnya ["bra_cpf"]). Menerima juga string tunggal atau string yang dipisahkan koma/di-encode JSON. Jika dihilangkan atau kosong, tepat satu layanan default yang akan dijalankan — layanan aktif yang paling lama tersedia untuk negara tersebut; layanan yang lebih baru, biometrik, dan bayar sesuai penggunaan harus disebutkan secara eksplisit. Mengirim services akan mengubah bentuk respons ke format yang diperluas (menambahkan services_used dan match_score). Setiap id harus ada dan aktif untuk issuing_state; layanan yang memerlukan onboarding mengembalikan 400 sampai diaktifkan untuk organisasi Anda. Temukan layanan yang tersedia per negara melalui GET /v1/organization/database-validation-countries/ (endpoint katalog yang tidak didokumentasikan dalam spesifikasi ini) atau editor alur kerja Business Console.

Contoh:
validation_type
string
usang

USANG. Diterima untuk kompatibilitas mundur tetapi diabaikan — validation_type respons sekarang diturunkan dari berapa banyak layanan yang cocok penuh. Gunakan services untuk menetapkan layanan tertentu.

Atur ke true jika pengguna akhir telah memberikan persetujuan secara eksplisit untuk layanan validasi yang dipilih. Diperlukan untuk layanan yang ditandai requires_consent=true di katalog — tanpanya, layanan tersebut mengembalikan 400 dengan services_requiring_consent.

identification_number
string

Nomor identifikasi universal — dipetakan secara otomatis ke kolom spesifik negara yang tepat, sehingga Anda dapat menggunakannya alih-alih personal_number/tax_number/document_number: ARG→document_number (DNI), BOL→document_number (CI), BRA→tax_number (CPF, 11 digit), CHL→personal_number (RUT), COL→personal_number (Cédula), CRI→personal_number (Cédula), DOM→personal_number (Cédula, 11 digit), ECU→personal_number (Cédula, 10 digit), ESP→personal_number (DNI/NIE), GTM→document_number (DPI), HND→document_number (DNI), MEX→personal_number (CURP, 18 karakter), PAN→personal_number (Cédula), PER→personal_number (DNI, 8 digit), PRY→document_number (CI), SLV→document_number (DUI), URY→personal_number (CI), VEN→document_number (Cédula). Nilai ini tidak pernah menimpa kolom spesifik negara yang diberikan secara eksplisit.

first_name
string

Nama depan individu. Diperlukan oleh beberapa layanan/negara.

Contoh:

"John"

last_name
string

Nama belakang individu. Diperlukan oleh beberapa layanan/negara.

Contoh:

"Doe"

middle_name
string

Nama tengah, digunakan oleh beberapa layanan negara (AUS, NZL, …).

full_name
string

Nama lengkap — beberapa layanan menerima ini sebagai pengganti nama depan/belakang (misalnya layanan CHN, yang mencocokkan nama dalam aksara asli).

date_of_birth
string<date>

Tanggal lahir, YYYY-MM-DD. Diperlukan oleh banyak layanan.

Contoh:

"1980-01-01"

personal_number
string

Pengenal pribadi unik yang diterbitkan pemerintah. Digunakan oleh: CHL (RUT), COL (Cédula), CRI, DOM, ECU, ESP (DNI/NIE), MEX (CURP), PAN (Cédula), PER (DNI), URY. Pertimbangkan untuk menggunakan identification_number sebagai gantinya.

tax_number
string

ID pajak. Digunakan oleh: BRA (CPF, 11 digit). Pertimbangkan untuk menggunakan identification_number sebagai gantinya.

document_number
string

Nomor dokumen. Digunakan oleh: ARG (DNI), BOL (CI), GTM (DPI), HND (DNI), PRY (CI), SLV (DUI), VEN (Cédula). Pertimbangkan untuk menggunakan identification_number sebagai gantinya.

document_type
enum<string>

Jenis dokumen yang divalidasi: paspor P, SIM DL, ID nasional ID, izin tinggal RP (ditambah SSC, HIC, WP, TC, VISA, PSC, BC, OTHER). Diperlukan oleh beberapa layanan (misalnya ESP).

Opsi yang tersedia:
P,
DL,
ID,
RP,
SSC,
HIC,
WP,
TC,
VISA,
PSC,
BC,
OTHER
expiration_date
string<date>

Tanggal kedaluwarsa dokumen, YYYY-MM-DD. Wajib untuk validasi ESP (Spanyol).

Contoh:

"2030-01-15"

date_of_issue
string<date>

Tanggal penerbitan dokumen, YYYY-MM-DD (fecha de expedición). Wajib untuk validasi cédula COL (Kolombia).

Contoh:

"2015-06-20"

nationality
string

Kewarganegaraan sebagai ISO 3166-1 alpha-3. Diperlukan oleh beberapa layanan.

gender
enum<string>

Jenis kelamin: M, F, atau X (lainnya/tidak diketahui). Diperlukan untuk validasi RENAPER Argentina (arg_renaper).

Opsi yang tersedia:
M,
F,
X
address

Alamat tempat tinggal. Utamakan objek terstruktur {"street_1":"123 Main St","street_2":"Apt 4B","city":"Springfield","region":"IL","postal_code":"62701","country":"US"}; string satu baris lengkap masih diterima. Diperlukan oleh layanan verifikasi alamat; jika suatu layanan menentukan persyaratan alamat, bagian yang hilang akan mengembalikan 400 dengan address_fields_required_by.

address_element_1
string

Alamat jalan termasuk nomor jalan dan jenis jalan. Jika dihilangkan, diturunkan dari address.

address_element_2
string

Apartemen, unit, gedung, lantai, atau baris alamat tambahan. Kirimkan hanya jika Anda memilikinya secara eksplisit.

address_element_3
string

Kota, pinggiran kota, distrik, lokalitas, atau lingkungan. Jika dihilangkan, diturunkan dari address.

address_element_4
string

Negara bagian, provinsi, wilayah, atau kota. Jika dihilangkan, diambil dari address.

address_element_5
string

Kode pos. postal_code diterima sebagai alias.

postal_code
string

Kode pos untuk layanan berbasis alamat (alias dari address_element_5).

driver_license_number
string

Nomor surat izin mengemudi untuk layanan verifikasi dokumen pemerintah (AUS, NZL, IND).

driver_license_card_number
string

Nomor kartu fisik surat izin mengemudi, jika diwajibkan secara terpisah dari nomor lisensi (AUS).

driver_license_state
string

Negara bagian atau wilayah penerbitan surat izin mengemudi (AUS).

driver_license_version
string

Kode versi surat izin mengemudi (NZL).

passport_number
string

Nomor paspor untuk layanan verifikasi paspor pemerintah (AUS, NZL, IND, CHN).

passport_expiration_date
string<date>

Tanggal kedaluwarsa paspor, YYYY-MM-DD, untuk layanan verifikasi paspor.

passport_file_number
string

Nomor berkas paspor (IND).

passport_issue_country
string

Negara penerbit paspor (ISO 3166-1 alpha-3) untuk layanan verifikasi paspor.

medicare_card_number
string

Nomor kartu Medicare (AUS).

immi_card_number
string

Nomor ImmiCard Australia.

immi_card_expiry_date
string<date>

Tanggal kedaluwarsa ImmiCard Australia.

citizenship_certificate_number
string

Nomor sertifikat kewarganegaraan (AUS).

birth_registration_number
string

Nomor registrasi akta kelahiran (AUS).

birth_registration_date
string<date>

Tanggal pendaftaran akta kelahiran (AUS).

birth_registration_state
string

Negara bagian pendaftaran akta kelahiran (AUS).

marriage_certificate_number
string

Nomor akta nikah (AUS).

change_of_name_certificate_number
string

Nomor sertifikat perubahan nama (AUS).

first_partner_name
string

Nama depan pasangan pada surat nikah (AUS).

last_partner_name
string

Nama belakang pasangan pada surat nikah (AUS).

voter_id
string

Nomor pendaftaran pemilih (IND EPIC, IRL).

epic_card
string

Nomor kartu pemilih EPIC India.

pan
string

PAN (Permanent Account Number) India.

national_id
string

Nomor identitas nasional (CHN, MYS, KEN, KHM, NGA, ZAF, …).

cic
string

Código de Identificación de Credencial (CIC) INE/IFE Meksiko, 9 digit. Digunakan oleh layanan validitas kredensial MEX INE (mex_ine_vigencia).

identificador_ciudadano
string

INE Identificador del Ciudadano Meksiko (9 digit). Digunakan bersama cic untuk model INE modern (E/F/G/H) dalam mex_ine_vigencia.

ocr
string

Nomor OCR INE Meksiko (13 digit, bagian belakang kartu). Digunakan bersama cic untuk Model D dalam mex_ine_vigencia.

voter_number
string

INE Clave de Elector Meksiko (18 karakter). Digunakan bersama emission_number untuk model IFE lawas (A/B/C) dalam mex_ine_vigencia.

emission_number
string

INE Número de Emisión Meksiko. Digunakan bersama voter_number untuk model IFE lawas (A/B/C) dalam mex_ine_vigencia.

bvn
string

Nomor Verifikasi Bank Nigeria.

bank_card_number
string

Nomor kartu bank (verifikasi kartu bank CHN).

company_registration_number
string

Nomor registrasi perusahaan sebagaimana diterbitkan oleh registri perusahaan: CNPJ di Brasil (mis. 11222333000181), nomor registrasi di Afrika Selatan (mis. 1936/007721/06). Diperlukan oleh layanan registri perusahaan dan direktur perusahaan (bra_company_registry, bra_company_directors, zaf_company_registry, zaf_company_directors).

company_name
string

Nama perusahaan terdaftar, diperiksa silang terhadap entri registri. Opsional untuk zaf_company_registry.

initials
string

Inisial orang tersebut seperti yang tertera pada dokumen. Wajib untuk zaf_drivers_license; diterima untuk zaf_bank_account_holder.

licence_number
string

Nomor surat izin mengemudi seperti yang tertera pada kartu, untuk zaf_drivers_license. Jika dihilangkan, document_number yang digunakan.

refugee_file_number
string

Nomor berkas pengungsi yang diterbitkan oleh Departemen Dalam Negeri Afrika Selatan. Wajib untuk zaf_refugee.

bank_name
string

Nama bank pemegang rekening. Wajib untuk zaf_bank_account_holder.

bank_account_number
string

Nomor rekening bank. Wajib untuk zaf_bank_account_holder; diterima oleh zaf_fraud_prevention.

account_type
string

Jenis rekening bank untuk zaf_bank_account_holder: current, savings, transmission, subscriptionShare, atau notKnown, tidak peka huruf besar/kecil. Nilai lain apa pun mengembalikan 400. Abaikan jika Anda tidak mengetahui jenisnya: pemeriksaan silang jenis rekening kemudian dilaporkan sebagai tidak terkonfirmasi.

phone_number
string

Nomor ponsel kontak, untuk layanan yang memeriksa ulang keterjangkauan kontak (zaf_bank_account_holder, zaf_fraud_prevention, zaf_refugee).

right_thumb
string

Sidik jari jempol kanan yang di-encode Base64 untuk zaf_dha_fingerprint_match, bersama left_thumb atau secara terpisah.

left_thumb
string

Sidik jari jempol kiri yang di-encode Base64 untuk zaf_dha_fingerprint_match, bersama right_thumb atau secara terpisah.

score_level
integer

Tingkat skor biometrik minimum untuk zaf_criminal_face_screening. Defaultnya adalah 3.

max_matches
integer

Jumlah maksimum kandidat kecocokan yang dikembalikan oleh zaf_criminal_face_screening. Defaultnya adalah 1.

vehicle_register_number
string

Nomor registrasi kendaraan. Wajib diisi, bersama dengan vehicle_licence_plate dan vin, oleh zaf_vehicle_ownership.

vehicle_licence_plate
string

Nomor plat kendaraan. Wajib diisi, bersama dengan vehicle_register_number dan vin, oleh zaf_vehicle_ownership.

vin
string

Nomor Identifikasi Kendaraan (VIN atau nomor rangka). Wajib diisi, bersama dengan vehicle_register_number dan vehicle_licence_plate, oleh zaf_vehicle_ownership.

ssn
string

Social Security Number (AS).

phone
string

Nomor telepon untuk layanan verifikasi telepon.

landline
string

Nomor telepon rumah untuk layanan verifikasi telepon.

email
string<email>

Alamat email untuk layanan verifikasi identitas.

country_of_residence
string

Negara tempat tinggal ISO 3166-1 alpha-2. Digunakan oleh layanan pengayaan identitas global (misalnya glb_identity_enrichment) untuk memfokuskan pencarian.

Contoh:

"US"

partial_match_action
enum<string>
default:NO_ACTION

Pengaruh partial_match terhadap database_validation.status. Default ke NO_ACTION (status tetap Approved, dengan peringatan).

Opsi yang tersedia:
DECLINE,
NO_ACTION
no_match_action
enum<string>
default:DECLINE

Pengaruh no_match terhadap database_validation.status. Default ke DECLINE.

Opsi yang tersedia:
DECLINE,
NO_ACTION
save_api_request
boolean
default:true

Simpan validasi sebagai sesi (visibilitas konsol, endpoint keputusan, webhook status.updated). Tindakan ini juga mengubah bentuk respons validations: objek per layanan saat true (default), peta kolom gabungan saat false.

vendor_data
string

Pengenal Anda untuk pengguna yang divalidasi; dikembalikan dan disimpan bersama sesi.

metadata
object | null

JSON bentuk bebas yang disimpan bersama permintaan dan dikembalikan dalam respons.

Respons

Validasi selesai — setidaknya satu layanan yang dipilih mengembalikan hasil yang dapat digunakan. Periksa database_validation.match_type untuk hasil agregat, validations untuk perbandingan kolom per layanan dan outcome_codes, serta errors (jika ada) untuk layanan yang gagal.

request_id
string<uuid>

ID sesi yang disimpan saat save_api_request=true (dapat digunakan dengan GET /v3/session/{sessionId}/decision/); jika tidak, berupa UUID korelasi sementara.

database_validation
object
vendor_data
string | null

Menampilkan kembali vendor_data yang Anda kirimkan.

metadata
object | null

Salinan metadata yang Anda kirimkan.

created_at
string<date-time>
Terakhir diubah pada 7 November 2026