> ## 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.

# Verifikasi Identitas API: 14.000+ Dokumen

> Verifikasi identitas berbasis AI di 220+ negara, 14.000+ jenis dokumen, dan 54 bahasa dengan Didit. $0.15 per cek, gratis $10/bulan, inferensi di bawah 2 detik.

Didit Verifikasi Identitas membaca dan mengautentikasi dokumen identitas yang diterbitkan pemerintah, seperti paspor, kartu identitas, SIM, dan izin tinggal, di 220+ negara dan 14,000+ jenis dokumen. Sistem memeriksa dokumen untuk mendeteksi manipulasi dan penipuan, lalu mengekstrak datanya dengan AI OCR. Di negara yang mengizinkannya, orang dapat memverifikasi tanpa dokumen melalui pencarian basis data atau dompet ID digital ([tiga cara verifikasi](#tiga-cara-verifikasi)).Pelajaran Academy tentang membaca hasil verifikasi membahas Verifikasi Identitas pada 3:47 dan menunjukkan mengapa pemeriksaan keaslian harus dilakukan sebelum data diekstrak.[Verifikasi identitas: keaslian sebelum data, Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?start=227\&rel=0\&playsinline=1)

Prompt Integrasi Verifikasi Identitas
        Salin prompt ke papan klip



      
      

\<pre>

\````# Goal
Integrate Didit ID Verification (OCR + document authenticity) into your app. Pick ONE of the two delivery modes below.

\# Mode A — Session-based (recommended for user-facing flows)
Use this when the user uploads / photographs their document in a hosted Didit flow. The feature is configured on a workflow and runs as part of /v3/session/.

1\. Create a workflow with the ID_VERIFICATION feature (Business Console or POST /v3/workflows/). Canonical feature enum: "OCR" (legacy) or "ID_VERIFICATION".
2\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
3\. Open the returned session.url for the user OR mount the Web/Mobile SDK.
4\. After completion fetch the decision — GET /v3/session/{sessionId}/decision/ (or subscribe to the session.status.updated webhook).

The decision response surfaces the result under the plural array `id_verifications[]` (one entry per document collected in the workflow).

\# Mode B — Standalone API (server-to-server)
Use when you already have one or two document images and want a one-shot OCR + checks call.

POST https://verification.didit.me/v3/id-verification/
multipart/form-data — x-api-key: YOUR_API_KEY

Required: front_image. Required for dual-sided docs (ID cards, driver licences): back_image.
Allowed extensions: tiff/jpg/jpeg/png/webp/pdf. Max 5 MB per file. Images must be uncropped — all 4 corners visible.

curl example:
\```bash
curl -X POST 'https://verification.didit.me/v3/id-verification/' \
-H 'x-api-key: YOUR_API_KEY' \
-F 'front_image=@./id_front.jpg' \
-F 'back_image=@./id_back.jpg' \
-F 'perform_document_liveness=true' \
-F 'minimum_age=18' \
-F 'expiration_date_not_detected_action=DECLINE' \
-F 'invalid_mrz_action=DECLINE' \
-F 'inconsistent_data_action=DECLINE' \
-F 'preferred_characters=latin' \
-F 'save_api_request=true' \
-F 'vendor_data=user-123'
\```
Returns: { request_id, id_verification: { status, full_name, document_type, document_number, date_of_birth, expiration_date, parsed_address, mrz, barcodes, portrait_image, front_document_image, back_document_image, warnings: [...] } }.

\# Status enum (per id_verifications[].status)
"Not Started" | "In Progress" | "Approved" | "In Review" | "Declined" | "Abandoned" | "Kyc Expired"

\# Warnings (LogWarningChoices.ID_VERIFICATION)
The warnings[] array on each id_verification carries risk codes including:
DOCUMENT_EXPIRED, INVALID_MRZ, INCONSISTENT_DATA, COULD_NOT_RECOGNIZE_DOCUMENT, DOCUMENT_LIVENESS_FAILED, MIN_AGE_NOT_REACHED, MAX_AGE_EXCEEDED, EXPIRATION_DATE_NOT_DETECTED, DUPLICATED_DOCUMENT, FRAUD_RISK_FROM_OCR, COUNTRY_NOT_ALLOWED, DOCUMENT_TYPE_NOT_ALLOWED.
Full catalogue: /core-technology/id-verification/warnings-id-verification.

\# Failure modes to handle
\- HTTP 403 "You don't have enough credits..." — insufficient balance.
\- HTTP 400 with multipart validation errors (missing back_image on dual-sided docs, file > 5 MB, unsupported extension).
\- status="Declined" with one or more terminal warnings (DOCUMENT_EXPIRED, DOCUMENT_LIVENESS_FAILED, COULD_NOT_RECOGNIZE_DOCUMENT, etc.) — surface the first warning's long_description to the user and stop the flow.
\- status="In Review" with a DOCUMENT_LIVENESS_NOT_COMPUTED warning — the requested forgery check produced no usable score (provider error or crash); treat the document as unchecked and route it to your manual-review queue.
\- status="In Review" — route to your manual-review queue; do not approve the user.

\# See also
\- Canonical schema: /reference/data-models#id-verification
\- Full integration playbook: /integration/integration-prompt
\- Risk catalogue: /core-technology/id-verification/warnings-id-verification
\- Per-feature report: /core-technology/id-verification/report-id-verification````

\</pre>



      
      

Tempel ke

![Langkah Verifikasi Identitas Didit, dari pengambilan dokumen hingga analisis dan keputusan bertenaga AI](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/id-verification-steps.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=42c64546f3495000d7ea3b10c4b5fa50)**1. Pengambilan Cerdas**Mulai proses verifikasi dengan mudah melalui sistem pengambilan gambar berbasis AI yang intuitif. Pengguna mengunggah atau memotret dokumen identitas mereka dengan bantuan real-time:* **Deteksi otomatis** jenis dokumen dan negara penerbit
* **Petunjuk visual real-time** untuk posisi, pencahayaan, dan fokus yang optimal
* **Pengambilan otomatis** saat kondisi ideal, tanpa perlu percobaan ulang secara manual
* Mendukung **paspor**, **SIM**, **kartu identitas nasional**, dan **izin tinggal**> [!NOTE]
>
> *Mengapa ini penting*: Pengambilan cerdas kami mengurangi hambatan bagi pengguna dan memastikan dokumen yang dikirimkan berkualitas tinggi pada percobaan pertama, sehingga meningkatkan tingkat konversi dan kepercayaan.**2. Pemrosesan Data Lanjutan**Ekstrak dan validasi data identitas dengan presisi yang belum tertandingi.**Ekstraksi Data**: Teknologi mutakhir memproses semua kolom utama:| Kemampuan | Detail |
| - | - |
| **Ekstraksi kolom** | Nama lengkap, tanggal lahir, nomor dokumen, tanggal penerbitan/kedaluwarsa, kewarganegaraan, dan lainnya |
| **OCR** | Pengenalan teks presisi tinggi |
| **Penguraian MRZ** | Dekode Zona Terbaca Mesin |
| **Dekode barcode** | Ekstraksi data barcode otomatis |**Validasi Data**:* Lakukan referensi silang terhadap data antara zona visual, MRZ, dan barcode untuk memastikan konsistensi
* Verifikasi kriptografis barcode yang ditandatangani penerbit, jika otoritas penerbit mempublikasikan sertifikat yang diperlukan untuk memeriksanya. Kartu identitas nasional Prancis sudah tercakup saat ini: barcode ANTS 2D-Doc-nya diverifikasi terhadap sertifikat penandatangan yang terhubung ke daftar tepercaya ANTS, sehingga barcode yang tidak ditandatangani otoritas tetap terdeteksi meskipun isinya tampak konsisten
* Pencocokan format dan pola untuk mendeteksi anomali
* Kueri real-time ke basis data pemerintah (jika diizinkan) untuk verifikasi dari sumber berwenang> [!NOTE]
>
> *Mengapa ini penting*: Pemrosesan data yang komprehensif memastikan akurasi dan menghilangkan kesalahan, sehingga Anda yakin pada setiap verifikasi.**3. Analisis Lanjutan**Sistem berbasis AI kami melakukan pemeriksaan menyeluruh untuk memastikan integritas dan keaslian dokumen:- **Verifikasi keaslian** dokumen
- **Deteksi manipulasi** dan analisis integritas gambar
- **Deteksi liveness dokumen** untuk mencegah penipuan dari:
  * Tangkapan layar dokumen digital
  * Foto dokumen yang ditampilkan di layar
  * Salinan dokumen cetak
  * Dokumen yang dimanipulasi dengan potret yang diubah
- **Validasi fitur keamanan** (hologram, watermark, dll.)
- **Pencocokan templat** dengan basis data bersertifikat**4. Hasil dan Integrasi yang Mulus**Dapatkan wawasan yang dapat ditindaklanjuti secara instan dengan opsi pengiriman yang fleksibel.**Hasil Real-Time**:- Pembaruan langsung melalui dasbor yang intuitif
- Notifikasi webhook instan untuk alur kerja otomatis
- API RESTful untuk integrasi yang mulus ke dalam sistem Anda yang sudah ada**Pelaporan Komprehensif**:* Laporan PDF terperinci dengan hasil verifikasi dan bukti
* Log audit untuk kepatuhan dan pencatatan
* Opsi yang dapat disesuaikan agar selaras dengan kebutuhan operasional Anda> [!NOTE]
>
> *Mengapa ini penting*: Hasil yang cepat dan mudah diakses memungkinkan tim Anda bertindak cepat sambil tetap menjaga proses yang aman dan dapat diaudit.***## Tiga cara verifikasiDokumen yang difoto adalah salah satu dari tiga [metode Verifikasi Identitas](https://docs.didit.me/id/core-technology/id-verification/verification-methods.md). Untuk setiap negara, Anda juga dapat memungkinkan orang membuktikan identitasnya tanpa dokumen sama sekali:- **[Pencarian tanpa dokumen](https://docs.didit.me/id/core-technology/id-verification/non-doc-lookup.md):** pengguna mengetikkan nomor identitas nasional mereka beserta beberapa detail pribadi, dan kami memeriksanya terhadap registri pemerintah atau sumber otoritatif lain, yang disebutkan per negara. Jika sumber tersebut mengembalikan potret, swafoto, liveness pasif, dan pencocokan wajah ikut disertakan.
- **[Dompet ID digital](https://docs.didit.me/id/core-technology/id-verification/digital-id-wallets.md):** pengguna masuk dengan identitas digital pemerintah atau bank, seperti MitID, BankID, atau itsme, dan dompet tersebut membagikan sekumpulan atribut yang ditandatangani.Semua yang ada di halaman ini menjelaskan pengambilan dokumen, yang tidak berubah. Alur kerja yang tidak menyebutkan metode tetap hanya menggunakan pengambilan dokumen.***## Persyaratan DokumenAgar verifikasi berhasil secara optimal, dokumen harus memenuhi standar berikut:#### Persyaratan Umum- Diterbitkan pemerintah dan masih berlaku dalam masa berlaku yang dikonfigurasi
- Utuh secara fisik (tidak ada kerusakan, goresan, atau noda yang menutupi detail)
- Semua informasi penting (nama lengkap, tanggal lahir, MRZ, dll.) terbaca dengan jelas
- Data konsisten di seluruh dokumen yang dikirimkan#### Persyaratan Gambar- Foto asli dan real-time (bukan tangkapan layar, pindaian, atau salinan digital)
- Format yang didukung: JPG, JPEG, PNG, PDF
- Ukuran file maksimum: 5MB
- Gambar berwarna penuh dengan semua sudut dokumen terlihat
- Bebas dari silau, bayangan, penyuntingan digital, atau manipulasi
- Dokumen fisik diperlukan (ID digital hanya didukung di wilayah tertentu yang secara resmi diakui)## Pengaturan Tambahan per Negara & Jenis DokumenKonfigurasikan aturan terperinci per negara dan jenis dokumen langsung dari konsol. Kontrol ini memungkinkan Anda menyesuaikan kriteria penerimaan dan preferensi transkripsi sesuai kebutuhan kepatuhan Anda.![Panel pengaturan tambahan verifikasi identitas Didit untuk aturan kedaluwarsa dan penerimaan per negara](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/id-additional-settings.jpeg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=4238b10a404795a61926fbdf1a3adc20)* **Expiration mode**: Pilih cara menangani dokumen dengan tanggal kedaluwarsa yang sudah lewat.

  * **Reject expired**: Jika tanggal kedaluwarsa dokumen lebih awal dari hari ini, tandai dokumen sebagai kedaluwarsa dan tolak.
  * **Allow expired**: Jangan tandai atau blokir dokumen dengan tanggal kedaluwarsa yang sudah lewat.

  Pengaturan ini juga mengontrol pemantauan pascapersetujuan, yang aktif secara default: dengan **Reject expired**, sesi yang disetujui berpindah ke `"Kyc Expired"` ketika tanggal kedaluwarsa dokumen kemudian terlewati, dan `status.updated` dipicu; dengan **Allow expired**, sesi tetap disetujui dan tidak pernah dipantau. Lihat [pemantauan dokumen](https://docs.didit.me/id/core-technology/id-verification/document-monitoring-id-verification.md).
  Dalam API alur kerja, pengaturan dokumen per negara `expiration_check_mode` menerima `strict` (**Reject expired**), `allow_expired` (**Allow expired**) dan `local_regulation`.
  `local_regulation` mengikuti aturan negara yang bersangkutan jika Didit memilikinya, dan menolak dokumen kedaluwarsa di semua tempat lain.
  Nilai lain akan ditolak.
* **Preferred character format**: Pilih cara nama dan kolom yang diekstrak dinormalisasi.
  * **Prefer Latin characters (A–Z)**: Contoh: "Mohammed"
  * **Prefer original script (non‑Latin)**: Contoh: "محمد"
* **Regional support & subtypes**: Aktifkan dokumen berdasarkan wilayah dan tentukan subtipe yang diterima ketika jenis dokumen memiliki banyak variasi.
  * Contoh: Untuk SIM Amerika Serikat, pilih subtipe spesifik yang Anda terima (misalnya Arizona Commercial Driver License, Indiana Operator License (REAL ID), New York Enhanced Driver License, dll.).
  * Gunakan kontrol "Accepted subtypes" untuk menyertakan atau mengecualikan banyak varian dengan cepat (misalnya "128 selected").> Tip: Pengaturan ini berlaku per negara dan jenis dokumen, sehingga Anda dapat bersikap ketat di sebagian pasar dan lebih permisif di pasar lain.## Pembatasan Usia per NegaraTerapkan persyaratan usia minimum dan maksimum per negara selama Verifikasi Identitas. Sistem mengekstrak tanggal lahir pengguna dari dokumen yang dikirimkan dan memeriksanya terhadap batas usia yang dikonfigurasi untuk negara penerbit dokumen.### KonfigurasiPembatasan usia dikonfigurasi sebagai tabel per negara langsung dari konsol:| Kolom | Deskripsi |
| - | - |
| **Negara** | Negara penerbit dokumen (ISO 3166-1 alpha-3). Hanya negara yang diaktifkan dalam daftar dokumen yang diizinkan yang ditampilkan. |
| **Usia Min.** | Usia minimum yang diperlukan. Pengguna yang lebih muda dari nilai ini memicu tindakan yang dikonfigurasi (Tolak atau Tinjauan). |
| **Usia Maks.** | Usia maksimum yang diizinkan. Pengguna yang lebih tua dari nilai ini memicu tindakan yang dikonfigurasi. Kosongkan jika tidak ada batas atas. |
| **Penimpaan negara bagian/wilayah** | Untuk negara dengan variasi usia tingkat sub-nasional (misalnya Amerika Serikat, Meksiko), buka ikon pengaturan untuk mengonfigurasi usia minimum dan maksimum per negara bagian yang menggantikan nilai bawaan tingkat negara. |### Default Usia DewasaKonsol menyertakan tombol **"Apply age of majority"** yang secara otomatis mengisi usia minimum setiap negara dengan usia dewasa yang ditetapkan secara hukum (18 di sebagian besar negara, dengan pengecualian seperti 19 di Korea Selatan, 21 di UEA, 20 di Selandia Baru, dll.). Anda kemudian dapat menyesuaikan negara tertentu atau menambahkan penggantian tingkat negara bagian sesuai kebutuhan.### Penggantian Negara Bagian/WilayahBeberapa negara memiliki ambang batas usia hukum yang berbeda tergantung negara bagian atau wilayah. Ketika dokumen dipindai, sistem OCR mengekstrak wilayah (misalnya "Mississippi", "Alabama", "Jalisco") dari dokumen tersebut. Jika penimpaan negara bagian dikonfigurasi untuk wilayah itu, penimpaan tersebut didahulukan daripada pengaturan usia tingkat negara.Sebagai contoh, jika Amerika Serikat memiliki usia minimum 18, tetapi Mississippi memiliki penggantian negara bagian 21, pengguna yang menunjukkan SIM Mississippi akan diperiksa terhadap usia minimum 21.### Tindakan yang Dapat DikonfigurasiKetika usia pengguna berada di luar rentang yang dikonfigurasi untuk negara (atau negara bagian) dokumennya, Anda dapat memilih tindakannya:* **Tolak**: Sesi otomatis ditolak.
* **Tinjauan**: Sesi ditandai untuk peninjauan manual.> [!NOTE]
>
> Pembatasan usia per negara juga berfungsi dengan alur kerja **Verifikasi Usia Adaptif**. Ketika kasus perbatasan memicu fallback Verifikasi Identitas, pemeriksaan usia menggunakan pengaturan per negara ini untuk membuat keputusan akhir berdasarkan negara penerbit dan wilayah dokumen.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.