Langsung ke konten utama
POST
curl
Gunakan endpoint ini terlebih dahulu untuk menemukan kandidat registri perusahaan yang cocok. Pencarian tidak membuat Manual Check yang tersimpan. Pencarian mandiri yang berhasil dan menggunakan sumber data perusahaan berbayar dikenai biaya $0.50 per permintaan, terlepas dari jumlah kandidat. Hasil kosong, pencarian yang gagal, dan hasil yang hanya berasal dari sumber lain tidak dikenai biaya. Pengambilan profil berikutnya ditagih secara terpisah. Untuk pencarian yang dapat menggunakan sumber berbayar, Didit memeriksa dan memesan harga pencarian yang berlaku sebelum menghubungi registri. Saldo yang tidak mencukupi mengembalikan 403 dengan code: "insufficient_credits". Penagihan kontrak mengikuti tarif pencarian yang telah Anda sepakati; tarif kontrak yang belum dikonfigurasi akan ditolak sebelum pencarian dilakukan. Pencarian di sandbox tidak dikenai biaya. Setiap pencarian yang berhasil dan diulang adalah permintaan baru yang dapat ditagih; pengiriman callback tidak menambah biaya pencarian. Jika Anda mengirim webhook_url, Didit dapat langsung memberikan respons sementara penyedia menyelesaikan pencarian, lalu mengirim kandidat ke URL callback Anda saat sudah siap. Callback ini sengaja tidak ditandatangani, sehingga Anda tidak perlu mengonfigurasi rahasia webhook untuk notifikasi pencarian ini. Lihat contoh payload callback pencarian. Setelah Anda memilih kyb_response_id yang benar, panggil POST /v3/kyb/select/ (Lite), POST /v3/kyb/shareholders/, atau POST /v3/kyb/ubo/ untuk mengambil profil registri yang dapat ditagih pada tingkat yang Anda butuhkan.
fetch_status setiap kandidat bernilai pending saat pencarian dan tetap pending sampai Anda memilih kandidat tersebut. Pencarian hanya mencantumkan kandidat, dan tindakan select-lah yang mengambil profil lengkap. Jangan melakukan polling ke pencarian untuk menunggu status ini berubah.kyb_response_id adalah handle opak dan sementara yang hanya berlaku untuk satu permintaan pencarian. Kirimkan kembali persis seperti yang Anda terima, jangan pernah mengurai atau menurunkan apa pun dari isinya, dan perlu diketahui bahwa mengulang pencarian yang sama akan menghasilkan id baru. Pilih kandidat segera setelah pencarian, dan gunakan registration_number jika Anda memerlukan pengenal yang stabil untuk perusahaan itu sendiri.

Tingkat pencarian

tier memilih tingkat registri yang rantai penyedianya dijalankan oleh pencarian: basic (default, rantai Lite), shareholders, atau ubo. Daftar kandidat berasal dari rantai tingkat tersebut, dan itu tidak selalu sama dengan sumber yang dibaca pencarian Lite. Oleh karena itu, pencarian Lite yang kosong tidak membuktikan bahwa registri tidak memiliki data perusahaan tersebut. Cari ulang pada tingkat yang Anda butuhkan. Jika negara tidak menawarkan tingkat yang Anda sebutkan, pencarian dijalankan pada tingkat tertinggi yang ditawarkan negara itu hingga tingkat yang Anda minta. Negara yang sama sekali tidak memiliki data registri tidak tersedia untuk pemeriksaan registri; lanjutkan dengan memasukkan data perusahaan secara manual. Cari pada tingkat yang ingin Anda beli, lalu ambil kandidat dari endpoint yang menjualnya:

search_type

search_type hanya menerima contains, dan nilai itu adalah default. Sumber registri di balik pencarian mencocokkan nama perusahaan berdasarkan apakah nama tersebut memuat teks pencarian, sehingga start_with dan fuzzy ditolak dengan 400 ("start_with" is not a valid choice) alih-alih diperlakukan diam-diam sebagai contains. Kirim registration_number untuk pencocokan perusahaan yang tepat.

Pencarian yang di-hosting dan mandiri

POST /v1/kyb/search/ adalah pencarian yang dijalankan oleh alur verifikasi yang di-hosting. Endpoint ini diautentikasi melalui sesi verifikasi, menjawab 403 untuk kunci API, dan tidak menerima tier. Konfigurasi registri KYB dari alur kerja yang menentukan rantai yang digunakan. Integrasi mandiri memanggil POST /v2/kyb/search/ atau POST /v3/kyb/search/ dengan x-api-key Anda. Input tier dan endpoint select bertingkat adalah cara integrasi mandiri menjangkau kandidat yang sama, pada tingkat yang dibutuhkannya.

