Langsung ke konten utama
POST
cURL

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

multipart/form-data
user_image
file
wajib

Foto wajah yang akan dianalisis (misalnya swafoto). Kirimkan satu foto menghadap ke depan dengan wajah subjek terlihat jelas dan dengan pencahayaan yang baik. Ekstensi yang diizinkan: tiff, jpg, jpeg, png, webp (tanpa PDF). Ukuran unggahan maksimum: 5 MB (file yang lebih besar ditolak dengan 400). Gambar secara otomatis dikompresi menjadi ~0.3 MB sebelum diproses, sehingga resolusi yang sangat tinggi tidak meningkatkan akurasi.

face_liveness_score_decline_threshold
number<float>
default:30

Ambang batas liveness (0–100). score liveness pada atau di bawah nilai ini menambahkan peringatan LOW_LIVENESS_SCORE dan menolak. Naikkan untuk anti-spoofing yang lebih ketat; nilai di luar 0–100 mengembalikan 400.

Rentang yang diperlukan: 0 <= x <= 100
Contoh:

30

age_estimation_decline_threshold
integer
default:18

Estimasi usia minimum yang dapat diterima dalam tahun. Estimasi usia di bawah nilai ini akan menambahkan peringatan AGE_BELOW_MINIMUM dan ditolak. Atur 0 untuk menonaktifkan pemeriksaan usia (panggilan kemudian hanya menjalankan liveness + estimasi usia tanpa keputusan berbasis usia).

Rentang yang diperlukan: 0 <= x <= 100
Contoh:

18

rotate_image
boolean
default:false

Jika true, layanan mencoba gambar input dalam kelipatan 90 derajat (0, 90, 180, 270) dan menggunakan orientasi yang menghasilkan deteksi wajah terbaik — berguna untuk pengambilan gambar seluler dengan orientasi EXIF yang hilang. Menambah latensi, jadi aktifkan hanya jika Anda tidak dapat menjamin gambar dalam posisi tegak.

Contoh:

false

save_api_request
boolean
default:true

Jika true (default), menyimpan panggilan sebagai sesi tipe API — terlihat di Business Console, dapat diambil melalui GET /v3/session/{sessionId}/decision/ menggunakan request_id yang dikembalikan, diumumkan melalui webhook status.updated, dan dengan wajah yang terdeteksi ditambahkan ke indeks wajah aplikasi Anda. Jika false, tidak ada yang disimpan dan request_id adalah UUID sementara hanya untuk korelasi respons.

Contoh:

true

vendor_data
string

String buram opsional (ID pengguna internal, email, UUID Anda…) yang disimpan pada sesi yang dipertahankan dan dikembalikan dalam respons. Gunakan untuk mengorelasikan panggilan API dengan catatan Anda sendiri dan memfilter sesi nantinya.

Contoh:

"user-123"

metadata
object

Objek JSON opsional yang disimpan bersama sesi (saat save_api_request=true) dan dikembalikan dalam respons. Dalam permintaan multipart, kirimkan sebagai kolom string yang dikodekan dalam JSON (misalnya metadata={"flow":"age-gate"}) — kolom ini akan diuraikan menjadi sebuah objek.

Contoh:

Respons

Estimasi usia dan deteksi liveness pasif selesai. age_estimation.age_estimation adalah usia yang diprediksi model dalam tahun dari wajah terbesar yang terdeteksi (null jika tidak ada); age_estimation.score adalah skor deteksi liveness pasif (0–100); status bernilai Approved hanya jika warnings kosong. Pengambilan gambar oleh pengguna di bawah umur atau hasil spoofing tetap mengembalikan 200 dengan status: "Declined" — periksa isi respons, bukan hanya kode HTTP. Jika save_api_request=true, request_id adalah ID sesi yang tersimpan.

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.

age_estimation
object
vendor_data
string | null

Salinan vendor_data yang Anda kirimkan, atau null.

metadata
object | null

Salinan objek metadata yang Anda kirimkan, atau null.

created_at
string<date-time>

Stempel waktu ISO 8601 (UTC) saat respons dibuat.

Terakhir diubah pada 7 November 2026