Menangani gangguan registri

Jika penyedia registri sementara tidak tersedia, endpoint mengembalikan 502 dengan kode yang stabil dan dapat dibaca mesin:
Saat Anda menerima kode ini, biarkan pengguna melanjutkan dengan memasukkan data perusahaan secara manual, atau minta mereka mencoba lagi nanti. Pisahkan kesalahan validasi: input pencarian yang tidak valid mengembalikan 400 dan tidak menggunakan kode gangguan ini.

Menangani negara yang tidak didukung dan batas pencarian

Ada dua kode stabil lainnya yang menandakan Anda harus berhenti mencoba ulang dan melanjutkan dengan memasukkan data perusahaan secara manual: Dalam alur yang di-hosting, setiap langkah registri mengizinkan 3 pencarian pada sumber data perusahaan berbayar. Setelah pencarian ketiga, pemohon ditawari opsi memasukkan data secara manual. Memilih kandidat yang merupakan pendaftaran merek dagang, bukan perusahaan, mengembalikan 400 dengan code: "kyb_registry_entry_not_a_company". Pilih perusahaan dari hasil pencarian sebagai gantinya.

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

application/json
country_code
string
wajib

Kode ISO 3166-1 alpha-2 untuk negara yang registri perusahaannya akan dicari. Misalnya, GB. Jika registri perusahaan beroperasi di tingkat negara bagian atau provinsi, tambahkan kode subdivisi ISO 3166-2 sebagai XX-YY: US-CA mencari di registri California. Pencarian untuk Amerika Serikat selalu memerlukan subdivisi — kode US saja akan ditolak. Tidak peka huruf besar/kecil; dinormalisasi ke huruf besar.

Maximum string length: 10
Contoh:

"GB"

name
string

Nama perusahaan yang akan dicari. Salah satu dari name atau registration_number diperlukan.

Maximum string length: 255
Contoh:

"Tesco"

registration_number
string

Nomor registrasi registri yang dicari. Salah satu dari name atau registration_number wajib diisi.

Maximum string length: 100
tier
enum<string>
default:basic

Tingkat registri tempat rantai penyedia pencarian ini dijalankan. basic (default) mencari rantai Lite negara tersebut; shareholders dan ubo mencari rantai kepemilikan tingkat tersebut, yang dapat menjadi sumber berbeda, sehingga pencarian Lite yang kosong tidak membuktikan bahwa registri tidak memiliki perusahaan tersebut. Negara yang tidak menawarkan tingkat yang disebutkan akan dicari pada tingkat tertinggi yang ditawarkannya hingga tingkat tersebut. Ambil kandidat dari endpoint yang menjual tingkat yang Anda cari: POST /v3/kyb/select/ (Lite), POST /v3/kyb/shareholders/ atau POST /v3/kyb/ubo/.

Opsi yang tersedia:
basic,
shareholders,
ubo
Contoh:

"basic"

search_type
enum<string>
default:contains

Strategi pencocokan nama yang diterapkan oleh pencarian registri. contains adalah satu-satunya nilai yang diterima: tidak ada sumber registri di balik pencarian yang menawarkan mode awalan atau fuzzy, sehingga start_with dan fuzzy ditolak dengan 400 (not a valid choice).

Opsi yang tersedia:
contains
vendor_data
string

Pengenal Anda untuk pencarian ini; dikembalikan dan disertakan dalam callback webhook.

metadata
object | null

JSON bentuk bebas; dikembalikan dalam respons dan disertakan dalam callback webhook.

webhook_url
string<uri>

Mengalihkan pencarian ke mode asinkron: API segera memberikan respons dan mengirimkan POST callback kyb.registry_search.resolved yang tidak ditandatangani ke URL ini saat daftar kandidat sudah siap.

Maximum string length: 500

Respons

Pencarian diterima. Mode sinkron mengembalikan daftar kandidat hasil akhir; mode webhook mengembalikan respons segera (sering kali search_status: "pending") dan mengirimkan daftar akhir melalui callback kyb.registry_search.resolved.

request_id
string<uuid>

Dengan webhook_url: id permintaan pencarian yang disimpan, ditampilkan kembali sebagai request_id dalam callback kyb.registry_search.resolved. Tanpa webhook_url: UUID korelasi sementara (pencarian tidak disimpan).

kyb_registry
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