from didit import Didit# Reads DIDIT_API_KEY.client = Didit()result = client.document_ai.analyze( document=open("document.pdf", "rb"), fields="[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",)print(result)
import Didit, { fileFromPath } from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.documentAi.analyze({
document: await fileFromPath("document.pdf"),
fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DocumentAi.Analyze(ctx, didit.DocumentAiAnalyzeParams{
Document: didit.FileFromPath("document.pdf"),
Fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
import java.nio.file.Path;
import me.didit.Didit;
import me.didit.types.DocumentAiAnalyzeParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.documentAi().analyze(DocumentAiAnalyzeParams.builder()
.document(Path.of("document.pdf"))
.fields("[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]")
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
use Didit\File;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->documentAi->analyze([
'document' => File::fromPath('document.pdf'),
'fields' => '[{"key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false}, {"key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true}, {"key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false}, {"key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false}]',
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.document_ai.analyze(
document: Pathname("document.pdf"),
fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]"
)
puts result.to_h
using System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.DocumentAi.AnalyzeAsync(new DocumentAiAnalyzeParams
{
Document = FileUpload.FromPath("document.pdf"),
Fields = "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
});
Console.WriteLine(JsonSerializer.Serialize(result));
curl --request POST \
--url https://verification.didit.me/v3/document-ai/ \
--header 'Content-Type: multipart/form-data' \
--header 'x-api-key: <api-key>' \
--form document=@example-file \
--form 'fields=[{"key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false}, {"key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true}, {"key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false}, {"key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false}]' \
--form expected_first_name=Sophia \
--form expected_last_name=Martinez \
--form 'expected_company_name=<string>' \
--form 'expected_company_country=<string>' \
--form document_ai_name_match_score_threshold=80 \
--form document_ai_unreadable_document_action=REVIEW \
--form document_ai_missing_required_fields_action=REVIEW \
--form document_ai_document_tampering_action=DECLINE \
--form document_ai_name_mismatch_action=NO_ACTION \
--form document_ai_unsupported_file_action=REVIEW \
--form save_api_request=true \
--form vendor_data=user-123 \
--form 'metadata={
"flow": "onboarding"
}'
{ "request_id": "9d6a3b1e-2f0c-4a8e-9b7d-1c2e3f4a5b6c", "document_ai": { "status": "Approved", "extracted_data": { "employer_name": "Acme Payments Ltd", "employee_name": "Sophia Martinez", "net_pay": 3120.5, "pay_date": "2026-07-31" }, "detected_codes": [ { "type": "CODE_128", "page_number": 1, "position": [ [ 96, 456 ], [ 96, 616 ], [ 1012, 611 ], [ 1015, 456 ] ], "x": 96, "y": 456, "width": 919, "height": 160, "page_width": 1200, "page_height": 1700, "raw_payload": "SU5WLTIwMjYtMDA0Mg==", "parsed_payload": "INV-2026-0042" } ], "fields": [ { "key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false }, { "key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true }, { "key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false }, { "key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false } ], "name_match_score": 100, "name_on_document": "Sophia Martinez", "warnings": [] }, "vendor_data": "user-123", "metadata": { "flow": "onboarding" }, "created_at": "2026-08-19T16:40:12.318Z"}
AI Dokumen
Ekstraksi Data Dokumen Kustom dengan API Document AI
Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.
POST
/
v3
/
document-ai
/
Python
from didit import Didit# Reads DIDIT_API_KEY.client = Didit()result = client.document_ai.analyze( document=open("document.pdf", "rb"), fields="[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",)print(result)
import Didit, { fileFromPath } from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.documentAi.analyze({
document: await fileFromPath("document.pdf"),
fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DocumentAi.Analyze(ctx, didit.DocumentAiAnalyzeParams{
Document: didit.FileFromPath("document.pdf"),
Fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
import java.nio.file.Path;
import me.didit.Didit;
import me.didit.types.DocumentAiAnalyzeParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.documentAi().analyze(DocumentAiAnalyzeParams.builder()
.document(Path.of("document.pdf"))
.fields("[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]")
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
use Didit\File;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->documentAi->analyze([
'document' => File::fromPath('document.pdf'),
'fields' => '[{"key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false}, {"key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true}, {"key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false}, {"key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false}]',
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.document_ai.analyze(
document: Pathname("document.pdf"),
fields: "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]"
)
puts result.to_h
using System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.DocumentAi.AnalyzeAsync(new DocumentAiAnalyzeParams
{
Document = FileUpload.FromPath("document.pdf"),
Fields = "[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]",
});
Console.WriteLine(JsonSerializer.Serialize(result));
curl --request POST \
--url https://verification.didit.me/v3/document-ai/ \
--header 'Content-Type: multipart/form-data' \
--header 'x-api-key: <api-key>' \
--form document=@example-file \
--form 'fields=[{"key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false}, {"key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true}, {"key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false}, {"key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false}]' \
--form expected_first_name=Sophia \
--form expected_last_name=Martinez \
--form 'expected_company_name=<string>' \
--form 'expected_company_country=<string>' \
--form document_ai_name_match_score_threshold=80 \
--form document_ai_unreadable_document_action=REVIEW \
--form document_ai_missing_required_fields_action=REVIEW \
--form document_ai_document_tampering_action=DECLINE \
--form document_ai_name_mismatch_action=NO_ACTION \
--form document_ai_unsupported_file_action=REVIEW \
--form save_api_request=true \
--form vendor_data=user-123 \
--form 'metadata={
"flow": "onboarding"
}'
{ "request_id": "9d6a3b1e-2f0c-4a8e-9b7d-1c2e3f4a5b6c", "document_ai": { "status": "Approved", "extracted_data": { "employer_name": "Acme Payments Ltd", "employee_name": "Sophia Martinez", "net_pay": 3120.5, "pay_date": "2026-07-31" }, "detected_codes": [ { "type": "CODE_128", "page_number": 1, "position": [ [ 96, 456 ], [ 96, 616 ], [ 1012, 611 ], [ 1015, 456 ] ], "x": 96, "y": 456, "width": 919, "height": 160, "page_width": 1200, "page_height": 1700, "raw_payload": "SU5WLTIwMjYtMDA0Mg==", "parsed_payload": "INV-2026-0042" } ], "fields": [ { "key": "employer_name", "name": "Employer name", "instruction": "The employer or company issuing the payslip.", "type": "text", "required": true, "is_full_name": false }, { "key": "employee_name", "name": "Employee name", "instruction": "The full name of the employee as printed on the payslip.", "type": "text", "required": true, "is_full_name": true }, { "key": "net_pay", "name": "Net pay", "instruction": "The net amount paid to the employee for the period.", "type": "number", "required": true, "is_full_name": false }, { "key": "pay_date", "name": "Pay date", "instruction": "The payment date shown on the payslip.", "type": "date", "required": false, "is_full_name": false } ], "name_match_score": 100, "name_on_document": "Sophia Martinez", "warnings": [] }, "vendor_data": "user-123", "metadata": { "flow": "onboarding" }, "created_at": "2026-08-19T16:40:12.318Z"}
Kirim satu dokumen beserta daftar kolom yang ingin dibaca darinya. Didit menjalankan model ekstraksi default pada file tersebut, mengembalikan setiap kolom dengan tipenya (text, number, atau date dalam format YYYY-MM-DD), mendeteksi dan mendekode kode QR dan barcode yang didukung, memeriksa file dari kemungkinan manipulasi, dan secara opsional membandingkan nama pada dokumen dengan orang atau perusahaan yang Anda harapkan. Gunakan untuk bukti dana, slip gaji, rekening koran, dokumen pajak, faktur, atau dokumen apa pun yang tidak mengikuti templat tetap.Ini adalah versi server-ke-server dari langkah Document AI yang di-hosting. Permintaannya berformat multipart/form-data: file dikirim di document, dan definisi kolom dikirim di fields sebagai satu string yang berisi array JSON.
fields adalah array JSON berisi 1 hingga 30 item, dikirim sebagai satu string. Setiap item memiliki key (huruf kecil, angka, dan garis bawah, unik dalam satu permintaan), name yang mudah dibaca, instruction yang memberi tahu model apa yang harus dicari, type (text, number, atau date), serta dua flag: required dan is_full_name.
[ { "key": "account_holder", "name": "Account holder", "instruction": "Full name of the person or company the account belongs to", "type": "text", "required": true, "is_full_name": true }, { "key": "balance", "name": "Closing balance", "instruction": "Closing balance shown on the statement, as a number without the currency symbol", "type": "number", "required": true }, { "key": "currency", "name": "Currency", "instruction": "Three-letter currency code of the balance", "type": "text" }, { "key": "statement_date", "name": "Statement date", "instruction": "Date the statement was issued", "type": "date", "required": true }]
Dalam permintaan multipart, seluruh array dikirim sebagai satu nilai formulir:
curl -X POST https://verification.didit.me/v3/document-ai/ \ -H "x-api-key: $DIDIT_API_KEY" \ -F "document=@./bank-statement.pdf" \ -F 'fields=[{"key":"account_holder","name":"Account holder","instruction":"Full name of the account holder","type":"text","required":true,"is_full_name":true},{"key":"balance","name":"Closing balance","instruction":"Closing balance as a number","type":"number","required":true}]' \ -F "expected_first_name=Jane" \ -F "expected_last_name=Doe"
Respons mengembalikan fields yang sudah dinormalisasi dan extracted_data dengan kunci berupa nilai key Anda, dengan null untuk setiap nilai yang tidak dapat ditemukan oleh model. name, instruction, dan type bersifat opsional pada setiap item (type default-nya text); key wajib diisi. Jika fields dikirim sebagai kunci formulir gaya bracket (fields[0][key]=...) atau dalam format selain array JSON, respons 400 dikembalikan sebelum ekstraksi berjalan, sehingga tidak ada biaya yang ditagihkan.
Setiap respons yang berhasil menyertakan document_ai.detected_codes. Setiap item berisi:
Kolom
Deskripsi
type
Simbologi yang terdeteksi, seperti QR_CODE, CODE_128, EAN_13, DATA_MATRIX, atau PDF_417
page_number
Nomor halaman, dimulai dari 1
position
Poligon yang terdeteksi dalam piksel halaman yang dirender, atau null jika lokasi yang andal tidak tersedia
x, y, width, height
Kotak pembatas dalam piksel halaman yang dirender, atau null jika lokasi yang andal tidak tersedia
page_width, page_height
Dimensi halaman yang dirender dan digunakan oleh koordinat
parsed_payload
String atau nilai terstruktur hasil dekode, atau null jika hanya lokasi kode yang dapat ditentukan
raw_payload
Payload mentah dari decoder sebagai string base64 bila tersedia; jika tidak, string kosong
Array ini mencakup setiap halaman yang diproses dari sebuah PDF dan kosong jika tidak ditemukan kode yang didukung. Didit tidak pernah menebak payload: kode QR yang rusak dapat dikembalikan dengan lokasinya dan parsed_payload: null, sementara kegagalan dalam deteksi kode tidak menggagalkan permintaan Document AI.
Tandai paling banyak satu kolom dengan is_full_name: true dan kirim nama orang atau perusahaan yang Anda harapkan memiliki dokumen tersebut:
Yang Anda verifikasi
Kirim
Nama dibandingkan dengan
Orang
expected_first_name + expected_last_name
nama lengkap orang tersebut
Perusahaan
expected_company_name (+ opsional expected_company_country, kode ISO 2 huruf)
nama perusahaan
Kirim salah satu kelompok saja, jangan keduanya. Ketika sebuah nama berhasil diekstrak dan nama yang diharapkan tersedia, respons menyertakan name_match_score (0 hingga 100) dan name_on_document. Skor di bawah document_ai_name_match_score_threshold (default 80) memicu peringatan DOCUMENT_AI_NAME_MISMATCH dan menerapkan document_ai_name_mismatch_action. Jika tidak ada kolom yang ditandai is_full_name, Didit akan menggunakan kolom teks pertama yang kuncinya menyerupai nama (name, holder, full_name, account_holder); tandai kolom secara eksplisit jika Anda ingin mengontrol nilai mana yang dibandingkan. Jika tidak ada nilai nama yang dapat ditemukan pada dokumen, atau tidak ada nama yang diharapkan dikirim, pemeriksaan nama dilewati dan name_match_score bernilai null.
Setiap risiko di bawah ini dipetakan ke parameter tindakan yang dapat Anda atur per permintaan: DECLINE, REVIEW, atau NO_ACTION. Tindakan yang paling ketat dari yang terpicu menentukan document_ai.status (Declined > In Review > Approved), dan setiap risiko yang terpicu dicantumkan di document_ai.warnings. Default-nya sama dengan langkah alur kerja yang di-hosting; lihat Aturan & peringatan Document AI untuk mengetahui cara setiap risiko dideteksi.
File yang diterima: PDF (multi-halaman didukung), JPG, JPEG, PNG, TIFF, WebP, atau ZIP yang berisi dokumen, hingga 30 MB. PDF yang dienkripsi akan menghasilkan respons 400; unggah PDF yang sudah didekripsi atau foto sebagai gantinya.
save_api_request (default true): permintaan, kolom hasil ekstraksi, dan kode yang terdeteksi akan muncul di Business Console pada Pemeriksaan Manual, tempat tim Anda dapat meninjaunya. Atur ke false untuk melewati penyimpanan.
vendor_data dan metadata dikembalikan tanpa perubahan dalam respons agar Anda dapat menautkan hasil dengan catatan Anda sendiri.
Harga: $0.20 per dokumen, ditagihkan saat dokumen diproses dan status dikembalikan. Diskon paket Anda berlaku. Lihat Harga.
Perlu agar pengguna mengunggah dokumen sendiri, mengumpulkan hingga 3 dokumen dalam satu alur, menerjemahkan layar unggah secara otomatis, atau memverifikasi silang kolom hasil ekstraksi dengan data ID atau kuesioner? Gunakan langkah alur kerja Document AI yang di-hosting sebagai gantinya.
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.
Dokumen yang akan dibaca. Ekstensi yang diizinkan: tiff, jpg, jpeg, png, pdf, webp, zip. Ukuran unggahan maksimum: 30 MB (berkas yang lebih besar ditolak dengan 400). PDF beberapa halaman didukung (perkirakan latensi lebih tinggi); PDF terenkripsi ditolak dengan 400. Gambar dikompresi secara otomatis sebelum diproses.
Satu string array berformat JSON dengan 1–30 definisi kolom (maksimum 16 KB). Setiap item: key (wajib, ^[a-z0-9_]{1,64}$, unik — kunci yang dikembalikan di extracted_data), name (≤100 karakter, ditampilkan dalam pesan), instruction (≤500 karakter, apa yang harus dibaca model), type (default text | number | date), required (boolean, default false), is_full_name (boolean, default false, paling banyak satu per permintaan). Array form bergaya tanda kurung, JSON tidak valid, kunci duplikat, atau lebih dari satu is_full_name akan mengembalikan 400 sebelum pemrosesan atau penagihan apa pun.
Contoh:
"[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]"
Nama depan untuk diverifikasi terhadap kolom nama dokumen (pencocokan samar, mendukung transliterasi). Gunakan bersama dengan expected_last_name; tidak dapat digabungkan dengan expected_company_name.
Nama perusahaan yang akan diverifikasi terhadap kolom nama pada dokumen (untuk dokumen bisnis). Tidak dapat digabungkan dengan expected_first_name / expected_last_name (sengaja tanpa nilai contoh — sampel permintaan yang dihasilkan menggunakan kolom untuk orang; ganti kolom tersebut dengan kolom ini saat memverifikasi dokumen bisnis).
Kode negara ISO 3166-1 alpha-2 opsional (dua huruf ASCII, misalnya FR) yang menyesuaikan normalisasi nama perusahaan untuk expected_company_name. Hanya digunakan bersama expected_company_name.
name_match_score minimum (0–100) untuk menganggap nama cocok. Skor yang lebih rendah menambahkan DOCUMENT_AI_NAME_MISMATCH, yang diatur oleh document_ai_name_mismatch_action.
Tindakan yang diambil saat setidaknya satu kolom required tidak dapat dibaca (DOCUMENT_AI_MISSING_REQUIRED_FIELDS; additional_data.missing_fields mencantumkannya).
Tindakan yang diambil saat forensik PDF/EXIF mencurigai adanya manipulasi — dimodifikasi setelah penandatanganan digital, editor PDF yang dikenal, manipulasi overlay teks, ekspor ulang yang mencurigakan, anomali gambar (DOCUMENT_AI_SUSPECTED_MANIPULATION).
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, dengan dokumen yang diunggah, nilai yang diekstrak, definisi kolom, dan snapshot pencocokan nama yang disimpan. Jika false, tidak ada yang disimpan dan request_id adalah UUID sementara hanya untuk korelasi respons; panggilan tetap ditagihkan.
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.
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":"onboarding"}) — kolom ini akan diuraikan menjadi sebuah objek.
Contoh:
{ "flow": "onboarding" }
Respons
Dokumen diproses. document_ai.status bernilai Approved, Declined, atau In Review; setiap masalah yang terdeteksi dirinci dalam document_ai.warnings. Dokumen yang bermasalah tetap menghasilkan 200 — periksa isi respons, bukan hanya kode HTTP. Ketika save_api_request=true, request_id adalah ID sesi yang disimpan.
ID sesi yang disimpan saat save_api_request=true (dapat digunakan dengan GET /v3/session/{sessionId}/decision/); jika tidak, berupa UUID korelasi sementara.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Didit Docs","description":"The best way to integrate identity and fraud checks into your app. One API, four product lines (KYC · KYB · Transaction Monitoring · Wallet Screening), 220+ countries, 14,000+ documents, sub-2s inference, $10 free credit/month.","colors":{"primary":"#2567FF","light":"#90B1FF","dark":"#1B4FE0"},"logo":{"light":"https://mintcdn.com/didit-0f962782/dCzNNoYCusBNdK3I/logo/didit.svg?fit=max\u0026auto=format\u0026n=dCzNNoYCusBNdK3I\u0026q=85\u0026s=9f162fb8295fa1fd9300a24b293ce0b7","dark":"https://mintcdn.com/didit-0f962782/TefoKXCbZA_GIK5a/logo/didit-logo-wordmark-white.svg?fit=max\u0026auto=format\u0026n=TefoKXCbZA_GIK5a\u0026q=85\u0026s=c8c541689c814ca6a2c873cf6185a3a7","href":"https://docs.didit.me"},"favicon":"https://mintcdn.com/didit-0f962782/t6r0B-WdGMU5mSS-/favicon.ico?fit=max\u0026auto=format\u0026n=t6r0B-WdGMU5mSS-\u0026q=85\u0026s=b291917b960ebe959ae3b1aa233eafa8","api":{"examples":{"prefill":true},"mdx":{"auth":{"method":"key","name":"x-api-key"},"server":"https://verification.didit.me"}},"background":{"color":{"light":"#FFFFFF","dark":"#1A1A1A"}},"navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Sign in","href":"https://business.didit.me"}},"footer":{"socials":{"x":"https://x.com/didit","github":"https://github.com/didit-protocol","linkedin":"https://linkedin.com/company/91001155","website":"https://didit.me"}},"search":{"prompt":"Search Didit docs..."},"seo":{"metatags":{"twitter:site":"@didit","theme-color":"#2567FF","apple-mobile-web-app-title":"Didit Docs"},"organization":{"id":"https://didit.me/#organization","name":"Didit","legalName":"Didit Protocol","url":"https://didit.me","logo":"https://didit.me/logos/primary-horizontal-light.png","sameAs":["https://www.linkedin.com/company/91001155","https://www.youtube.com/@getdidit","https://github.com/didit-protocol","https://x.com/didit"]},"indexing":"navigable"},"fonts":{"heading":{"family":"Inter","weight":500},"body":{"family":"Inter","weight":400}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page moved or never existed. [Back to docs](/)"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"appearance":"light","background":"https://mintcdn.com/didit-0f962782/Xkecx-xLq1K2abHK/images/og-thumbnail-backplate.png?fit=max\u0026auto=format\u0026n=Xkecx-xLq1K2abHK\u0026q=85\u0026s=c699fa252554b2ac8d4c631e209a1473","fonts":{"family":"Inter"}},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"href":"es"},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"href":"pt-br"},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"href":"ja"},{"language":"de","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Anmelden","href":"https://business.didit.me"}},"href":"de"},{"language":"fr","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Assistance"},{"icon":"signal","href":"https://status.didit.me","label":"Statut"}],"primary":{"type":"button","label":"Se connecter","href":"https://business.didit.me"}},"href":"fr"},{"language":"it","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Supporto"},{"icon":"signal","href":"https://status.didit.me","label":"Stato"}],"primary":{"type":"button","label":"Accedi","href":"https://business.didit.me"}},"href":"it"},{"language":"pt","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sessão","href":"https://business.didit.me"}},"href":"pt"},{"language":"ca","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suport"},{"icon":"signal","href":"https://status.didit.me","label":"Estat"}],"primary":{"type":"button","label":"Inicia la sessió","href":"https://business.didit.me"}},"href":"ca"},{"language":"id","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Dukungan"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Masuk","href":"https://business.didit.me"}},"href":"id"},{"language":"ru","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Поддержка"},{"icon":"signal","href":"https://status.didit.me","label":"Статус"}],"primary":{"type":"button","label":"Вход","href":"https://business.didit.me"}},"href":"ru"},{"language":"ko","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"지원"},{"icon":"signal","href":"https://status.didit.me","label":"상태"}],"primary":{"type":"button","label":"로그인","href":"https://business.didit.me"}},"href":"ko"},{"language":"zh","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"支持"},{"icon":"signal","href":"https://status.didit.me","label":"状态"}],"primary":{"type":"button","label":"登录","href":"https://business.didit.me"}},"href":"zh"},{"language":"ar","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"الدعم"},{"icon":"signal","href":"https://status.didit.me","label":"الحالة"}],"primary":{"type":"button","label":"تسجيل الدخول","href":"https://business.didit.me"}},"href":"ar"},{"language":"hi","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"सहायता"},{"icon":"signal","href":"https://status.didit.me","label":"स्थिति"}],"primary":{"type":"button","label":"साइन इन करें","href":"https://business.didit.me"}},"href":"hi"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"didit-0f962782","hasAudioNarration":false,"actualSubdomain":"didit-0f962782","customDomains":["docs.didit.me"],"gitSource":{"type":"github","owner":"didit-protocol","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aef60ae8e01a92054befade","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"ar","tag":"مرجع API","count":432},{"language":"ca","tag":"Referència de l'API","count":432},{"language":"de","tag":"API-Referenz","count":432},{"language":"es","tag":"Referencia de la API","count":432},{"language":"fr","tag":"Référence API","count":432},{"language":"hi","tag":"API संदर्भ","count":432},{"language":"id","tag":"Referensi API","count":432},{"language":"it","tag":"Riferimento API","count":432},{"language":"ja","tag":"APIリファレンス","count":432},{"language":"ko","tag":"API 레퍼런스","count":432},{"language":"pt-BR","tag":"Referência da API","count":432},{"language":"pt","tag":"Referência da API","count":432},{"language":"ru","tag":"Справочник API","count":432},{"language":"zh","tag":"API 参考","count":432},{"language":"en","tag":"API Reference","count":424},{"language":"en","tag":"Database Validation","count":129},{"language":"ar","tag":"التحقق من قواعد البيانات","count":129},{"language":"ca","tag":"Validació en bases de dades","count":129},{"language":"de","tag":"Datenbankvalidierung","count":129},{"language":"es","tag":"Validación de base de datos","count":129},{"language":"fr","tag":"Validation en base de données","count":129},{"language":"hi","tag":"डेटाबेस सत्यापन","count":129},{"language":"id","tag":"Validasi Database","count":129},{"language":"it","tag":"Validazione su database","count":129},{"language":"ja","tag":"データベース検証","count":129},{"language":"ko","tag":"데이터베이스 검증","count":129},{"language":"pt-BR","tag":"Validação de banco de dados","count":129},{"language":"pt","tag":"Validação de base de dados","count":129},{"language":"ru","tag":"Проверка по базам данных","count":129},{"language":"zh","tag":"数据库核验","count":129},{"language":"ca","tag":"Primers passos","count":93},{"language":"de","tag":"Erste Schritte","count":93},{"language":"es","tag":"Primeros pasos","count":93},{"language":"ja","tag":"はじめに","count":93},{"language":"ko","tag":"시작하기","count":93},{"language":"pt-BR","tag":"Primeiros passos","count":93},{"language":"ru","tag":"Начало работы","count":93},{"language":"en","tag":"Get Started","count":87},{"language":"ar","tag":"ابدأ الآن","count":87},{"language":"fr","tag":"Commencer","count":87},{"language":"hi","tag":"शुरू करें","count":87},{"language":"id","tag":"Mulai","count":87},{"language":"it","tag":"Inizia","count":87},{"language":"pt","tag":"Começar","count":87},{"language":"zh","tag":"快速开始","count":87},{"language":"ko","tag":"인증","count":85},{"language":"en","tag":"User Verification","count":74},{"language":"ar","tag":"التحقق من المستخدمين","count":74},{"language":"ca","tag":"Verificació d'usuaris","count":74},{"language":"de","tag":"Benutzerverifizierung","count":74},{"language":"es","tag":"Verificación de usuarios","count":74},{"language":"fr","tag":"Vérification des utilisateurs","count":74},{"language":"hi","tag":"उपयोगकर्ता सत्यापन","count":74},{"language":"id","tag":"Verifikasi Pengguna","count":74},{"language":"it","tag":"Verifica degli utenti","count":74},{"language":"ja","tag":"ユーザー認証","count":74},{"language":"ko","tag":"사용자 인증","count":74},{"language":"pt-BR","tag":"Verificação de usuários","count":74},{"language":"pt","tag":"Verificação de utilizadores","count":74},{"language":"ru","tag":"Проверка пользователей","count":74},{"language":"zh","tag":"用户验证","count":74},{"language":"en","tag":"Integrate / SDKs","count":62},{"language":"ar","tag":"التكامل / SDKs","count":62},{"language":"ca","tag":"Integració / SDK","count":62},{"language":"de","tag":"Integrieren / SDKs","count":62},{"language":"es","tag":"Integración / SDKs","count":62},{"language":"fr","tag":"Intégrer / SDK","count":62},{"language":"hi","tag":"इंटीग्रेट करें / SDK","count":62},{"language":"id","tag":"Integrasi / SDK","count":62},{"language":"it","tag":"Integrazione / SDK","count":62},{"language":"ja","tag":"連携 / SDK","count":62},{"language":"ko","tag":"연동 / SDK","count":62},{"language":"pt-BR","tag":"Integração / SDKs","count":62},{"language":"pt","tag":"Integrar / SDKs","count":62},{"language":"ru","tag":"Интеграция / SDK","count":62},{"language":"zh","tag":"集成 / SDK","count":62},{"language":"en","tag":"Travel Rule","count":55},{"language":"ar","tag":"Travel Rule","count":55},{"language":"ca","tag":"Travel Rule","count":55},{"language":"de","tag":"Travel Rule","count":55},{"language":"es","tag":"Travel Rule","count":55},{"language":"fr","tag":"Travel Rule","count":55},{"language":"hi","tag":"Travel Rule","count":55},{"language":"id","tag":"Travel Rule","count":55},{"language":"it","tag":"Travel Rule","count":55},{"language":"ja","tag":"トラベルルール","count":55},{"language":"ko","tag":"Travel Rule","count":55},{"language":"pt-BR","tag":"Travel Rule","count":55},{"language":"pt","tag":"Travel Rule","count":55},{"language":"ru","tag":"Travel Rule","count":55},{"language":"zh","tag":"Travel Rule","count":55},{"language":"en","tag":"Verification","count":48},{"language":"ar","tag":"التحقق","count":48},{"language":"ca","tag":"Verificació","count":48},{"language":"de","tag":"Verifizierung","count":48},{"language":"es","tag":"Verificación","count":48},{"language":"fr","tag":"Vérification","count":48},{"language":"hi","tag":"सत्यापन","count":48},{"language":"id","tag":"Verifikasi","count":48},{"language":"it","tag":"Verifica","count":48},{"language":"ja","tag":"検証","count":48},{"language":"pt-BR","tag":"Verificação","count":48},{"language":"pt","tag":"Verificação","count":48},{"language":"ru","tag":"Верификация","count":48},{"language":"zh","tag":"验证","count":48},{"language":"en","tag":"Authentication","count":37},{"language":"ar","tag":"المصادقة","count":37},{"language":"ca","tag":"Autenticació","count":37},{"language":"de","tag":"Authentifizierung","count":37},{"language":"es","tag":"Autenticación","count":37},{"language":"fr","tag":"Authentification","count":37},{"language":"hi","tag":"प्रमाणीकरण","count":37},{"language":"id","tag":"Autentikasi","count":37},{"language":"it","tag":"Autenticazione","count":37},{"language":"ja","tag":"認証","count":37},{"language":"pt-BR","tag":"Autenticação","count":37},{"language":"pt","tag":"Autenticação","count":37},{"language":"ru","tag":"Аутентификация","count":37},{"language":"zh","tag":"身份认证","count":37},{"language":"en","tag":"Digital ID wallets","count":35},{"language":"en","tag":"User and Business Verifications","count":35},{"language":"ar","tag":"محافظ الهوية الرقمية","count":35},{"language":"ar","tag":"التحقق من المستخدمين والشركات","count":35},{"language":"ca","tag":"Carteres d'identitat digital","count":35},{"language":"ca","tag":"Verificacions d'usuaris i empreses","count":35},{"language":"de","tag":"Digitale ID-Wallets","count":35},{"language":"de","tag":"Benutzer- und Unternehmensverifizierungen","count":35},{"language":"es","tag":"Wallets de identidad digital","count":35},{"language":"es","tag":"Verificaciones de usuarios y empresas","count":35},{"language":"fr","tag":"Portefeuilles d'identité numérique","count":35},{"language":"fr","tag":"Vérifications des utilisateurs et des entreprises","count":35},{"language":"hi","tag":"डिजिटल ID वॉलेट","count":35},{"language":"hi","tag":"उपयोगकर्ता और व्यवसाय सत्यापन","count":35},{"language":"id","tag":"Dompet ID Digital","count":35},{"language":"id","tag":"Verifikasi Pengguna dan Bisnis","count":35},{"language":"it","tag":"Wallet di identità digitale","count":35},{"language":"it","tag":"Verifiche di utenti e aziende","count":35},{"language":"ja","tag":"デジタルIDウォレット","count":35},{"language":"ja","tag":"ユーザーと企業の認証","count":35},{"language":"ko","tag":"디지털 신분증 지갑","count":35},{"language":"ko","tag":"사용자 인증 및 기업 확인","count":35},{"language":"pt-BR","tag":"Carteiras de identidade digital","count":35},{"language":"pt-BR","tag":"Verificações de usuários e empresas","count":35},{"language":"pt","tag":"Carteiras de identidade digital","count":35},{"language":"pt","tag":"Verificações de utilizadores e empresas","count":35},{"language":"ru","tag":"Цифровые ID-кошельки","count":35},{"language":"ru","tag":"Верификация пользователей и компаний","count":35},{"language":"zh","tag":"数字身份钱包","count":35},{"language":"zh","tag":"用户与企业验证","count":35},{"language":"ko","tag":"거래 모니터링","count":28}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/didit-0f962782/714dd91730ddd114/style.css"}],"page":{"pagePath":"id/standalone-apis/document-ai","slug":"/id/standalone-apis/document-ai","pageMetadata":{"title":"Ekstraksi Data Dokumen Kustom dengan API Document AI","sidebarTitle":"API Document AI","description":"Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.","keywords":["API document AI","ekstraksi data dokumen API","OCR dokumen kustom API","API bukti dana","ekstraksi slip gaji API","OCR rekening bank","ekstraksi dokumen KYC","deteksi manipulasi dokumen","Didit API"],"openapi":"id/openapi-25.json POST /v3/document-ai/","href":"/id/standalone-apis/document-ai"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Kirim satu dokumen beserta daftar kolom yang ingin dibaca darinya. Didit menjalankan model ekstraksi default pada file tersebut, mengembalikan setiap kolom dengan tipenya (`,_jsx(_components.code,{children:`text`}),`, `,_jsx(_components.code,{children:`number`}),`, atau `,_jsx(_components.code,{children:`date`}),` dalam format `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`), mendeteksi dan mendekode kode QR dan barcode yang didukung, memeriksa file dari kemungkinan manipulasi, dan secara opsional membandingkan nama pada dokumen dengan orang atau perusahaan yang Anda harapkan. Gunakan untuk bukti dana, slip gaji, rekening koran, dokumen pajak, faktur, atau dokumen apa pun yang tidak mengikuti templat tetap.`]}),`\n`,_jsxs(_components.p,{children:[`Ini adalah versi server-ke-server dari langkah `,_jsx(_components.a,{href:`/id/core-technology/document-ai/overview`,children:`Document AI`}),` yang di-hosting. Permintaannya berformat `,_jsx(_components.code,{children:`multipart/form-data`}),`: file dikirim di `,_jsx(_components.code,{children:`document`}),`, dan definisi kolom dikirim di `,_jsx(_components.code,{children:`fields`}),` sebagai satu string yang berisi array JSON.`]}),`\n`,_jsx(Heading,{level:`2`,id:`tentukan-kolom-yang-akan-diekstrak`,children:`Tentukan kolom yang akan diekstrak`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`fields`}),` adalah array JSON berisi 1 hingga 30 item, dikirim sebagai satu string. Setiap item memiliki `,_jsx(_components.code,{children:`key`}),` (huruf kecil, angka, dan garis bawah, unik dalam satu permintaan), `,_jsx(_components.code,{children:`name`}),` yang mudah dibaca, `,_jsx(_components.code,{children:`instruction`}),` yang memberi tahu model apa yang harus dicari, `,_jsx(_components.code,{children:`type`}),` (`,_jsx(_components.code,{children:`text`}),`, `,_jsx(_components.code,{children:`number`}),`, atau `,_jsx(_components.code,{children:`date`}),`), serta dua flag: `,_jsx(_components.code,{children:`required`}),` dan `,_jsx(_components.code,{children:`is_full_name`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`30`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`30`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"account_holder\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Account holder\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"instruction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Full name of the person or company the account belongs to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"is_full_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"balance\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Closing balance\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"instruction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Closing balance shown on the statement, as a number without the currency symbol\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"currency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Currency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"instruction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Three-letter currency code of the balance\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"statement_date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Statement date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"instruction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Date the statement was issued\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Dalam permintaan multipart, seluruh array dikirim sebagai satu nilai formulir:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://verification.didit.me/v3/document-ai/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$DIDIT_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"document=@./bank-statement.pdf\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'fields=[{\"key\":\"account_holder\",\"name\":\"Account holder\",\"instruction\":\"Full name of the account holder\",\"type\":\"text\",\"required\":true,\"is_full_name\":true},{\"key\":\"balance\",\"name\":\"Closing balance\",\"instruction\":\"Closing balance as a number\",\"type\":\"number\",\"required\":true}]'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"expected_first_name=Jane\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"expected_last_name=Doe\"`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Respons mengembalikan `,_jsx(_components.code,{children:`fields`}),` yang sudah dinormalisasi dan `,_jsx(_components.code,{children:`extracted_data`}),` dengan kunci berupa nilai `,_jsx(_components.code,{children:`key`}),` Anda, dengan `,_jsx(_components.code,{children:`null`}),` untuk setiap nilai yang tidak dapat ditemukan oleh model. `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`instruction`}),`, dan `,_jsx(_components.code,{children:`type`}),` bersifat opsional pada setiap item (`,_jsx(_components.code,{children:`type`}),` default-nya `,_jsx(_components.code,{children:`text`}),`); `,_jsx(_components.code,{children:`key`}),` wajib diisi. Jika `,_jsx(_components.code,{children:`fields`}),` dikirim sebagai kunci formulir gaya bracket (`,_jsx(_components.code,{children:`fields[0][key]=...`}),`) atau dalam format selain array JSON, respons `,_jsx(_components.code,{children:`400`}),` dikembalikan sebelum ekstraksi berjalan, sehingga tidak ada biaya yang ditagihkan.`]}),`\n`,_jsx(Heading,{level:`2`,id:`kode-qr-dan-barcode`,children:`Kode QR dan barcode`}),`\n`,_jsxs(_components.p,{children:[`Setiap respons yang berhasil menyertakan `,_jsx(_components.code,{children:`document_ai.detected_codes`}),`. Setiap item berisi:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kolom`}),_jsx(_components.th,{children:`Deskripsi`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsxs(_components.td,{children:[`Simbologi yang terdeteksi, seperti `,_jsx(_components.code,{children:`QR_CODE`}),`, `,_jsx(_components.code,{children:`CODE_128`}),`, `,_jsx(_components.code,{children:`EAN_13`}),`, `,_jsx(_components.code,{children:`DATA_MATRIX`}),`, atau `,_jsx(_components.code,{children:`PDF_417`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`page_number`})}),_jsx(_components.td,{children:`Nomor halaman, dimulai dari 1`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`position`})}),_jsxs(_components.td,{children:[`Poligon yang terdeteksi dalam piksel halaman yang dirender, atau `,_jsx(_components.code,{children:`null`}),` jika lokasi yang andal tidak tersedia`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`x`}),`, `,_jsx(_components.code,{children:`y`}),`, `,_jsx(_components.code,{children:`width`}),`, `,_jsx(_components.code,{children:`height`})]}),_jsxs(_components.td,{children:[`Kotak pembatas dalam piksel halaman yang dirender, atau `,_jsx(_components.code,{children:`null`}),` jika lokasi yang andal tidak tersedia`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`page_width`}),`, `,_jsx(_components.code,{children:`page_height`})]}),_jsx(_components.td,{children:`Dimensi halaman yang dirender dan digunakan oleh koordinat`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`parsed_payload`})}),_jsxs(_components.td,{children:[`String atau nilai terstruktur hasil dekode, atau `,_jsx(_components.code,{children:`null`}),` jika hanya lokasi kode yang dapat ditentukan`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`raw_payload`})}),_jsx(_components.td,{children:`Payload mentah dari decoder sebagai string base64 bila tersedia; jika tidak, string kosong`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Array ini mencakup setiap halaman yang diproses dari sebuah PDF dan kosong jika tidak ditemukan kode yang didukung. Didit tidak pernah menebak payload: kode QR yang rusak dapat dikembalikan dengan lokasinya dan `,_jsx(_components.code,{children:`parsed_payload: null`}),`, sementara kegagalan dalam deteksi kode tidak menggagalkan permintaan Document AI.`]}),`\n`,_jsx(Heading,{level:`2`,id:`pencocokan-nama`,children:`Pencocokan nama`}),`\n`,_jsxs(_components.p,{children:[`Tandai paling banyak satu kolom dengan `,_jsx(_components.code,{children:`is_full_name: true`}),` dan kirim nama orang atau perusahaan yang Anda harapkan memiliki dokumen tersebut:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Yang Anda verifikasi`}),_jsx(_components.th,{children:`Kirim`}),_jsx(_components.th,{children:`Nama dibandingkan dengan`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Orang`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`expected_first_name`}),` + `,_jsx(_components.code,{children:`expected_last_name`})]}),_jsx(_components.td,{children:`nama lengkap orang tersebut`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Perusahaan`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`expected_company_name`}),` (+ opsional `,_jsx(_components.code,{children:`expected_company_country`}),`, kode ISO 2 huruf)`]}),_jsx(_components.td,{children:`nama perusahaan`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Kirim salah satu kelompok saja, jangan keduanya. Ketika sebuah nama berhasil diekstrak dan nama yang diharapkan tersedia, respons menyertakan `,_jsx(_components.code,{children:`name_match_score`}),` (0 hingga 100) dan `,_jsx(_components.code,{children:`name_on_document`}),`. Skor di bawah `,_jsx(_components.code,{children:`document_ai_name_match_score_threshold`}),` (default `,_jsx(_components.code,{children:`80`}),`) memicu peringatan `,_jsx(_components.code,{children:`DOCUMENT_AI_NAME_MISMATCH`}),` dan menerapkan `,_jsx(_components.code,{children:`document_ai_name_mismatch_action`}),`. Jika tidak ada kolom yang ditandai `,_jsx(_components.code,{children:`is_full_name`}),`, Didit akan menggunakan kolom teks pertama yang kuncinya menyerupai nama (`,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`holder`}),`, `,_jsx(_components.code,{children:`full_name`}),`, `,_jsx(_components.code,{children:`account_holder`}),`); tandai kolom secara eksplisit jika Anda ingin mengontrol nilai mana yang dibandingkan. Jika tidak ada nilai nama yang dapat ditemukan pada dokumen, atau tidak ada nama yang diharapkan dikirim, pemeriksaan nama dilewati dan `,_jsx(_components.code,{children:`name_match_score`}),` bernilai `,_jsx(_components.code,{children:`null`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`risiko-dan-tindakan`,children:`Risiko dan tindakan`}),`\n`,_jsxs(_components.p,{children:[`Setiap risiko di bawah ini dipetakan ke parameter tindakan yang dapat Anda atur per permintaan: `,_jsx(_components.code,{children:`DECLINE`}),`, `,_jsx(_components.code,{children:`REVIEW`}),`, atau `,_jsx(_components.code,{children:`NO_ACTION`}),`. Tindakan yang paling ketat dari yang terpicu menentukan `,_jsx(_components.code,{children:`document_ai.status`}),` (`,_jsx(_components.code,{children:`Declined`}),` > `,_jsx(_components.code,{children:`In Review`}),` > `,_jsx(_components.code,{children:`Approved`}),`), dan setiap risiko yang terpicu dicantumkan di `,_jsx(_components.code,{children:`document_ai.warnings`}),`. Default-nya sama dengan langkah alur kerja yang di-hosting; lihat `,_jsx(_components.a,{href:`/id/core-technology/document-ai/warnings-document-ai`,children:`Aturan \u0026 peringatan Document AI`}),` untuk mengetahui cara setiap risiko dideteksi.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Risiko`}),_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_UNREADABLE_DOCUMENT`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_unreadable_document_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REVIEW`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_MISSING_REQUIRED_FIELDS`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_missing_required_fields_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REVIEW`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_SUSPECTED_MANIPULATION`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_document_tampering_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DECLINE`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_NAME_MISMATCH`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_name_mismatch_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`NO_ACTION`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DOCUMENT_AI_UNSUPPORTED_FILE`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document_ai_unsupported_file_action`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`REVIEW`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`file-penyimpanan-dan-penagihan`,children:`File, penyimpanan, dan penagihan`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`File yang diterima:`}),` PDF (multi-halaman didukung), JPG, JPEG, PNG, TIFF, WebP, atau ZIP yang berisi dokumen, hingga 30 MB. PDF yang dienkripsi akan menghasilkan respons `,_jsx(_components.code,{children:`400`}),`; unggah PDF yang sudah didekripsi atau foto sebagai gantinya.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`save_api_request`})}),` (default `,_jsx(_components.code,{children:`true`}),`): permintaan, kolom hasil ekstraksi, dan kode yang terdeteksi akan muncul di Business Console pada `,_jsx(_components.strong,{children:`Pemeriksaan Manual`}),`, tempat tim Anda dapat meninjaunya. Atur ke `,_jsx(_components.code,{children:`false`}),` untuk melewati penyimpanan.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`vendor_data`})}),` dan `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`metadata`})}),` dikembalikan tanpa perubahan dalam respons agar Anda dapat menautkan hasil dengan catatan Anda sendiri.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Harga:`}),` $0.20 per dokumen, ditagihkan saat dokumen diproses dan status dikembalikan. Diskon paket Anda berlaku. Lihat `,_jsx(_components.a,{href:`/id/getting-started/pricing#harga-api-mandiri-server-to-server`,children:`Harga`}),`.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Perlu agar pengguna mengunggah dokumen sendiri, mengumpulkan hingga 3 dokumen dalam satu alur, menerjemahkan layar unggah secara otomatis, atau memverifikasi silang kolom hasil ekstraksi dengan data ID atau kuesioner? Gunakan langkah `,_jsx(_components.a,{href:`/id/core-technology/document-ai/overview`,children:`alur kerja Document AI`}),` yang di-hosting sebagai gantinya.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Ekstraksi Data Dokumen Kustom dengan API Document AI","sidebarTitle":"API Document AI","description":"Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.","keywords":["API document AI","ekstraksi data dokumen API","OCR dokumen kustom API","API bukti dana","ekstraksi slip gaji API","OCR rekening bank","ekstraksi dokumen KYC","deteksi manipulasi dokumen","Didit API"],"openapi":"id/openapi-25.json POST /v3/document-ai/","href":"/id/standalone-apis/document-ai"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Tentukan kolom yang akan diekstrak","slug":"tentukan-kolom-yang-akan-diekstrak","depth":2,"children":[]},{"title":"Kode QR dan barcode","slug":"kode-qr-dan-barcode","depth":2,"children":[]},{"title":"Pencocokan nama","slug":"pencocokan-nama","depth":2,"children":[]},{"title":"Risiko dan tindakan","slug":"risiko-dan-tindakan","depth":2,"children":[]},{"title":"File, penyimpanan, dan penagihan","slug":"file-penyimpanan-dan-penagihan","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/didit-0f962782/5fb7c0c336c92274/snippets/data/database-validation-coverage.js","/_mintlify/custom/didit-0f962782/4ac7d3c2a19a354d/database-validation-playground.js"],"openApiReferenceData":{"operation":{"summary":"Document AI (ekstraksi kolom kustom + pemeriksaan manipulasi)","description":"Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.","operationId":"post_v3document-ai","x-didit-sdk":{"resource":"document_ai","method":"analyze","auth":"api_key","server":true},"tags":["Standalone APIs"],"security":["e6ae0812-3003-4a8d-b72d-2569c8446b67"],"requestBody":"2ab9d987-ec8a-4860-9d28-7f0b4af7be74","responses":{"200":"d70f068e-e33d-47d2-a5f9-9f0857f48390","400":"2a8f01ef-3a27-4e9e-82de-53700ed8ee54","403":"89e0b614-93e8-4047-ab42-7ee3da09ee0c","429":"8e35b7d7-7c2b-4654-aab1-588d959ac9b1","503":"34035235-8a9d-4069-84f0-877b6a09999a"},"x-codeSamples":[{"lang":"python","label":"Python","source":"from didit import Didit\n\n# Reads DIDIT_API_KEY.\nclient = Didit()\n\nresult = client.document_ai.analyze(\n document=open(\"document.pdf\", \"rb\"),\n fields=\"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n)\nprint(result)"},{"lang":"javascript","label":"Node.js","source":"import Didit, { fileFromPath } from \"@didit-protocol/sdk-node\";\n\n// Reads DIDIT_API_KEY.\nconst didit = new Didit();\n\nconst result = await didit.documentAi.analyze({\n document: await fileFromPath(\"document.pdf\"),\n fields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n});\nconsole.log(result);"},{"lang":"go","label":"Go","source":"ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.DocumentAi.Analyze(ctx, didit.DocumentAiAnalyzeParams{\n\tDocument: didit.FileFromPath(\"document.pdf\"),\n\tFields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"},{"lang":"java","label":"Java","source":"import java.nio.file.Path;\nimport me.didit.Didit;\nimport me.didit.types.DocumentAiAnalyzeParams;\n\n// Reads DIDIT_API_KEY.\nDidit client = new Didit();\n\nvar result = client.documentAi().analyze(DocumentAiAnalyzeParams.builder()\n .document(Path.of(\"document.pdf\"))\n .fields(\"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\")\n .build());\nSystem.out.println(result);"},{"lang":"php","label":"PHP","source":"\u003c?php\n\nrequire 'vendor/autoload.php';\n\nuse Didit\\DiditClient;\nuse Didit\\File;\n\n// Reads DIDIT_API_KEY.\n$didit = new DiditClient();\n\n$result = $didit->documentAi->analyze([\n 'document' => File::fromPath('document.pdf'),\n 'fields' => '[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]',\n]);\nprint_r($result->toArray());"},{"lang":"ruby","label":"Ruby","source":"require \"didit\"\n\n# Reads DIDIT_API_KEY.\ndidit = Didit::Client.new\n\nresult = didit.document_ai.analyze(\n document: Pathname(\"document.pdf\"),\n fields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\"\n)\nputs result.to_h"},{"lang":"csharp","label":".NET","source":"using System;\nusing System.Text.Json;\nusing Didit;\n\n// Reads DIDIT_API_KEY.\nusing var client = new DiditClient();\n\nvar result = await client.DocumentAi.AnalyzeAsync(new DocumentAiAnalyzeParams\n{\n Document = FileUpload.FromPath(\"document.pdf\"),\n Fields = \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n});\nConsole.WriteLine(JsonSerializer.Serialize(result));"}],"method":"post","type":"path","servers":["ff40cbb9-ee30-4687-b373-d64cd3d20035"],"path":"/v3/document-ai/","baseUrlOptions":["https://verification.didit.me"],"title":"Document AI (ekstraksi kolom kustom + pemeriksaan manipulasi)","codeSamples":[{"label":"Python","lang":"python","source":"from didit import Didit\n\n# Reads DIDIT_API_KEY.\nclient = Didit()\n\nresult = client.document_ai.analyze(\n document=open(\"document.pdf\", \"rb\"),\n fields=\"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n)\nprint(result)"},{"label":"Node.js","lang":"javascript","source":"import Didit, { fileFromPath } from \"@didit-protocol/sdk-node\";\n\n// Reads DIDIT_API_KEY.\nconst didit = new Didit();\n\nconst result = await didit.documentAi.analyze({\n document: await fileFromPath(\"document.pdf\"),\n fields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n});\nconsole.log(result);"},{"label":"Go","lang":"go","source":"ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.DocumentAi.Analyze(ctx, didit.DocumentAiAnalyzeParams{\n\tDocument: didit.FileFromPath(\"document.pdf\"),\n\tFields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"},{"label":"Java","lang":"java","source":"import java.nio.file.Path;\nimport me.didit.Didit;\nimport me.didit.types.DocumentAiAnalyzeParams;\n\n// Reads DIDIT_API_KEY.\nDidit client = new Didit();\n\nvar result = client.documentAi().analyze(DocumentAiAnalyzeParams.builder()\n .document(Path.of(\"document.pdf\"))\n .fields(\"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\")\n .build());\nSystem.out.println(result);"},{"label":"PHP","lang":"php","source":"\u003c?php\n\nrequire 'vendor/autoload.php';\n\nuse Didit\\DiditClient;\nuse Didit\\File;\n\n// Reads DIDIT_API_KEY.\n$didit = new DiditClient();\n\n$result = $didit->documentAi->analyze([\n 'document' => File::fromPath('document.pdf'),\n 'fields' => '[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]',\n]);\nprint_r($result->toArray());"},{"label":"Ruby","lang":"ruby","source":"require \"didit\"\n\n# Reads DIDIT_API_KEY.\ndidit = Didit::Client.new\n\nresult = didit.document_ai.analyze(\n document: Pathname(\"document.pdf\"),\n fields: \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\"\n)\nputs result.to_h"},{"label":".NET","lang":"csharp","source":"using System;\nusing System.Text.Json;\nusing Didit;\n\n// Reads DIDIT_API_KEY.\nusing var client = new DiditClient();\n\nvar result = await client.DocumentAi.AnalyzeAsync(new DocumentAiAnalyzeParams\n{\n Document = FileUpload.FromPath(\"document.pdf\"),\n Fields = \"[{\\\"key\\\": \\\"employer_name\\\", \\\"name\\\": \\\"Employer name\\\", \\\"instruction\\\": \\\"The employer or company issuing the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"employee_name\\\", \\\"name\\\": \\\"Employee name\\\", \\\"instruction\\\": \\\"The full name of the employee as printed on the payslip.\\\", \\\"type\\\": \\\"text\\\", \\\"required\\\": true, \\\"is_full_name\\\": true}, {\\\"key\\\": \\\"net_pay\\\", \\\"name\\\": \\\"Net pay\\\", \\\"instruction\\\": \\\"The net amount paid to the employee for the period.\\\", \\\"type\\\": \\\"number\\\", \\\"required\\\": true, \\\"is_full_name\\\": false}, {\\\"key\\\": \\\"pay_date\\\", \\\"name\\\": \\\"Pay date\\\", \\\"instruction\\\": \\\"The payment date shown on the payslip.\\\", \\\"type\\\": \\\"date\\\", \\\"required\\\": false, \\\"is_full_name\\\": false}]\",\n});\nConsole.WriteLine(JsonSerializer.Serialize(result));"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.document":"\u003cstring>","body.fields":"[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]","body.expected_first_name":"Sophia","body.expected_last_name":"Martinez","body.expected_company_name":"\u003cstring>","body.expected_company_country":"\u003cstring>","body.document_ai_name_match_score_threshold":80,"body.document_ai_unreadable_document_action":"REVIEW","body.document_ai_missing_required_fields_action":"REVIEW","body.document_ai_document_tampering_action":"DECLINE","body.document_ai_name_mismatch_action":"NO_ACTION","body.document_ai_unsupported_file_action":"REVIEW","body.save_api_request":true,"body.vendor_data":"user-123","body.metadata":{"flow":"onboarding"}}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["document","fields"],"properties":{"document":{"type":"string","format":"binary","description":"Dokumen yang akan dibaca. Ekstensi yang diizinkan: `tiff`, `jpg`, `jpeg`, `png`, `pdf`, `webp`, `zip`. Ukuran unggahan maksimum: **30 MB** (berkas yang lebih besar ditolak dengan `400`). PDF beberapa halaman didukung (perkirakan latensi lebih tinggi); PDF terenkripsi ditolak dengan `400`. Gambar dikompresi secara otomatis sebelum diproses.","isRequired":true,"uniqueKey":"document","typeLabel":"file"},"fields":{"type":"string","description":"Satu string array berformat JSON dengan **1–30** definisi kolom (maksimum 16 KB). Setiap item: `key` (wajib, `^[a-z0-9_]{1,64}$`, unik — kunci yang dikembalikan di `extracted_data`), `name` (≤100 karakter, ditampilkan dalam pesan), `instruction` (≤500 karakter, apa yang harus dibaca model), `type` (default `text` | `number` | `date`), `required` (boolean, default `false`), `is_full_name` (boolean, default `false`, paling banyak satu per permintaan). Array form bergaya tanda kurung, JSON tidak valid, kunci duplikat, atau lebih dari satu `is_full_name` akan mengembalikan `400` sebelum pemrosesan atau penagihan apa pun.","example":"[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]","isRequired":true,"uniqueKey":"fields","typeLabel":"string"},"expected_first_name":{"type":"string","description":"Nama depan untuk diverifikasi terhadap kolom nama dokumen (pencocokan samar, mendukung transliterasi). Gunakan bersama dengan `expected_last_name`; tidak dapat digabungkan dengan `expected_company_name`.","example":"Sophia","uniqueKey":"expected_first_name","typeLabel":"string"},"expected_last_name":{"type":"string","description":"Nama belakang untuk diverifikasi terhadap kolom nama dokumen, digabungkan dengan `expected_first_name` untuk `name_match_score`.","example":"Martinez","uniqueKey":"expected_last_name","typeLabel":"string"},"expected_company_name":{"type":"string","description":"Nama perusahaan yang akan diverifikasi terhadap kolom nama pada dokumen (untuk dokumen bisnis). Tidak dapat digabungkan dengan `expected_first_name` / `expected_last_name` (sengaja tanpa nilai contoh — sampel permintaan yang dihasilkan menggunakan kolom untuk orang; ganti kolom tersebut dengan kolom ini saat memverifikasi dokumen bisnis).","uniqueKey":"expected_company_name","typeLabel":"string"},"expected_company_country":{"type":"string","description":"Kode negara ISO 3166-1 alpha-2 opsional (dua huruf ASCII, misalnya `FR`) yang menyesuaikan normalisasi nama perusahaan untuk `expected_company_name`. Hanya digunakan bersama `expected_company_name`.","uniqueKey":"expected_company_country","typeLabel":"string"},"document_ai_name_match_score_threshold":{"type":"integer","minimum":0,"maximum":100,"default":80,"description":"`name_match_score` minimum (0–100) untuk menganggap nama cocok. Skor yang lebih rendah menambahkan `DOCUMENT_AI_NAME_MISMATCH`, yang diatur oleh `document_ai_name_mismatch_action`.","example":80,"uniqueKey":"document_ai_name_match_score_threshold","typeLabel":"integer"},"document_ai_unreadable_document_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"REVIEW","description":"Tindakan yang diambil saat tidak ada kolom yang dapat dibaca dari dokumen (`DOCUMENT_AI_UNREADABLE_DOCUMENT`).","uniqueKey":"document_ai_unreadable_document_action","typeLabel":"enum\u003cstring>"},"document_ai_missing_required_fields_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"REVIEW","description":"Tindakan yang diambil saat setidaknya satu kolom `required` tidak dapat dibaca (`DOCUMENT_AI_MISSING_REQUIRED_FIELDS`; `additional_data.missing_fields` mencantumkannya).","uniqueKey":"document_ai_missing_required_fields_action","typeLabel":"enum\u003cstring>"},"document_ai_document_tampering_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"DECLINE","description":"Tindakan yang diambil saat forensik PDF/EXIF mencurigai adanya manipulasi — dimodifikasi setelah penandatanganan digital, editor PDF yang dikenal, manipulasi overlay teks, ekspor ulang yang mencurigakan, anomali gambar (`DOCUMENT_AI_SUSPECTED_MANIPULATION`).","uniqueKey":"document_ai_document_tampering_action","typeLabel":"enum\u003cstring>"},"document_ai_name_mismatch_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"NO_ACTION","description":"Tindakan yang diambil saat `name_match_score` berada di bawah ambang batas (`DOCUMENT_AI_NAME_MISMATCH`).","uniqueKey":"document_ai_name_mismatch_action","typeLabel":"enum\u003cstring>"},"document_ai_unsupported_file_action":{"type":"string","enum":["DECLINE","REVIEW","NO_ACTION"],"default":"REVIEW","description":"Tindakan yang harus diambil ketika unggahan kosong atau bukan file yang dapat diproses (`DOCUMENT_AI_UNSUPPORTED_FILE`).","uniqueKey":"document_ai_unsupported_file_action","typeLabel":"enum\u003cstring>"},"save_api_request":{"type":"boolean","default":true,"description":"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, dengan dokumen yang diunggah, nilai yang diekstrak, definisi kolom, dan snapshot pencocokan nama yang disimpan. Jika `false`, tidak ada yang disimpan dan `request_id` adalah UUID sementara hanya untuk korelasi respons; panggilan tetap ditagihkan.","example":true,"uniqueKey":"save_api_request","typeLabel":"boolean"},"vendor_data":{"type":"string","description":"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.","example":"user-123","uniqueKey":"vendor_data","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":true,"description":"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\":\"onboarding\"}`) — kolom ini akan diuraikan menjadi sebuah objek.","example":{"flow":"onboarding"},"uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"document":"\u003cstring>","fields":"[{\"key\": \"employer_name\", \"name\": \"Employer name\", \"instruction\": \"The employer or company issuing the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": false}, {\"key\": \"employee_name\", \"name\": \"Employee name\", \"instruction\": \"The full name of the employee as printed on the payslip.\", \"type\": \"text\", \"required\": true, \"is_full_name\": true}, {\"key\": \"net_pay\", \"name\": \"Net pay\", \"instruction\": \"The net amount paid to the employee for the period.\", \"type\": \"number\", \"required\": true, \"is_full_name\": false}, {\"key\": \"pay_date\", \"name\": \"Pay date\", \"instruction\": \"The payment date shown on the payslip.\", \"type\": \"date\", \"required\": false, \"is_full_name\": false}]","expected_first_name":"Sophia","expected_last_name":"Martinez","expected_company_name":"\u003cstring>","expected_company_country":"\u003cstring>","document_ai_name_match_score_threshold":80,"document_ai_unreadable_document_action":"REVIEW","document_ai_missing_required_fields_action":"REVIEW","document_ai_document_tampering_action":"DECLINE","document_ai_name_mismatch_action":"NO_ACTION","document_ai_unsupported_file_action":"REVIEW","save_api_request":true,"vendor_data":"user-123","metadata":{"flow":"onboarding"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"d70f068e-e33d-47d2-a5f9-9f0857f48390":{"description":"Dokumen diproses. `document_ai.status` bernilai `Approved`, `Declined`, atau `In Review`; setiap masalah yang terdeteksi dirinci dalam `document_ai.warnings`. Dokumen yang bermasalah tetap menghasilkan `200` — periksa isi respons, bukan hanya kode HTTP. Ketika `save_api_request=true`, `request_id` adalah ID sesi yang disimpan.","content":{"application/json":{"examples":{"Approved":{"title":"Approved","value":{"request_id":"9d6a3b1e-2f0c-4a8e-9b7d-1c2e3f4a5b6c","document_ai":{"status":"Approved","extracted_data":{"employer_name":"Acme Payments Ltd","employee_name":"Sophia Martinez","net_pay":3120.5,"pay_date":"2026-07-31"},"detected_codes":[{"type":"CODE_128","page_number":1,"position":[[96,456],[96,616],[1012,611],[1015,456]],"x":96,"y":456,"width":919,"height":160,"page_width":1200,"page_height":1700,"raw_payload":"SU5WLTIwMjYtMDA0Mg==","parsed_payload":"INV-2026-0042"}],"fields":[{"key":"employer_name","name":"Employer name","instruction":"The employer or company issuing the payslip.","type":"text","required":true,"is_full_name":false},{"key":"employee_name","name":"Employee name","instruction":"The full name of the employee as printed on the payslip.","type":"text","required":true,"is_full_name":true},{"key":"net_pay","name":"Net pay","instruction":"The net amount paid to the employee for the period.","type":"number","required":true,"is_full_name":false},{"key":"pay_date","name":"Pay date","instruction":"The payment date shown on the payslip.","type":"date","required":false,"is_full_name":false}],"name_match_score":100,"name_on_document":"Sophia Martinez","warnings":[]},"vendor_data":"user-123","metadata":{"flow":"onboarding"},"created_at":"2026-08-19T16:40:12.318Z"}},"In Review — missing required field":{"title":"In Review — missing required field","value":{"request_id":"3f2a9c7b-5d4e-4b1a-8c6f-0e9d8c7b6a5f","document_ai":{"status":"In Review","extracted_data":{"employer_name":"Acme Payments Ltd","employee_name":"Sophia Martinez","net_pay":null,"pay_date":"2026-07-31"},"detected_codes":[],"fields":[{"key":"employer_name","name":"Employer name","instruction":"The employer or company issuing the payslip.","type":"text","required":true,"is_full_name":false},{"key":"employee_name","name":"Employee name","instruction":"The full name of the employee as printed on the payslip.","type":"text","required":true,"is_full_name":true},{"key":"net_pay","name":"Net pay","instruction":"The net amount paid to the employee for the period.","type":"number","required":true,"is_full_name":false},{"key":"pay_date","name":"Pay date","instruction":"The payment date shown on the payslip.","type":"date","required":false,"is_full_name":false}],"name_match_score":100,"name_on_document":"Sophia Martinez","warnings":[{"risk":"DOCUMENT_AI_MISSING_REQUIRED_FIELDS","feature":"DOCUMENT_AI","additional_data":{"missing_fields":["Net pay"]},"log_type":"warning","short_description":"Required fields could not be extracted","long_description":"One or more fields configured as required could not be extracted from the uploaded document."}]},"vendor_data":null,"metadata":null,"created_at":"2026-08-19T16:41:05.002Z"}},"Declined — suspected manipulation":{"title":"Declined — suspected manipulation","value":{"request_id":"7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f","document_ai":{"status":"Declined","extracted_data":{"employer_name":"Acme Payments Ltd","employee_name":"Sophia Martinez","net_pay":3120.5,"pay_date":"2026-07-31"},"detected_codes":[],"fields":[{"key":"employer_name","name":"Employer name","instruction":"The employer or company issuing the payslip.","type":"text","required":true,"is_full_name":false},{"key":"employee_name","name":"Employee name","instruction":"The full name of the employee as printed on the payslip.","type":"text","required":true,"is_full_name":true},{"key":"net_pay","name":"Net pay","instruction":"The net amount paid to the employee for the period.","type":"number","required":true,"is_full_name":false},{"key":"pay_date","name":"Pay date","instruction":"The payment date shown on the payslip.","type":"date","required":false,"is_full_name":false}],"name_match_score":null,"name_on_document":"Sophia Martinez","warnings":[{"risk":"DOCUMENT_AI_SUSPECTED_MANIPULATION","feature":"DOCUMENT_AI","additional_data":{"detection_method":"known_editor","processed_by_known_editor":"ilovepdf"},"log_type":"error","short_description":"Suspected document manipulation","long_description":"The system detected signs of potential manipulation or editing in the uploaded document."}]},"vendor_data":null,"metadata":null,"created_at":"2026-08-19T16:42:40.771Z"}}},"schema":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"ID sesi yang disimpan saat `save_api_request=true` (dapat digunakan dengan `GET /v3/session/{sessionId}/decision/`); jika tidak, berupa UUID korelasi sementara.","uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"document_ai":{"type":"object","properties":{"status":{"type":"string","enum":["Approved","Declined","In Review"],"description":"`Approved` jika tidak ada peringatan yang menghasilkan penolakan atau peninjauan; `Declined` jika setidaknya satu risiko dipetakan ke `DECLINE`; selain itu `In Review` jika setidaknya satu dipetakan ke `REVIEW`. Daftar `warnings` menjelaskan alasannya.","uniqueKey":"document_ai.status","typeLabel":"enum\u003cstring>"},"extracted_data":{"type":"object","additionalProperties":true,"description":"Satu entri per kunci kolom yang diminta. Nilai diberi tipe sesuai dengan `type` kolom — string untuk `text`, angka untuk `number`, string `YYYY-MM-DD` untuk `date` — atau `null` jika nilainya tidak dapat dibaca.","example":{"employer_name":"Acme Payments Ltd","employee_name":"Sophia Martinez","net_pay":3120.5,"pay_date":"2026-07-31"},"uniqueKey":"document_ai.extracted_data","typeLabel":"object"},"detected_codes":{"type":"array","description":"Kode QR dan barcode yang terdeteksi di setiap halaman yang diproses. Kosong jika tidak ada yang ditemukan. Kode QR yang ditemukan namun tidak dapat didekode memiliki `parsed_payload: null`.","items":{"type":"object","required":["type","page_number","position","x","y","width","height","page_width","page_height","raw_payload","parsed_payload"],"properties":{"type":{"type":"string","description":"Simbologi yang terdeteksi, misalnya `QR_CODE`, `CODE_128`, `EAN_13`, `DATA_MATRIX`, atau `PDF_417`.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].type","typeLabel":"string"},"page_number":{"type":"integer","minimum":1,"description":"Nomor halaman berbasis 1.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].page_number","typeLabel":"integer"},"position":{"oneOf":[{"type":"array","description":"Poligon yang terdeteksi dalam koordinat piksel halaman yang dirender. Bernilai `null` jika tidak ada lokasi andal yang tersedia.","items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer","uniqueKey":"document_ai.detected_codes.items.[INDEX].position.oneOf.0.items.[INDEX].items.[INDEX]","typeLabel":"integer"},"uniqueKey":"document_ai.detected_codes.items.[INDEX].position.oneOf.0.items.[INDEX]","typeLabel":"integer[]"},"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].position.oneOf.0","typeLabel":"integer[][]"},{"type":"null","description":"Poligon yang terdeteksi dalam koordinat piksel halaman yang dirender. Bernilai `null` jika tidak ada lokasi andal yang tersedia.","items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"integer"}},"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].position.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].position","typeLabel":"integer[][] | null"},"x":{"oneOf":[{"type":"integer","description":"Tepi kiri bounding box dalam piksel halaman yang dirender.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].x.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Tepi kiri bounding box dalam piksel halaman yang dirender.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].x.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].x","typeLabel":"integer | null"},"y":{"oneOf":[{"type":"integer","description":"Tepi atas bounding box dalam piksel halaman yang dirender.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].y.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Tepi atas bounding box dalam piksel halaman yang dirender.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].y.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].y","typeLabel":"integer | null"},"width":{"oneOf":[{"type":"integer","description":"Lebar bounding-box dalam piksel halaman yang dirender.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].width.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Lebar bounding-box dalam piksel halaman yang dirender.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].width.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].width","typeLabel":"integer | null"},"height":{"oneOf":[{"type":"integer","description":"Tinggi bounding-box dalam piksel halaman yang dirender.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].height.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Tinggi bounding-box dalam piksel halaman yang dirender.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].height.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].height","typeLabel":"integer | null"},"page_width":{"type":"integer","description":"Lebar halaman yang dirender dalam piksel.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].page_width","typeLabel":"integer"},"page_height":{"type":"integer","description":"Tinggi halaman yang dirender dalam piksel.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].page_height","typeLabel":"integer"},"raw_payload":{"type":"string","description":"Payload dekoder mentah sebagai string base64 jika tersedia; jika tidak, berupa string kosong.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].raw_payload","typeLabel":"string"},"parsed_payload":{"oneOf":[{"description":"String atau nilai terstruktur yang didekodekan. `null` jika kode ditemukan tetapi tidak dapat didekodekan.","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].parsed_payload.oneOf.0","typeLabel":"any"},{"description":"String atau nilai terstruktur yang didekodekan. `null` jika kode ditemukan tetapi tidak dapat didekodekan.","type":"null","isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].parsed_payload.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"document_ai.detected_codes.items.[INDEX].parsed_payload","typeLabel":"any | null"}},"uniqueKey":"document_ai.detected_codes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"document_ai.detected_codes","typeLabel":"object[]"},"fields":{"type":"array","description":"Definisi kolom yang dinormalisasi yang digunakan untuk ekstraksi ini, dikembalikan kembali (juga disimpan bersama sesi jika `save_api_request=true`).","items":{"type":"object","properties":{"key":{"type":"string","uniqueKey":"document_ai.fields.items.[INDEX].key","typeLabel":"string"},"name":{"type":"string","uniqueKey":"document_ai.fields.items.[INDEX].name","typeLabel":"string"},"instruction":{"type":"string","uniqueKey":"document_ai.fields.items.[INDEX].instruction","typeLabel":"string"},"type":{"type":"string","enum":["text","number","date"],"uniqueKey":"document_ai.fields.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"required":{"type":"boolean","uniqueKey":"document_ai.fields.items.[INDEX].required","typeLabel":"boolean"},"is_full_name":{"type":"boolean","uniqueKey":"document_ai.fields.items.[INDEX].is_full_name","typeLabel":"boolean"}},"uniqueKey":"document_ai.fields.items.[INDEX]","typeLabel":"object"},"uniqueKey":"document_ai.fields","typeLabel":"object[]"},"name_match_score":{"oneOf":[{"type":"number","minimum":0,"maximum":100,"description":"Kemiripan samar (0–100) antara `name_on_document` dan nama individu/perusahaan yang diharapkan. Dikembalikan setiap kali nilai nama dan nama yang diharapkan ada — pada kecocokan **dan** ketidakcocokan; selain itu bernilai `null`.","example":96,"uniqueKey":"document_ai.name_match_score.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":100,"description":"Kemiripan samar (0–100) antara `name_on_document` dan nama individu/perusahaan yang diharapkan. Dikembalikan setiap kali nilai nama dan nama yang diharapkan ada — pada kecocokan **dan** ketidakcocokan; selain itu bernilai `null`.","example":96,"uniqueKey":"document_ai.name_match_score.oneOf.1","typeLabel":"null"}],"uniqueKey":"document_ai.name_match_score","typeLabel":"number | null"},"name_on_document":{"oneOf":[{"type":"string","description":"Nilai nama yang diambil dari dokumen (kolom `is_full_name`, atau kolom teks pertama yang menyerupai nama) yang dibandingkan dengan nama yang diharapkan. `null` jika tidak ada nilai nama yang tersedia.","example":"Sophia Martinez","uniqueKey":"document_ai.name_on_document.oneOf.0","typeLabel":"string"},{"type":"null","description":"Nilai nama yang diambil dari dokumen (kolom `is_full_name`, atau kolom teks pertama yang menyerupai nama) yang dibandingkan dengan nama yang diharapkan. `null` jika tidak ada nilai nama yang tersedia.","example":"Sophia Martinez","uniqueKey":"document_ai.name_on_document.oneOf.1","typeLabel":"null"}],"uniqueKey":"document_ai.name_on_document","typeLabel":"string | null"},"warnings":{"type":"array","description":"Kosong jika persetujuan bersih. Setiap entri menjelaskan satu risiko yang terdeteksi; entri dengan `log_type: \"error\"` menetapkan `status` ke `Declined`, entri dengan `log_type: \"warning\"` menetapkannya ke `In Review`.","items":{"type":"object","properties":{"risk":{"type":"string","enum":["DOCUMENT_AI_UNREADABLE_DOCUMENT","DOCUMENT_AI_MISSING_REQUIRED_FIELDS","DOCUMENT_AI_SUSPECTED_MANIPULATION","DOCUMENT_AI_NAME_MISMATCH","DOCUMENT_AI_UNSUPPORTED_FILE"],"description":"Kode risiko yang dapat dibaca mesin. Masing-masing diatur oleh opsi permintaan `document_ai_*_action` yang sesuai.","example":"DOCUMENT_AI_MISSING_REQUIRED_FIELDS","uniqueKey":"document_ai.warnings.items.[INDEX].risk","typeLabel":"enum\u003cstring>"},"feature":{"type":"string","enum":["DOCUMENT_AI"],"description":"Fitur yang memunculkan peringatan. Selalu `DOCUMENT_AI` pada endpoint ini.","uniqueKey":"document_ai.warnings.items.[INDEX].feature","typeLabel":"enum\u003cstring>"},"additional_data":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Konteks tambahan untuk risiko: `{\"missing_fields\": [\"Net pay\"]}` untuk kolom wajib yang hilang, `{\"name_on_document\", \"score\", \"threshold\"}` untuk ketidakcocokan nama, dan temuan forensik (`detection_method`, detail produsen/editor) untuk dugaan manipulasi. `null` jika tidak ada yang perlu ditambahkan.","example":{"missing_fields":["Net pay"]},"uniqueKey":"document_ai.warnings.items.[INDEX].additional_data.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Konteks tambahan untuk risiko: `{\"missing_fields\": [\"Net pay\"]}` untuk kolom wajib yang hilang, `{\"name_on_document\", \"score\", \"threshold\"}` untuk ketidakcocokan nama, dan temuan forensik (`detection_method`, detail produsen/editor) untuk dugaan manipulasi. `null` jika tidak ada yang perlu ditambahkan.","example":{"missing_fields":["Net pay"]},"uniqueKey":"document_ai.warnings.items.[INDEX].additional_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"document_ai.warnings.items.[INDEX].additional_data","typeLabel":"object | null"},"log_type":{"type":"string","enum":["error","warning","information"],"description":"Tingkat keparahan yang diturunkan dari tindakan yang dikonfigurasi: `error` (DECLINE), `warning` (REVIEW), `information` (NO_ACTION).","uniqueKey":"document_ai.warnings.items.[INDEX].log_type","typeLabel":"enum\u003cstring>"},"short_description":{"type":"string","description":"Ringkasan singkat satu baris yang dapat dibaca manusia untuk risiko.","example":"Required fields could not be extracted","uniqueKey":"document_ai.warnings.items.[INDEX].short_description","typeLabel":"string"},"long_description":{"type":"string","description":"Penjelasan yang mudah dibaca manusia, diinterpolasi dengan `additional_data` jika relevan.","uniqueKey":"document_ai.warnings.items.[INDEX].long_description","typeLabel":"string"}},"uniqueKey":"document_ai.warnings.items.[INDEX]","typeLabel":"object"},"uniqueKey":"document_ai.warnings","typeLabel":"object[]"}},"uniqueKey":"document_ai","typeLabel":"object"},"vendor_data":{"oneOf":[{"type":"string","description":"Salinan `vendor_data` yang Anda kirimkan, atau `null`.","uniqueKey":"vendor_data.oneOf.0","typeLabel":"string"},{"type":"null","description":"Salinan `vendor_data` yang Anda kirimkan, atau `null`.","uniqueKey":"vendor_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"vendor_data","typeLabel":"string | null"},"metadata":{"oneOf":[{"type":"object","additionalProperties":true,"description":"Salinan objek `metadata` yang Anda kirimkan, atau `null`.","uniqueKey":"metadata.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"Salinan objek `metadata` yang Anda kirimkan, atau `null`.","uniqueKey":"metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata","typeLabel":"object | null"},"created_at":{"type":"string","format":"date-time","description":"Waktu permintaan diproses (UTC, ISO 8601).","uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"2a8f01ef-3a27-4e9e-82de-53700ed8ee54":{"description":"Kesalahan validasi atau pemrosesan. Masalah tingkat kolom mengembalikan envelope standar DRF (satu array pesan per kolom yang bermasalah). Dokumen terenkripsi atau tidak terbaca serta kegagalan ekstraksi mengembalikan `{\"error\": ...}`.","content":{"application/json":{"examples":{"Missing document":{"title":"Missing document","value":{"document":["No file was submitted."]}},"Invalid fields payload":{"title":"Invalid fields payload","value":{"fields":["fields must be a valid JSON array string."]}},"Duplicate field keys":{"title":"Duplicate field keys","value":{"fields":["Every fields item must have a unique key."]}},"Conflicting expectations":{"title":"Conflicting expectations","value":{"non_field_errors":["Provide either person expected-name fields or expected_company_name, not both."]}},"Invalid metadata":{"title":"Invalid metadata","value":{"metadata":["Metadata must be a JSON object."]}},"Oversized vendor_data":{"title":"Oversized vendor_data","value":{"vendor_data":["vendor_data is too long (maximum 2000 bytes)."]}},"Encrypted PDF":{"title":"Encrypted PDF","value":{"error":"The PDF is encrypted. Please upload a decrypted PDF or a photo instead."}},"Extraction failed":{"title":"Extraction failed","value":{"error":["Error extracting Document AI information"]}}},"schema":{"type":"object","additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"89e0b614-93e8-4047-ab42-7ee3da09ee0c":{"description":"Izin ditolak. Dikembalikan ketika header `x-api-key` tidak ada, dan juga ketika saldo organisasi pemanggil tidak dapat mencukupi biaya panggilan tersebut; kunci yang salah, dicabut, atau kedaluwarsa mengembalikan `401`. Kunci yang tidak ada mengembalikan `403` dengan `{\"detail\": ...}`; kunci yang salah, dicabut, atau kedaluwarsa mengembalikan `401`. Kekurangan kredit — serta organisasi dengan penagihan kontrak yang daftar tarifnya tidak memiliki entri API Document AI — mengembalikan `403` dengan `{\"error\": ...}` sebelum pemrosesan dokumen apa pun terjadi.","content":{"application/json":{"examples":{"Missing or invalid API key":{"title":"Missing or invalid API key","value":{"detail":"You do not have permission to perform this action."}},"Not enough credits":{"title":"Not enough credits","value":{"error":"You don't have enough credits to perform this request. Please top up at https://business.didit.me"}},"Contract rate missing":{"title":"Contract rate missing","value":{"error":"Document AI API is not included in your contract rate card. Contact support@didit.me to enable it."}}},"schema":{"type":"object","properties":{"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"8e35b7d7-7c2b-4654-aab1-588d959ac9b1":{"description":"Batas laju terlampaui. Endpoint POST/PATCH/DELETE berbagi anggaran 300 permintaan penulisan per menit per kunci API (pembuatan transaksi dan ingesti event memiliki anggaran terpisah sebesar 600). Respons menyertakan header `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`, dan `Retry-After`.","content":{"application/json":{"examples":{"Write rate limit exceeded":{"title":"Write rate limit exceeded","value":{"detail":"Write request rate limit exceeded. You can make up to 300 requests per minute."}}},"schema":{"type":"object","properties":{"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"34035235-8a9d-4069-84f0-877b6a09999a":{"description":"Terlalu banyak dokumen yang sedang diproses saat ini, sehingga unggahan ini tidak diproses: tidak ada yang disimpan dan tidak ada percobaan yang terpakai. Kirim kembali file yang sama setelah menunggu selama jumlah detik yang tercantum dalam `Retry-After`. Lakukan percabangan berdasarkan `code`, bukan pada teks pesan.","headers":{"Retry-After":{"description":"Jumlah detik yang harus ditunggu sebelum mengirimkan permintaan yang sama lagi.","schema":{"type":"integer","example":10}}},"content":{"application/json":{"schema":{"type":"object","required":["detail","code"],"properties":{"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["document_processing_busy"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"example":{"detail":"We are busy processing documents. Please try again in a moment.","code":"document_processing_busy"},"examples":{"Example":{"title":"Example","value":{"detail":"We are busy processing documents. Please try again in a moment.","code":"document_processing_busy"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"e6ae0812-3003-4a8d-b72d-2569c8446b67":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"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.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"ff40cbb9-ee30-4687-b373-d64cd3d20035":{"url":"https://verification.didit.me"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"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.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"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.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"id/openapi-25.json"},"subdomain":"didit-0f962782","siteName":"Didit Docs","title":"Ekstraksi Data Dokumen Kustom dengan API Document AI - Didit Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/standalone-apis/document-ai","matchLevel":1},"es":{"href":"/es/standalone-apis/document-ai","matchLevel":1},"pt-BR":{"href":"/pt-br/standalone-apis/document-ai","matchLevel":1},"ja":{"href":"/ja/standalone-apis/document-ai","matchLevel":1},"de":{"href":"/de/standalone-apis/document-ai","matchLevel":1},"fr":{"href":"/fr/standalone-apis/document-ai","matchLevel":1},"it":{"href":"/it/standalone-apis/document-ai","matchLevel":1},"pt":{"href":"/pt/standalone-apis/document-ai","matchLevel":1},"ca":{"href":"/ca/standalone-apis/document-ai","matchLevel":1},"id":{"href":"/id/standalone-apis/document-ai","matchLevel":0},"ru":{"href":"/ru/standalone-apis/document-ai","matchLevel":1},"ko":{"href":"/ko/standalone-apis/document-ai","matchLevel":1},"zh":{"href":"/zh/standalone-apis/document-ai","matchLevel":1},"ar":{"href":"/ar/standalone-apis/document-ai","matchLevel":1},"hi":{"href":"/hi/standalone-apis/document-ai","matchLevel":1}}},"lastModified":"2026-11-07T17:37:30.009Z","gitLastModified":"2026-11-07T17:24:04.000Z","originalFileLocation":"id/standalone-apis/document-ai.mdx","locale":"id"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Ekstraksi Data Dokumen Kustom dengan API Document AI - Didit Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Didit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.didit.me/id/standalone-apis/document-ai\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://didit-0f962782.mintlify.site/_mintlify/api/og/v2?division=AI+Dokumen\u0026amp;title=Ekstraksi+Data+Dokumen+Kustom+dengan+API+Document+AI\u0026amp;description=Didit+mengekstrak+kolom+kustom+dari+PDF+atau+gambar%2C+server+ke+server%2C+dengan+cek+nama+dan+manipulasi.+POST+%2Fv3%2Fdocument-ai%2F.+%240.20+per+dokumen.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=33b09c25ae6dab1447eed68985162166d22564bde36fc9868da0aeb424cc939d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Ekstraksi Data Dokumen Kustom dengan API Document AI - Didit Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://didit-0f962782.mintlify.site/_mintlify/api/og/v2?division=AI+Dokumen\u0026amp;title=Ekstraksi+Data+Dokumen+Kustom+dengan+API+Document+AI\u0026amp;description=Didit+mengekstrak+kolom+kustom+dari+PDF+atau+gambar%2C+server+ke+server%2C+dengan+cek+nama+dan+manipulasi.+POST+%2Fv3%2Fdocument-ai%2F.+%240.20+per+dokumen.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=33b09c25ae6dab1447eed68985162166d22564bde36fc9868da0aeb424cc939d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2567FF\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#2567FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.didit.me/id/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/id/standalone-apis/document-ai.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"id\" href=\"https://docs.didit.me/id/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.didit.me/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.didit.me/es/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.didit.me/pt-br/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.didit.me/ja/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.didit.me/de/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.didit.me/fr/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.didit.me/it/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.didit.me/pt/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ca\" href=\"https://docs.didit.me/ca/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ru\" href=\"https://docs.didit.me/ru/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.didit.me/ko/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.didit.me/zh/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.didit.me/ar/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"hi\" href=\"https://docs.didit.me/hi/standalone-apis/document-ai\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.didit.me/standalone-apis/document-ai\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://didit.me/#organization\",\"name\":\"Didit\",\"legalName\":\"Didit Protocol\",\"url\":\"https://didit.me\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://didit.me/logos/primary-horizontal-light.png\"},\"sameAs\":[\"https://www.linkedin.com/company/91001155\",\"https://www.youtube.com/@getdidit\",\"https://github.com/didit-protocol\",\"https://x.com/didit\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.didit.me#website\",\"name\":\"Didit Docs\",\"url\":\"https://docs.didit.me\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.didit.me/id/standalone-apis/document-ai#webpage\",\"url\":\"https://docs.didit.me/id/standalone-apis/document-ai\",\"name\":\"Ekstraksi Data Dokumen Kustom dengan API Document AI\",\"description\":\"Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.\",\"dateModified\":\"2026-11-07T17:24:04.000Z\",\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"},\"breadcrumb\":{\"@id\":\"https://docs.didit.me/id/standalone-apis/document-ai#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.didit.me/id/standalone-apis/document-ai#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Didit Docs\",\"item\":\"https://docs.didit.me\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ekstraksi Data Dokumen Kustom dengan API Document AI\",\"item\":\"https://docs.didit.me/id/standalone-apis/document-ai\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.didit.me/id/standalone-apis/document-ai#apireference\",\"headline\":\"Ekstraksi Data Dokumen Kustom dengan API Document AI\",\"name\":\"Ekstraksi Data Dokumen Kustom dengan API Document AI\",\"description\":\"Didit mengekstrak kolom kustom dari PDF atau gambar, server ke server, dengan cek nama dan manipulasi. POST /v3/document-ai/. $0.20 per dokumen.\",\"url\":\"https://docs.didit.me/id/standalone-apis/document-ai\",\"mainEntityOfPage\":{\"@id\":\"https://docs.didit.me/id/standalone-apis/document-ai#webpage\"},\"dateModified\":\"2026-11-07T17:24:04.000Z\",\"keywords\":\"API document AI, ekstraksi data dokumen API, OCR dokumen kustom API, API bukti dana, ekstraksi slip gaji API, OCR rekening bank, ekstraksi dokumen KYC, deteksi manipulasi dokumen, Didit API\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Didit Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Didit Docs","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/standalone-apis/document-ai"}]},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"pages":[{"title":"es","href":"/es/standalone-apis/document-ai"}]},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"pages":[{"title":"pt-BR","href":"/pt-br/standalone-apis/document-ai"}]},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"pages":[{"title":"ja","href":"/ja/standalone-apis/document-ai"}]},{"language":"de","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Anmelden","href":"https://business.didit.me"}},"pages":[{"title":"de","href":"/de/standalone-apis/document-ai"}]},{"language":"fr","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Assistance"},{"icon":"signal","href":"https://status.didit.me","label":"Statut"}],"primary":{"type":"button","label":"Se connecter","href":"https://business.didit.me"}},"pages":[{"title":"fr","href":"/fr/standalone-apis/document-ai"}]},{"language":"it","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Supporto"},{"icon":"signal","href":"https://status.didit.me","label":"Stato"}],"primary":{"type":"button","label":"Accedi","href":"https://business.didit.me"}},"pages":[{"title":"it","href":"/it/standalone-apis/document-ai"}]},{"language":"pt","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sessão","href":"https://business.didit.me"}},"pages":[{"title":"pt","href":"/pt/standalone-apis/document-ai"}]},{"language":"ca","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suport"},{"icon":"signal","href":"https://status.didit.me","label":"Estat"}],"primary":{"type":"button","label":"Inicia la sessió","href":"https://business.didit.me"}},"pages":[{"title":"ca","href":"/ca/standalone-apis/document-ai"}]},{"language":"id","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Dukungan"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Masuk","href":"https://business.didit.me"}},"tabs":[{"tab":"Mulai","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/rocket.svg","pages":[{"title":"Mulai","href":"/id"}]},{"tab":"Integrasi / SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"Integrasi / SDK","href":"/id/integration/sdks"}]},{"tab":"Referensi API","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","groups":[{"group":"Ikhtisar","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/overview.svg","pages":[{"title":"Referensi API Didit: REST API Verifikasi Identitas","sidebarTitle":"Referensi API","href":"/id/api-reference/overview"},{"title":"Healthcheck API: Pemeriksaan Liveness Publik","sidebarTitle":"Healthcheck","openapi":"id/openapi-healthcheck.json GET /system/healthcheck","href":"/id/api-reference/healthcheck"},{"title":"API Status Layanan Didit: Feed Status Publik","sidebarTitle":"Status layanan","openapi":"id/openapi-25.json GET /v3/status/","href":"/id/api-reference/service-status"},{"title":"API Harga Verifikasi Bank: Feed Harga Publik","sidebarTitle":"Harga verifikasi bank","openapi":"id/openapi-25.json GET /v3/organization/bank-verification-pricing/","href":"/id/api-reference/bank-verification-pricing"}]},{"group":"Verifikasi Pengguna dan Bisnis","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/user-verifications.svg","pages":[{"title":"Verifikasi Identitas API Sessions: KYC \u0026 KYB Terpadu","sidebarTitle":"Ringkasan","href":"/id/sessions-api/overview"},{"title":"API Buat Sesi Verifikasi: Mulai Verifikasi KYC atau KYB","sidebarTitle":"Buat Sesi","openapi":"id/openapi-25.json POST /v3/session/","href":"/id/sessions-api/create-session"},{"title":"Impor Verifikasi dari Penyedia Lain","openapi":"id/openapi-25.json POST /v3/session/imports/","href":"/id/sessions-api/import-verifications"},{"title":"API Retrieve Session: Data Keputusan KYC \u0026 KYB","sidebarTitle":"Retrieve Session","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/decision/","href":"/id/sessions-api/retrieve-session"},{"title":"API Daftar Sesi: Filter Sesi Verifikasi KYC \u0026 KYB","sidebarTitle":"Daftar Sesi","openapi":"id/openapi-25.json GET /v3/sessions/","href":"/id/sessions-api/list-sessions"},{"title":"Perbarui Status Sesi API: Setujui \u0026 Tolak","sidebarTitle":"Perbarui Status Sesi","openapi":"id/openapi-25.json PATCH /v3/session/{sessionId}/update-status/","href":"/id/sessions-api/update-status"},{"title":"Pratinjau Email Pengajuan Ulang","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/resubmission-preview/","href":"/id/sessions-api/preview-resubmission"},{"title":"Pratinjau Email Keputusan API: Disetujui dan Ditolak","sidebarTitle":"Pratinjau Email Keputusan","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/decision-email-preview/","href":"/id/sessions-api/preview-decision-email"},{"title":"API Update Feature Status: Setujui/Tolak Satu Langkah","sidebarTitle":"Update Status Langkah","openapi":"id/openapi-25.json PATCH /v3/session/{sessionId}/features/{nodeId}/update-status/","href":"/id/sessions-api/update-feature-status"},{"title":"API Daftar Override Fitur: Riwayat Status Langkah","sidebarTitle":"Daftar Override Fitur","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/features/overrides/","href":"/id/sessions-api/list-feature-overrides"},{"title":"API Batalkan Override Fitur untuk Langkah Tertunda","sidebarTitle":"Batalkan Feature Override","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/features/overrides/{overrideId}/cancel/","href":"/id/sessions-api/cancel-feature-override"},{"title":"API Update Status Hit AML: Konfirmasi \u0026 Tandai Kecocokan","sidebarTitle":"Update Status Hit AML","openapi":"id/openapi-25.json PATCH /v3/session/{sessionId}/update-aml-hit-status/","href":"/id/sessions-api/update-aml-hit-status"},{"title":"API Perbarui Data Sesi: Perbaiki Kolom KYC \u0026 KYB","sidebarTitle":"Perbarui Data Sesi","href":"/id/sessions-api/update-data"},{"title":"API Update Status Pemeriksaan AML","sidebarTitle":"Update Status Pemeriksaan AML","openapi":"id/openapi-25.json PATCH /v3/session/{sessionId}/update-aml-status/","href":"/id/sessions-api/update-aml-status"},{"title":"Perbarui Data Document AI API","sidebarTitle":"Perbarui Data Document AI","openapi":"id/openapi-25.json PATCH /v3/document-ai/{sessionId}/documents/{documentUuid}/","href":"/id/sessions-api/update-document-ai-data"},{"title":"API Regenerate Sesi KYC Pihak Kunci","sidebarTitle":"Regenerate Sesi KYC Pihak Kunci","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/kyb/parties/{partyUuid}/regenerate/","href":"/id/sessions-api/regenerate-kyb-party"},{"title":"API Unggah Dokumen KYB","sidebarTitle":"Unggah Dokumen KYB","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/kyb/documents/","href":"/id/sessions-api/kyb-upload-documents"},{"title":"Daftar Pihak KYB yang Diekstrak API","sidebarTitle":"Daftar Pihak KYB yang Diekstrak","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/kyb/extracted-parties/","href":"/id/sessions-api/kyb-extracted-parties"},{"title":"Daftar Draf Pihak Kunci KYB API","sidebarTitle":"Daftar Draf Pihak KYB","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/kyb/parties/drafts/","href":"/id/sessions-api/kyb-list-party-drafts"},{"title":"API Buat Draf Pihak Kunci KYB","sidebarTitle":"Buat Draf Pihak KYB","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/kyb/parties/drafts/","href":"/id/sessions-api/kyb-create-party-draft"},{"title":"Edit Draft Pihak Kunci KYB API","sidebarTitle":"Edit Draft Pihak KYB","openapi":"id/openapi-25.json PATCH /v3/session/{sessionId}/kyb/parties/drafts/{draftId}/","href":"/id/sessions-api/kyb-update-party-draft"},{"title":"API Hapus Draf Pihak Kunci KYB","sidebarTitle":"Hapus Draf Pihak KYB","openapi":"id/openapi-25.json DELETE /v3/session/{sessionId}/kyb/parties/drafts/{draftId}/","href":"/id/sessions-api/kyb-delete-party-draft"},{"title":"Kirim Pihak Kunci KYB via API","sidebarTitle":"Kirim Pihak Kunci KYB","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/kyb/parties/submit/","href":"/id/sessions-api/kyb-submit-parties"},{"title":"Tambah Gambar ke Sesi API","sidebarTitle":"Tambah Gambar ke Sesi","openapi":"id/openapi-25.json PATCH /v3/session/{sessionId}/add-images/","href":"/id/sessions-api/add-images"},{"title":"Hapus Sesi API: Hak untuk Dilupakan GDPR","sidebarTitle":"Hapus Sesi","openapi":"id/openapi-25.json DELETE /v3/session/{sessionId}/delete/","href":"/id/sessions-api/delete-session"},{"title":"API Generate PDF: Laporan Kepatuhan KYC \u0026 KYB","sidebarTitle":"Generate PDF","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/generate-pdf/","href":"/id/sessions-api/generate-pdf"},{"title":"Ekspor File Sesi API: Unduh Semua File dalam Satu ZIP","sidebarTitle":"Ekspor file","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/files-export/","href":"/id/sessions-api/export-files"},{"title":"Status Ekspor File Sesi dan Tautan Unduh API Didit","sidebarTitle":"Ambil ekspor file","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/files-export/{exportId}/","href":"/id/sessions-api/get-files-export"},{"group":"Tanda Tangan Elektronik","pages":[{"title":"Unduh Dokumen Bertanda Tangan API: PDF Bertanda Tangan","sidebarTitle":"Unduh Dokumen Bertanda Tangan","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/documents/{documentId}/file/","href":"/id/sessions-api/electronic-signature/download-signed-document"},{"title":"API Bukti Tanda Tangan: Unduh PDF Jejak Audit","sidebarTitle":"Unduh Bukti Tanda Tangan","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/evidence/","href":"/id/sessions-api/electronic-signature/download-evidence"},{"title":"API Gambar Tanda Tangan: Unduh PNG Tanda Tangan","sidebarTitle":"Unduh Gambar Tanda Tangan","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/","href":"/id/sessions-api/electronic-signature/download-field-image"},{"title":"API Validasi Tanda Tangan: Cek Ulang PDF Bertanda Tangan","sidebarTitle":"Validasi Tanda Tangan","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/signatures/{nodeId}/validate/","href":"/id/sessions-api/electronic-signature/validate-signatures"}]},{"title":"API Berbagi Sesi: KYC Dapat Digunakan Kembali antar Mitra","sidebarTitle":"Ikhtisar","href":"/id/sessions-api/share-session/overview"},{"title":"Token Berbagi Sesi API: Buat Share Token","sidebarTitle":"Share Session","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/share/","href":"/id/sessions-api/share-session/share"},{"title":"API Impor Sesi Bersama: KYC yang Dapat Digunakan Kembali","sidebarTitle":"Impor Sesi Bersama","openapi":"id/openapi-25.json POST /v3/session/import-shared/","href":"/id/sessions-api/share-session/import"}]},{"group":"Daftar","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/lists.svg","pages":[{"title":"API Daftar Blokir \u0026 Daftar Izin Didit","sidebarTitle":"Ikhtisar","href":"/id/management-api/lists/overview"},{"title":"API Ambil Semua Daftar: Daftar Blokir \u0026 Daftar Izin","sidebarTitle":"Lihat Daftar","openapi":"id/openapi-25.json GET /v3/lists/","href":"/id/management-api/lists/list"},{"title":"Create List API: Allowlist \u0026 Daftar Kustom","sidebarTitle":"Buat Daftar","openapi":"id/openapi-25.json POST /v3/lists/","href":"/id/management-api/lists/create"},{"title":"API Ambil Daftar: Detail Daftar Kepatuhan","sidebarTitle":"Ambil Daftar","openapi":"id/openapi-25.json GET /v3/lists/{list_uuid}/","href":"/id/management-api/lists/get"},{"title":"Update List API: Ubah Daftar Kepatuhan","sidebarTitle":"Perbarui Daftar","openapi":"id/openapi-25.json PATCH /v3/lists/{list_uuid}/","href":"/id/management-api/lists/update"},{"title":"Hapus Daftar API: Hapus Daftar Kepatuhan","sidebarTitle":"Hapus Daftar","openapi":"id/openapi-25.json DELETE /v3/lists/{list_uuid}/","href":"/id/management-api/lists/delete"},{"title":"API Entri Daftar: Item Daftar Blokir \u0026 Daftar Izin","sidebarTitle":"Entri Daftar","openapi":"id/openapi-25.json GET /v3/lists/{list_uuid}/entries/","href":"/id/management-api/lists/list-entries"},{"title":"API Tambah Entri Daftar Blokir \u0026 Daftar Izin","sidebarTitle":"Tambah Entri Daftar","openapi":"id/openapi-25.json POST /v3/lists/{list_uuid}/entries/","href":"/id/management-api/lists/create-entry"},{"title":"Hapus Entri Daftar API: Buka Blokir Item","sidebarTitle":"Hapus Entri Daftar","openapi":"id/openapi-25.json DELETE /v3/lists/{list_uuid}/entries/{entry_uuid}/","href":"/id/management-api/lists/delete-entry"},{"title":"API Unggah Wajah: Daftar Biometrik Didit","sidebarTitle":"Unggah Wajah","openapi":"id/openapi-25.json POST /v3/lists/{list_uuid}/entries/face-upload/","href":"/id/management-api/lists/upload-face"}]},{"group":"Daftar Blokir","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/lists.svg","pages":[{"title":"Daftar Item Daftar Blokir API","sidebarTitle":"Daftar Item Diblokir","openapi":"id/openapi-25.json GET /v3/blocklist/","href":"/id/management-api/blocklist/list"},{"title":"API Tambah ke Daftar Blokir: Blokir Item Sesi","sidebarTitle":"Tambah ke Daftar Blokir","openapi":"id/openapi-25.json POST /v3/blocklist/add/","href":"/id/management-api/blocklist/add"},{"title":"API Hapus dari Daftar Blokir: Buka Blokir Item Sesi","sidebarTitle":"Hapus dari Daftar Blokir","openapi":"id/openapi-25.json POST /v3/blocklist/remove/","href":"/id/management-api/blocklist/remove"}]},{"group":"Alur Kerja","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/workflows.svg","pages":[{"title":"API Daftar Alur Kerja: Alur Verifikasi","sidebarTitle":"Daftar Alur Kerja","openapi":"id/openapi-25.json GET /v3/workflows/","href":"/id/management-api/workflows/list"},{"title":"API Membuat Workflow: Bangun Alur Verifikasi KYC","sidebarTitle":"Buat Workflow","openapi":"id/openapi-25.json POST /v3/workflows/","href":"/id/management-api/workflows/create"},{"title":"Referensi API Konfigurasi Fitur Alur Kerja","sidebarTitle":"Konfigurasi Fitur Alur Kerja","href":"/id/management-api/workflows/feature-configs"},{"title":"Get Workflow API: Ambil Alur Kerja KYC","sidebarTitle":"Get Workflow","openapi":"id/openapi-25.json GET /v3/workflows/{settings_uuid}/","href":"/id/management-api/workflows/get"},{"title":"API Update Workflow: Edit Alur Kerja KYC","sidebarTitle":"Update Workflow","openapi":"id/openapi-25.json PATCH /v3/workflows/{settings_uuid}/","href":"/id/management-api/workflows/update"},{"title":"API Hapus Alur Kerja: Hapus Alur Verifikasi KYC","sidebarTitle":"Hapus Alur Kerja","openapi":"id/openapi-25.json DELETE /v3/workflows/{settings_uuid}/","href":"/id/management-api/workflows/delete"}]},{"group":"Kuesioner","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/task-square.svg","pages":[{"title":"API Daftar Kuesioner KYC: Formulir Kepatuhan","sidebarTitle":"Daftar Kuesioner","openapi":"id/openapi-25.json GET /v3/questionnaires/","href":"/id/management-api/questionnaires/list"},{"title":"API Create Questionnaire: Formulir KYC Kustom","sidebarTitle":"Buat Questionnaire","openapi":"id/openapi-25.json POST /v3/questionnaires/","href":"/id/management-api/questionnaires/create"},{"title":"Get Questionnaire API: Ambil Formulir KYC","sidebarTitle":"Get Questionnaire","openapi":"id/openapi-25.json GET /v3/questionnaires/{questionnaire_uuid}/","href":"/id/management-api/questionnaires/get"},{"title":"Update Questionnaire API: Edit Formulir KYC","sidebarTitle":"Update Questionnaire","openapi":"id/openapi-25.json PATCH /v3/questionnaires/{questionnaire_uuid}/","href":"/id/management-api/questionnaires/update"},{"title":"Hapus Kuesioner API: Hapus Formulir KYC","sidebarTitle":"Hapus Kuesioner","openapi":"id/openapi-25.json DELETE /v3/questionnaires/{questionnaire_uuid}/","href":"/id/management-api/questionnaires/delete"}]},{"group":"Pengguna","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/users.svg","pages":[{"title":"API Daftar Pengguna: Entitas Pengguna Vendor","sidebarTitle":"Daftar Pengguna","openapi":"id/openapi-25.json GET /v3/users/","href":"/id/management-api/users/list"},{"title":"Create User API: Pembuatan Pengguna Vendor Didit","sidebarTitle":"Buat Pengguna","openapi":"id/openapi-25.json POST /v3/users/create/","href":"/id/management-api/users/create"},{"title":"API Unggah Wajah Pengguna: Profil Pengguna Vendor","sidebarTitle":"Unggah Wajah Pengguna","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/vendor-users/by-id/{didit_internal_id}/faces/upload/","href":"/id/management-api/users/upload-face"},{"title":"Get User API: Ambil Entitas Pengguna Vendor","sidebarTitle":"Get User","openapi":"id/openapi-25.json GET /v3/users/{vendor_data}/","href":"/id/management-api/users/get"},{"title":"API PDF Riwayat Pengguna: Semua Sesi Pengguna","sidebarTitle":"PDF riwayat pengguna","openapi":"id/openapi-25.json GET /v3/users/{vendor_data}/generate-pdf/","href":"/id/management-api/users/generate-pdf"},{"title":"API Update User: Entitas User Vendor","sidebarTitle":"Update User","openapi":"id/openapi-25.json PATCH /v3/users/{vendor_data}/","href":"/id/management-api/users/update"},{"title":"API Update Status Pengguna: Blokir atau Tandai","sidebarTitle":"Update Status Pengguna","openapi":"id/openapi-25.json PATCH /v3/users/{vendor_data}/update-status/","href":"/id/management-api/users/update-status"},{"title":"Hapus Pengguna Massal API: Penghapusan GDPR","sidebarTitle":"Hapus Pengguna Massal","openapi":"id/openapi-25.json POST /v3/users/delete/","href":"/id/management-api/users/delete"}]},{"group":"Templat Biometrik","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/liveness.svg","pages":[{"title":"API Templat Biometrik","sidebarTitle":"Ikhtisar","href":"/id/management-api/biometric-templates/overview"},{"title":"Daftar Templat Biometrik API","sidebarTitle":"Daftar Templat","openapi":"id/openapi-25.json GET /v3/biometric-templates/","href":"/id/management-api/biometric-templates/list"},{"title":"Hitung Templat Biometrik API","sidebarTitle":"Hitung Templat","openapi":"id/openapi-25.json GET /v3/biometric-templates/count/","href":"/id/management-api/biometric-templates/count"},{"title":"Dapatkan Templat Biometrik API","sidebarTitle":"Ambil Templat","openapi":"id/openapi-25.json GET /v3/biometric-templates/{template_uuid}/","href":"/id/management-api/biometric-templates/get"},{"title":"API Hapus Templat Biometrik","sidebarTitle":"Hapus Templat","openapi":"id/openapi-25.json DELETE /v3/biometric-templates/{template_uuid}/","href":"/id/management-api/biometric-templates/purge"},{"title":"API Hapus Massal Templat Biometrik","sidebarTitle":"Hapus Massal","openapi":"id/openapi-25.json POST /v3/biometric-templates/delete/","href":"/id/management-api/biometric-templates/batch-purge"}]},{"group":"Bisnis","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/businesses.svg","pages":[{"title":"API Daftar Bisnis: Entitas KYB Vendor","sidebarTitle":"Daftar Bisnis","openapi":"id/openapi-25.json GET /v3/businesses/","href":"/id/management-api/businesses/list"},{"title":"Create Business API: Entitas KYB Vendor","sidebarTitle":"Buat Bisnis","openapi":"id/openapi-25.json POST /v3/businesses/create/","href":"/id/management-api/businesses/create"},{"title":"Get Business API: Entitas KYB Vendor","sidebarTitle":"Get Business","openapi":"id/openapi-25.json GET /v3/businesses/{vendor_data}/","href":"/id/management-api/businesses/get"},{"title":"API PDF Sesi Verifikasi Bisnis (KYB)","sidebarTitle":"Generate PDF Sesi Bisnis","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/businesses/{business_session_id}/pdf/","href":"/id/management-api/businesses/generate-session-pdf"},{"title":"Perbarui Bisnis API: Entitas KYB Vendor","sidebarTitle":"Perbarui Bisnis","openapi":"id/openapi-25.json PATCH /v3/businesses/{vendor_data}/","href":"/id/management-api/businesses/update"},{"title":"API Perbarui Status Bisnis: Blokir atau Tandai","sidebarTitle":"Perbarui Status Bisnis","openapi":"id/openapi-25.json PATCH /v3/businesses/{vendor_data}/update-status/","href":"/id/management-api/businesses/update-status"},{"title":"API Hapus Bisnis Batch: Penghapusan KYB","sidebarTitle":"Hapus Bisnis Batch","openapi":"id/openapi-25.json POST /v3/businesses/delete/","href":"/id/management-api/businesses/delete"}]},{"group":"Pemantauan AML Berkelanjutan","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/aml-screening.svg","pages":[{"title":"API Aktifkan/Nonaktifkan Pemantauan AML untuk Pengguna","sidebarTitle":"Aktifkan untuk Pengguna","openapi":"id/openapi-25.json POST /v3/users/aml-monitoring/","href":"/id/management-api/aml-monitoring/toggle-users"},{"title":"API Aktifkan Pemantauan AML untuk Bisnis","sidebarTitle":"Aktifkan untuk Bisnis","openapi":"id/openapi-25.json POST /v3/businesses/aml-monitoring/","href":"/id/management-api/aml-monitoring/toggle-businesses"},{"title":"Ambil Job Pemantauan AML Berkelanjutan API","sidebarTitle":"Ambil Job Pemantauan AML","openapi":"id/openapi-25.json GET /v3/aml-monitoring/jobs/{job_id}/","href":"/id/management-api/aml-monitoring/get-job"}]},{"group":"Kasus","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/clipboard-check.svg","pages":[{"title":"Daftar Kasus API - Manajemen Kasus","sidebarTitle":"Daftar Kasus","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/","href":"/id/management-api/cases/list"},{"title":"API Buat Kasus","sidebarTitle":"Buat Kasus","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/","href":"/id/management-api/cases/create"},{"title":"API Detail Kasus: Get Case","sidebarTitle":"Detail Kasus","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/","href":"/id/management-api/cases/get"},{"title":"API Perbarui Kasus","sidebarTitle":"Perbarui Kasus","openapi":"id/openapi-25.json PATCH /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/","href":"/id/management-api/cases/update"},{"title":"API Hapus Kasus","sidebarTitle":"Hapus Kasus","openapi":"id/openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/","href":"/id/management-api/cases/delete"},{"title":"API Penyelesaian Kasus (Resolve Case)","sidebarTitle":"Penyelesaian Kasus","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/","href":"/id/management-api/cases/resolve"},{"title":"API Permintaan Info Kasus","sidebarTitle":"Minta Info (Menunggu Pengguna)","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/request-info/","href":"/id/management-api/cases/request-info"},{"title":"API Transfer Kasus Didit","sidebarTitle":"Transfer Kasus","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/transfer/","href":"/id/management-api/cases/transfer"},{"title":"API Cetak Kasus PDF","sidebarTitle":"Cetak Kasus","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/print/","href":"/id/management-api/cases/print"},{"title":"API Analitik Kasus","sidebarTitle":"Analitik Kasus","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/statistics/","href":"/id/management-api/cases/statistics"},{"title":"API Pembaruan Status Kasus Massal","sidebarTitle":"Pembaruan Status Kasus Massal","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/bulk/status/","href":"/id/management-api/cases/bulk-status"},{"title":"API Daftar Catatan Kasus Didit","sidebarTitle":"Daftar Catatan Kasus","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/notes/","href":"/id/management-api/cases/list-notes"},{"title":"API Buat Catatan Kasus","sidebarTitle":"Buat Catatan Kasus","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/notes/","href":"/id/management-api/cases/create-note"}]},{"group":"Cetak Biru Kasus","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sliders.svg","pages":[{"title":"Daftar Blueprint Kasus API","sidebarTitle":"Daftar Blueprint Kasus","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/","href":"/id/management-api/case-blueprints/list"},{"title":"API Buat Blueprint Kasus","sidebarTitle":"Buat Blueprint Kasus","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/","href":"/id/management-api/case-blueprints/create"},{"title":"Pasang Preset Blueprint Manajemen Kasus API","sidebarTitle":"Pasang Preset Blueprint","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/presets/install/","href":"/id/management-api/case-blueprints/install-presets"}]},{"group":"Jaringan","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/link.svg","pages":[{"title":"API Daftar Jaringan Penipuan","sidebarTitle":"Daftar Jaringan","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/","href":"/id/management-api/networks/list"},{"title":"API Get Fraud Network - Detail Jaringan Penipuan Didit","sidebarTitle":"Get Network","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/","href":"/id/management-api/networks/get"},{"title":"API Tambah Tag ke Jaringan Fraud","sidebarTitle":"Tambah Tag Jaringan","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/tags/add/","href":"/id/management-api/networks/add-tag"},{"title":"Hapus Tag dari Jaringan Fraud API","sidebarTitle":"Hapus Tag Jaringan","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/tags/remove/","href":"/id/management-api/networks/remove-tag"},{"title":"API Graf Jaringan Penipuan","sidebarTitle":"Ambil Graf Jaringan","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/graph/","href":"/id/management-api/networks/graph"},{"title":"Daftar Anggota Jaringan Penipuan API","sidebarTitle":"Daftar Anggota Jaringan","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/members/","href":"/id/management-api/networks/members"},{"title":"API Daftar Sinyal Jaringan Penipuan","sidebarTitle":"Daftar Sinyal Jaringan","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/signals/","href":"/id/management-api/networks/signals"},{"title":"API Timeline Jaringan Penipuan","sidebarTitle":"Ambil Timeline Jaringan","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/timeline/","href":"/id/management-api/networks/timeline"},{"title":"API Peta Jaringan Penipuan","sidebarTitle":"Ambil Peta Jaringan","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/map/","href":"/id/management-api/networks/map"},{"title":"API Pencarian Keanggotaan Jaringan","sidebarTitle":"Keanggotaan Jaringan","href":"/id/management-api/networks/membership-lookup"}]},{"group":"Templat Laporan","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/task-square.svg","pages":[{"title":"API Daftar Templat Laporan","sidebarTitle":"Daftar Templat Laporan","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/report-templates/","href":"/id/management-api/report-templates/list"},{"title":"API Buat Templat Laporan goAML","sidebarTitle":"Buat Templat Laporan","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/report-templates/","href":"/id/management-api/report-templates/create"}]},{"group":"Laporan Regulasi","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/search-file.svg","pages":[{"title":"Buat Laporan FIU dari Kasus lewat API","sidebarTitle":"Buat Laporan dari Kasus","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/regulatory-reports/","href":"/id/management-api/regulatory-reports/create-for-case"},{"title":"API Daftar Laporan FIU","sidebarTitle":"Daftar Laporan","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/","href":"/id/management-api/regulatory-reports/list"},{"title":"Validasi Laporan FIU API","sidebarTitle":"Validasi Laporan","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/validate/","href":"/id/management-api/regulatory-reports/validate"},{"title":"API Finalisasi Laporan FIU","sidebarTitle":"Finalisasi Laporan","openapi":"id/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/finalize/","href":"/id/management-api/regulatory-reports/finalize"},{"title":"Hapus Laporan FIU API","sidebarTitle":"Hapus Laporan","openapi":"id/openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/","href":"/id/management-api/regulatory-reports/delete"},{"title":"URL Unduhan Laporan FIU lewat API","sidebarTitle":"Unduh URL Laporan","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/download-url/","href":"/id/management-api/regulatory-reports/download-url"}]},{"group":"Transaksi","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"API Daftar Transaksi: Pemantauan KYT","sidebarTitle":"Daftar Transaksi","openapi":"id/openapi-25.json GET /v3/transactions/","href":"/id/management-api/transactions/list"},{"title":"API Buat Transaksi: Pengiriman KYT","sidebarTitle":"Buat Transaksi","openapi":"id/openapi-25.json POST /v3/transactions/","href":"/id/management-api/transactions/create"},{"title":"API Hapus Transaksi Batch","sidebarTitle":"Hapus Transaksi Batch","openapi":"id/openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/transactions/delete/","href":"/id/management-api/transactions/delete"},{"title":"Get Transaction API: Detail Transaksi KYT","sidebarTitle":"Get Transaction","openapi":"id/openapi-25.json GET /v3/transactions/{transaction_id}/","href":"/id/management-api/transactions/get"},{"title":"Daftar Catatan Transaksi API","sidebarTitle":"Daftar Catatan Transaksi","openapi":"id/openapi-25.json GET /v3/transactions/{transaction_id}/notes/","href":"/id/management-api/transactions/list-notes"},{"title":"API Catatan Transaksi Pemantauan Transaksi","sidebarTitle":"Buat Catatan Transaksi","openapi":"id/openapi-25.json POST /v3/transactions/{transaction_id}/notes/","href":"/id/management-api/transactions/create-note"},{"title":"API Daftar Transaksi Terkait","sidebarTitle":"Transaksi Terkait","openapi":"id/openapi-25.json GET /v3/transactions/{transaction_id}/related/","href":"/id/management-api/transactions/list-related"},{"title":"API Laporan PDF Transaksi","sidebarTitle":"Buat Laporan PDF Transaksi","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/","href":"/id/management-api/transactions/generate-pdf"},{"title":"Skrining Dompet API: AML Kripto Sesuai Permintaan","sidebarTitle":"Skrining Dompet","openapi":"id/openapi-25.json POST /v3/wallet-screening/","href":"/id/management-api/transactions/screen-wallet"},{"title":"Laporan PDF Skrining Dompet API","sidebarTitle":"Skrining Dompet PDF","openapi":"id/openapi-25.json POST /v3/wallet-screening/pdf/","href":"/id/management-api/transactions/screen-wallet-pdf"},{"title":"Terbitkan Token Transaksi SDK: API Pemantauan Transaksi","sidebarTitle":"Terbitkan Token Transaksi SDK","openapi":"id/openapi-25.json POST /v3/transactions/sdk-token/","href":"/id/management-api/transactions/sdk-token"},{"title":"Kirim Transaksi via SDK: KYT Sisi Klien","sidebarTitle":"Kirim Transaksi (Token SDK)","openapi":"id/openapi-25.json POST /v1/transactions/","href":"/id/management-api/transactions/submit-sdk"},{"title":"Ambil Transaksi dari SDK: KYT Sisi Klien","sidebarTitle":"Ambil Transaksi (Token SDK)","openapi":"id/openapi-25.json GET /v1/transactions/{transaction_id}/","href":"/id/management-api/transactions/get-sdk"},{"title":"API Daftar Aturan Pemantauan Transaksi","sidebarTitle":"Daftar Aturan","openapi":"id/openapi-25.json GET /v3/transactions/rules/","href":"/id/management-api/transactions/rules-list"},{"title":"API Buat Aturan Pemantauan Transaksi - Aturan KYT","sidebarTitle":"Buat Aturan","openapi":"id/openapi-25.json POST /v3/transactions/rules/","href":"/id/management-api/transactions/rules-create"},{"title":"API Aturan Pemantauan Transaksi: Ambil Detail Aturan","sidebarTitle":"Ambil Aturan","openapi":"id/openapi-25.json GET /v3/transactions/rules/{rule_uuid}/","href":"/id/management-api/transactions/rules-get"},{"title":"Perbarui Aturan Pemantauan Transaksi API","sidebarTitle":"Perbarui Aturan","openapi":"id/openapi-25.json PATCH /v3/transactions/rules/{rule_uuid}/","href":"/id/management-api/transactions/rules-update"},{"title":"Hapus Aturan Pemantauan Transaksi API","sidebarTitle":"Hapus Aturan","openapi":"id/openapi-25.json DELETE /v3/transactions/rules/{rule_uuid}/","href":"/id/management-api/transactions/rules-delete"},{"title":"Backtest Aturan Pemantauan Transaksi API","sidebarTitle":"Backtest Aturan","openapi":"id/openapi-25.json POST /v3/transactions/rules/backtest/","href":"/id/management-api/transactions/rules-backtest"},{"title":"API Pustaka Aturan Pemantauan Transaksi - 150+ Preset","sidebarTitle":"Daftar Pustaka Aturan","openapi":"id/openapi-25.json GET /v3/transactions/rules/library/","href":"/id/management-api/transactions/rules-library"},{"title":"API Instalasi Aturan Pemantauan Transaksi Preset","sidebarTitle":"Instal Aturan Bawaan","openapi":"id/openapi-25.json POST /v3/transactions/rules/install/","href":"/id/management-api/transactions/rules-install"},{"title":"API Hapus Aturan Preset Pemantauan Transaksi","sidebarTitle":"Hapus Aturan Pustaka","openapi":"id/openapi-25.json DELETE /v3/transactions/rules/install/","href":"/id/management-api/transactions/rules-uninstall"}]},{"group":"Event Pemantauan","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"Daftar Event Pemantauan API","sidebarTitle":"Daftar Event Pemantauan","openapi":"id/openapi-25.json GET /v3/events/","href":"/id/management-api/monitoring-events/list"},{"title":"Buat Event Pemantauan API","sidebarTitle":"Buat Event Pemantauan","openapi":"id/openapi-25.json POST /v3/events/","href":"/id/management-api/monitoring-events/create"},{"title":"API Batch Event Pemantauan","sidebarTitle":"Buat Event Pemantauan Massal","openapi":"id/openapi-25.json POST /v3/events/batch/","href":"/id/management-api/monitoring-events/create-batch"},{"title":"Terbitkan Token SDK Pemantauan API","sidebarTitle":"Terbitkan Token SDK Pemantauan","openapi":"id/openapi-25.json POST /v3/events/sdk-token/","href":"/id/management-api/monitoring-events/sdk-token"},{"title":"Dapatkan Event Pemantauan API","sidebarTitle":"Dapatkan Event Pemantauan","openapi":"id/openapi-25.json GET /v3/events/{event_uuid}/","href":"/id/management-api/monitoring-events/get"},{"title":"Timeline Event Pemantauan API","sidebarTitle":"Ambil Timeline Event","openapi":"id/openapi-25.json GET /v3/events/subjects/{vendor_data}/","href":"/id/management-api/monitoring-events/subject-timeline"},{"title":"API Metrik Pengayaan Event","sidebarTitle":"Ambil Metrik Pengayaan Event","openapi":"id/openapi-25.json GET /v3/events/enrichment-metrics/","href":"/id/management-api/monitoring-events/enrichment-metrics"},{"title":"Hapus Event Pemantauan via API","sidebarTitle":"Hapus Event Pemantauan","openapi":"id/openapi-25.json DELETE /v3/events/{event_uuid}/delete/","href":"/id/management-api/monitoring-events/delete"}]},{"group":"Travel Rule","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"Get Travel Rule Settings API: Profil VASP","sidebarTitle":"Get Travel Rule Settings","openapi":"id/openapi-25.json GET /v3/travel-rule/settings/","href":"/id/management-api/travel-rule/get-settings"},{"title":"API Pengaturan Travel Rule: Aktifkan \u0026 Konfigurasi","sidebarTitle":"Perbarui Pengaturan Travel Rule","openapi":"id/openapi-25.json PUT /v3/travel-rule/settings/","href":"/id/management-api/travel-rule/update-settings"},{"title":"API Jaringan Travel Rule: Ambil Daftar Jaringan","sidebarTitle":"Jaringan Travel Rule","openapi":"id/openapi-25.json GET /v3/travel-rule/networks/","href":"/id/management-api/travel-rule/get-networks"},{"title":"API Kuesioner Jaringan Travel Rule","sidebarTitle":"Ambil Kuesioner Jaringan","openapi":"id/openapi-25.json GET /v3/travel-rule/networks/questionnaire/","href":"/id/management-api/travel-rule/get-network-questionnaire"},{"title":"API Simpan Jawaban Kuesioner Jaringan Travel Rule","sidebarTitle":"Simpan Jawaban Kuesioner","openapi":"id/openapi-25.json PUT /v3/travel-rule/networks/questionnaire/","href":"/id/management-api/travel-rule/update-network-questionnaire"},{"title":"API Kirim Kuesioner Jaringan Travel Rule","sidebarTitle":"Kirim Kuesioner Jaringan","openapi":"id/openapi-25.json POST /v3/travel-rule/networks/questionnaire/submit/","href":"/id/management-api/travel-rule/submit-network-questionnaire"},{"title":"Permintaan Akses Jaringan Travel Rule API","sidebarTitle":"Minta Jaringan Travel Rule","openapi":"id/openapi-25.json POST /v3/travel-rule/networks/{network}/request/","href":"/id/management-api/travel-rule/request-network"},{"title":"Konfirmasi Email Kepatuhan Travel Rule API","sidebarTitle":"Kirim Konfirmasi Email Kepatuhan","openapi":"id/openapi-25.json POST /v3/travel-rule/settings/compliance-email/confirmation/","href":"/id/management-api/travel-rule/send-compliance-email-confirmation"},{"title":"API Daftar Transfer Travel Rule","sidebarTitle":"Daftar Transfer Travel Rule","openapi":"id/openapi-25.json GET /v3/travel-rule/transfers/","href":"/id/management-api/travel-rule/list-transfers"},{"title":"Daftar Deposit Travel Rule yang Belum Dicocokkan API","sidebarTitle":"Daftar Deposit Belum Cocok","openapi":"id/openapi-25.json GET /v3/travel-rule/unmatched/","href":"/id/management-api/travel-rule/list-unmatched-deposits"},{"title":"Pencocokkan Deposit Travel Rule API: Pasangkan Pesan","sidebarTitle":"Cocokkan Deposit Tanpa Pasangan","openapi":"id/openapi-25.json POST /v3/travel-rule/unmatched/{transaction_uuid}/match/","href":"/id/management-api/travel-rule/match-unmatched-deposit"},{"title":"Travel Rule Transfer: Selesaikan, Kirim Ulang, Perbarui","sidebarTitle":"Selesaikan, Batalkan, Kirim Ulang, atau Perbarui Transfer","openapi":"id/openapi-25.json PATCH /v3/transactions/{transaction_id}/travel-rule/","href":"/id/management-api/travel-rule/update-transfer"},{"title":"Konfirmasi Kepemilikan Dompet API: Penerima Travel Rule","sidebarTitle":"Konfirmasi atau Tolak Kepemilikan Dompet","openapi":"id/openapi-25.json POST /v3/transactions/{transaction_id}/travel-rule/ownership/","href":"/id/management-api/travel-rule/confirm-ownership"},{"title":"API Daftar Pesan Travel Rule","sidebarTitle":"Daftar Pesan Travel Rule","openapi":"id/openapi-25.json GET /v3/transactions/{transaction_id}/travel-rule/messages/","href":"/id/management-api/travel-rule/list-messages"},{"title":"API Kirim Pesan Travel Rule","sidebarTitle":"Kirim Pesan Travel Rule","openapi":"id/openapi-25.json POST /v3/transactions/{transaction_id}/travel-rule/messages/","href":"/id/management-api/travel-rule/create-message"},{"title":"API Registrasi Transfer Masuk Sunrise: Travel Rule","sidebarTitle":"Registrasi Transfer Masuk (Sunrise)","openapi":"id/openapi-25.json POST /v3/travel-rule/inbound/","href":"/id/management-api/travel-rule/register-inbound"},{"title":"Pemicu Uji Transfer Masuk VASP Travel Rule API","sidebarTitle":"Pemicu Uji Transfer Masuk","openapi":"id/openapi-25.json POST /v3/travel-rule/test-vasp/inbound/","href":"/id/management-api/travel-rule/trigger-test-vasp-inbound"},{"title":"API Pencarian Direktori VASP: Rute Travel Rule","sidebarTitle":"Cari Direktori VASP","openapi":"id/openapi-25.json GET /v3/travel-rule/vasps/","href":"/id/management-api/travel-rule/search-vasps"},{"title":"Ambil Entri Direktori VASP API: Rute Travel Rule","sidebarTitle":"Ambil Entri Direktori VASP","openapi":"id/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/","href":"/id/management-api/travel-rule/get-vasp"},{"title":"Ambil Keputusan VASP Pihak Lawan: API Travel Rule","sidebarTitle":"Keputusan Anda atas VASP","openapi":"id/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/decision/","href":"/id/management-api/travel-rule/get-vasp-decision"},{"title":"Atur Keputusan VASP Pihak Lawan via API: Travel Rule","sidebarTitle":"Atur Keputusan VASP","openapi":"id/openapi-25.json PUT /v3/travel-rule/vasps/{vasp_id}/decision/","href":"/id/management-api/travel-rule/set-vasp-decision"},{"title":"Hapus Keputusan VASP Pihak Lawan: API Travel Rule","sidebarTitle":"Hapus Keputusan VASP","openapi":"id/openapi-25.json DELETE /v3/travel-rule/vasps/{vasp_id}/decision/","href":"/id/management-api/travel-rule/clear-vasp-decision"},{"title":"Skrining VASP Pihak Lawan: API Travel Rule","sidebarTitle":"Skrining Entitas VASP","openapi":"id/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/screening/","href":"/id/management-api/travel-rule/get-vasp-screening"},{"title":"Screening VASP Lawan API: Cek Sanksi Travel Rule","sidebarTitle":"Screening VASP Lawan","openapi":"id/openapi-25.json POST /v3/travel-rule/vasps/{vasp_id}/screening/","href":"/id/management-api/travel-rule/screen-vasp"},{"title":"API Daftar Kuesioner Uji Tuntas VASP","sidebarTitle":"Daftar Kuesioner Uji Tuntas VASP","openapi":"id/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/questionnaires/","href":"/id/management-api/travel-rule/list-vasp-questionnaires"},{"title":"Kirim Kuesioner Uji Tuntas VASP lewat API","sidebarTitle":"Kirim Kuesioner Uji Tuntas ke VASP","openapi":"id/openapi-25.json POST /v3/travel-rule/vasps/{vasp_id}/questionnaires/","href":"/id/management-api/travel-rule/send-vasp-questionnaire"},{"title":"API Daftar Kontak Counterparty Travel Rule","sidebarTitle":"Daftar Kontak Counterparty","openapi":"id/openapi-25.json GET /v3/travel-rule/counterparty-contacts/","href":"/id/management-api/travel-rule/list-counterparty-contacts"},{"title":"Tambah Kontak Pihak Lawan API - Jalur Email Travel Rule","sidebarTitle":"Tambah Kontak Pihak Lawan","openapi":"id/openapi-25.json POST /v3/travel-rule/counterparty-contacts/","href":"/id/management-api/travel-rule/create-counterparty-contact"},{"title":"Hapus Kontak Pihak Lawan API - Travel Rule","sidebarTitle":"Hapus Kontak Pihak Lawan","openapi":"id/openapi-25.json DELETE /v3/travel-rule/counterparty-contacts/{contact_uuid}/","href":"/id/management-api/travel-rule/delete-counterparty-contact"},{"title":"Daftar Alamat Dompet API: Buku Alamat Travel Rule","sidebarTitle":"Daftar Alamat Dompet","openapi":"id/openapi-25.json GET /v3/travel-rule/wallet-addresses/","href":"/id/management-api/travel-rule/list-wallet-addresses"},{"title":"Daftarkan Alamat Dompet API: Buku Alamat Travel Rule","sidebarTitle":"Daftarkan Alamat Dompet","openapi":"id/openapi-25.json POST /v3/travel-rule/wallet-addresses/","href":"/id/management-api/travel-rule/create-wallet-address"},{"title":"Impor Alamat Dompet API: Buku Alamat Travel Rule","sidebarTitle":"Impor Alamat Dompet","openapi":"id/openapi-25.json POST /v3/travel-rule/wallet-addresses/import/","href":"/id/management-api/travel-rule/import-wallet-addresses"},{"title":"Perbarui Alamat API: Buku Alamat Travel Rule","sidebarTitle":"Perbarui Alamat","openapi":"id/openapi-25.json PATCH /v3/travel-rule/wallet-addresses/{entry_uuid}/","href":"/id/management-api/travel-rule/update-wallet-address"},{"title":"API Hapus Alamat Dompet: Buku Alamat Travel Rule","sidebarTitle":"Hapus Alamat Dompet","openapi":"id/openapi-25.json DELETE /v3/travel-rule/wallet-addresses/{entry_uuid}/","href":"/id/management-api/travel-rule/delete-wallet-address"},{"title":"Daftar Bukti Screenshot Dompet API - Tinjauan Travel Rule","sidebarTitle":"Daftar Bukti Dompet untuk Ditinjau","openapi":"id/openapi-25.json GET /v3/travel-rule/wallet-proofs/","href":"/id/management-api/travel-rule/list-wallet-proofs"},{"title":"API Setujui atau Tolak Bukti Dompet Tangkapan Layar","sidebarTitle":"Putuskan Bukti Dompet","openapi":"id/openapi-25.json POST /v3/travel-rule/wallet-proofs/{proof_uuid}/decision/","href":"/id/management-api/travel-rule/decide-wallet-proof"},{"title":"Kepemilikan Dompet API: Buat Sesi Widget Bukti Kendali","sidebarTitle":"Buat Sesi Widget Dompet","openapi":"id/openapi-25.json POST /v3/travel-rule/widget-session/","href":"/id/management-api/travel-rule/create-widget-session"},{"title":"API Konteks Widget Kepemilikan Dompet","sidebarTitle":"Konteks Widget","openapi":"id/openapi-25.json GET /v3/travel-rule/widget/{token}/","href":"/id/management-api/travel-rule/get-widget-context"},{"title":"Mulai Bukti Kepemilikan Dompet API - Travel Rule Widget","sidebarTitle":"Mulai Bukti Widget","openapi":"id/openapi-25.json POST /v3/travel-rule/widget/{token}/proofs/","href":"/id/management-api/travel-rule/create-widget-proof"},{"title":"API Kirim Bukti Kepemilikan Dompet - Travel Rule","sidebarTitle":"Kirim Bukti Widget","openapi":"id/openapi-25.json POST /v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/","href":"/id/management-api/travel-rule/verify-widget-proof"},{"title":"API Pilih VASP Pihak Lawan untuk Widget Travel Rule","sidebarTitle":"Pilih VASP Pihak Lawan di Widget","openapi":"id/openapi-25.json POST /v3/travel-rule/widget/{token}/vasps/","href":"/id/management-api/travel-rule/select-widget-vasp"},{"title":"API Pemilih VASP Widget: Pencarian Direktori Travel Rule","sidebarTitle":"Cari VASP dari Widget Dompet","openapi":"id/openapi-25.json GET /v3/travel-rule/widget/{token}/vasps/","href":"/id/management-api/travel-rule/search-widget-vasps"},{"title":"Info Pickup Email Travel Rule via API","sidebarTitle":"Info Pickup Email","openapi":"id/openapi-25.json GET /v3/travel-rule/pickup/{token}/","href":"/id/management-api/travel-rule/get-pickup"},{"title":"API Respons Travel Rule Email Pickup","sidebarTitle":"Respons Email Pickup","openapi":"id/openapi-25.json POST /v3/travel-rule/pickup/{token}/respond/","href":"/id/management-api/travel-rule/respond-pickup"},{"title":"Daftar Pesan Pickup Travel Rule - API Jalur Email","sidebarTitle":"Daftar Pesan Pickup","openapi":"id/openapi-25.json GET /v3/travel-rule/pickup/{token}/messages/","href":"/id/management-api/travel-rule/list-pickup-messages"},{"title":"Balasan Travel Rule Pickup Portal API - Jalur Email","sidebarTitle":"Balas di Pickup Portal","openapi":"id/openapi-25.json POST /v3/travel-rule/pickup/{token}/messages/","href":"/id/management-api/travel-rule/create-pickup-message"},{"title":"Ambil Undangan Bergabung Travel Rule - API Didit","sidebarTitle":"Ambil Undangan Bergabung","openapi":"id/openapi-25.json GET /v3/travel-rule/join/{token}/","href":"/id/management-api/travel-rule/get-join-invitation"},{"title":"Daftar Akun Travel Rule Gratis API","sidebarTitle":"Daftar Akun Travel Rule Gratis","openapi":"id/openapi-25.json POST /v3/travel-rule/join/{token}/","href":"/id/management-api/travel-rule/register-join"},{"title":"Verifikasi Akun Travel Rule Gratis API","sidebarTitle":"Verifikasi Akun Travel Rule Gratis","openapi":"id/openapi-25.json POST /v3/travel-rule/join/{token}/verify/","href":"/id/management-api/travel-rule/verify-join"},{"title":"API Workspace Gratis Travel Rule - Bergabung Gratis","sidebarTitle":"Workspace Gratis","openapi":"id/openapi-25.json GET /v3/travel-rule/workspace/","href":"/id/management-api/travel-rule/get-workspace"},{"title":"Klaim Entri Direktori API Travel Rule Gratis","sidebarTitle":"Klaim Entri Direktori","openapi":"id/openapi-25.json POST /v3/travel-rule/workspace/claim/","href":"/id/management-api/travel-rule/claim-workspace"},{"title":"Kirim Kode Domain API - Travel Rule Gratis","sidebarTitle":"Kirim Kode Domain","openapi":"id/openapi-25.json POST /v3/travel-rule/workspace/domain/code/","href":"/id/management-api/travel-rule/send-workspace-domain-code"},{"title":"Konfirmasi Kode Domain API - Travel Rule Gratis","sidebarTitle":"Konfirmasi Kode Domain","openapi":"id/openapi-25.json POST /v3/travel-rule/workspace/domain/confirm/","href":"/id/management-api/travel-rule/confirm-workspace-domain"},{"title":"Verifikasi Domain DNS API - Travel Rule Gratis","sidebarTitle":"Verifikasi Domain DNS","openapi":"id/openapi-25.json POST /v3/travel-rule/workspace/domain/dns/","href":"/id/management-api/travel-rule/verify-workspace-domain-dns"},{"title":"Aktifkan Penagihan Outbound Travel Rule - Gabung Akun Gratis","sidebarTitle":"Aktifkan Penagihan Outbound","openapi":"id/openapi-25.json POST /v3/travel-rule/workspace/billing/","href":"/id/management-api/travel-rule/enable-workspace-billing"}]},{"group":"Operasi Sesi","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/play.svg","pages":[{"title":"API Hapus Sesi Massal: Pembersihan Sesi KYC","sidebarTitle":"Hapus Sesi Massal","openapi":"id/openapi-25.json POST /v3/sessions/delete/","href":"/id/management-api/sessions/batch-delete"},{"title":"Get Job Penghapusan Sesi API","sidebarTitle":"Get Job Penghapusan Sesi","openapi":"id/openapi-25.json GET /v3/sessions/delete/{job_id}/","href":"/id/management-api/sessions/get-deletion-job"},{"title":"Daftar Tinjauan Sesi API: Log Audit KYC","sidebarTitle":"Daftar Tinjauan Sesi","openapi":"id/openapi-25.json GET /v3/sessions/{session_id}/reviews/","href":"/id/management-api/sessions/list-reviews"},{"title":"API Tinjauan Sesi: Peninjauan Manual KYC","sidebarTitle":"Buat Tinjauan Sesi","openapi":"id/openapi-25.json POST /v3/sessions/{session_id}/reviews/","href":"/id/management-api/sessions/create-review"},{"title":"API Daftar Event Sesi Verifikasi","sidebarTitle":"Daftar Event Sesi","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/events/","href":"/id/management-api/sessions/list-events"},{"title":"Daftar Pengiriman Webhook Sesi API","sidebarTitle":"Daftar Pengiriman Webhook Sesi","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/webhooks/","href":"/id/management-api/sessions/list-webhooks"},{"title":"Ambil Pengiriman Webhook Sesi API Didit","sidebarTitle":"Ambil Pengiriman Webhook Sesi","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/webhook/{webhook_uuid}","href":"/id/management-api/sessions/get-webhook"},{"title":"Kirim Ulang Webhook Sesi API","sidebarTitle":"Kirim Ulang Webhook Sesi","openapi":"id/openapi-25.json POST /v3/session/{sessionId}/webhook/{webhook_uuid}/resend","href":"/id/management-api/sessions/resend-webhook"},{"title":"Riwayat Skrining AML API Didit","sidebarTitle":"Riwayat Skrining AML","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/aml-screening-history/","href":"/id/management-api/sessions/aml-screening-history"},{"title":"Ekspor Riwayat Skrining AML sebagai CSV API","sidebarTitle":"Ekspor Riwayat Skrining AML","openapi":"id/openapi-25.json GET /v3/session/{sessionId}/aml-screening-history/export/","href":"/id/management-api/sessions/export-aml-screening-history"}]},{"group":"Kustomisasi","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sliders.svg","pages":[{"title":"API Ambil Branding White Label","sidebarTitle":"Ambil Branding","openapi":"id/openapi-25.json GET /v3/customization/","href":"/id/management-api/customization/get"},{"title":"API Update Branding White Label","sidebarTitle":"Update Branding","openapi":"id/openapi-25.json PATCH /v3/customization/","href":"/id/management-api/customization/update"}]},{"group":"Webhook","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/link.svg","pages":[{"title":"Daftar Tujuan Webhook API Didit","sidebarTitle":"Daftar Tujuan Webhook","openapi":"id/openapi-25.json GET /v3/webhook/destinations/","href":"/id/management-api/webhook/list-destinations"},{"title":"Buat Destinasi Webhook API","sidebarTitle":"Buat Destinasi Webhook","openapi":"id/openapi-25.json POST /v3/webhook/destinations/","href":"/id/management-api/webhook/create-destination"},{"title":"Ambil Detail Tujuan Webhook: Management API","sidebarTitle":"Ambil Tujuan Webhook","openapi":"id/openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/","href":"/id/management-api/webhook/get-destination"},{"title":"Perbarui Tujuan Webhook API","sidebarTitle":"Perbarui Tujuan Webhook","openapi":"id/openapi-25.json PATCH /v3/webhook/destinations/{destination_uuid}/","href":"/id/management-api/webhook/update-destination"},{"title":"API Hapus Tujuan Webhook","sidebarTitle":"Hapus Tujuan Webhook","openapi":"id/openapi-25.json DELETE /v3/webhook/destinations/{destination_uuid}/","href":"/id/management-api/webhook/delete-destination"},{"title":"Ambil Konfigurasi Webhook API","sidebarTitle":"Ambil Konfigurasi Webhook","openapi":"id/openapi-25.json GET /v3/webhook/","href":"/id/management-api/webhook/get-config"},{"title":"API Update Konfigurasi Webhook","sidebarTitle":"Update Konfigurasi Webhook","openapi":"id/openapi-25.json PATCH /v3/webhook/","href":"/id/management-api/webhook/update-config"},{"title":"API Analitik Tujuan Webhook Didit","sidebarTitle":"Analitik Tujuan Webhook","openapi":"id/openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/analytics/","href":"/id/management-api/webhook/destination-analytics"},{"title":"Daftar Pengiriman Webhook API","sidebarTitle":"Daftar Pengiriman Webhook","openapi":"id/openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/deliveries/","href":"/id/management-api/webhook/list-deliveries"},{"title":"Detail Pengiriman Webhook via API Didit","sidebarTitle":"Detail Pengiriman Webhook","openapi":"id/openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/deliveries/{delivery_uuid}/","href":"/id/management-api/webhook/get-delivery"},{"title":"Kirim Ulang Pengiriman Webhook API","sidebarTitle":"Kirim Ulang Pengiriman Webhook","openapi":"id/openapi-25.json POST /v3/webhook/destinations/{destination_uuid}/deliveries/{delivery_uuid}/resend/","href":"/id/management-api/webhook/resend-delivery"}]},{"group":"Penagihan","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/billing.svg","pages":[{"title":"API Saldo Kredit: Ambil Saldo Billing Didit","sidebarTitle":"Ambil Saldo Kredit","openapi":"id/openapi-25.json GET /v3/billing/balance/","href":"/id/management-api/billing/balance"},{"title":"API Isi Saldo Kredit Didit","sidebarTitle":"Isi Saldo Kredit","openapi":"id/openapi-25.json POST /v3/billing/top-up/","href":"/id/management-api/billing/top-up"}]},{"group":"Analitik","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/overview.svg","pages":[{"title":"API Analitik Aplikasi Didit: Analitik Verifikasi","sidebarTitle":"Dapatkan Analitik Aplikasi","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/analytics/","href":"/id/management-api/analytics/get"},{"title":"API Verifikasi Pengguna Hari Ini per Jam","sidebarTitle":"Verifikasi Hari Ini per Jam","openapi":"id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/analytics/today/","href":"/id/management-api/analytics/today-by-hour"}]},{"group":"Ikhtisar Management API","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/info.svg","pages":[{"title":"API Manajemen Verifikasi v3: Alur Kerja \u0026 Penagihan","sidebarTitle":"API Manajemen","href":"/id/sessions-api/management-api"}]},{"group":"Auth API (Terprogram)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/key.svg","pages":[{"title":"Registrasi Programatik lewat Auth API","sidebarTitle":"Daftar Akun","openapi":"id/openapi-auth.json POST /programmatic/register/","href":"/id/auth-api/register"},{"title":"API Verifikasi Email: Dapatkan Kredensial API Didit","sidebarTitle":"Verifikasi Email","openapi":"id/openapi-auth.json POST /programmatic/verify-email/","href":"/id/auth-api/verify-email"},{"title":"API Login Programmatik: Token Autentikasi Headless","sidebarTitle":"Login","openapi":"id/openapi-auth.json POST /programmatic/login/","href":"/id/auth-api/login"},{"title":"API Credentials Didit: Ambil client_id \u0026 api_key","sidebarTitle":"Ambil Kredensial","openapi":"id/openapi-auth.json GET /organizations/me/{org_id}/applications/{app_id}/","href":"/id/auth-api/get-credentials"},{"title":"API Membuat Aplikasi: Buat Aplikasi Secara Programatik","sidebarTitle":"Buat Aplikasi","openapi":"id/openapi-auth.json POST /organizations/me/{org_id}/applications/","href":"/id/auth-api/create-application"},{"title":"API Perbarui Aplikasi: Kelola Aplikasi Pelanggan","sidebarTitle":"Perbarui Aplikasi","openapi":"id/openapi-auth.json PATCH /organizations/me/{org_id}/applications/{app_id}/","href":"/id/auth-api/update-application"}]},{"group":"Identitas \u0026 Dokumen","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/id-scan.svg","pages":[{"title":"Verifikasi Identitas API: OCR Dokumen \u0026 Keaslian","sidebarTitle":"Verifikasi Identitas API","openapi":"id/openapi-25.json POST /v3/id-verification/","href":"/id/standalone-apis/id-verification"},{"title":"API Bukti Alamat: Verifikasi POA \u0026 OCR","sidebarTitle":"API Bukti Alamat","openapi":"id/openapi-25.json POST /v3/poa/","href":"/id/standalone-apis/proof-of-address"},{"title":"API Validasi Alamat: Verifikasi dan Normalisasi Alamat","sidebarTitle":"Validasi Alamat","openapi":"id/openapi-25.json POST /v3/address-validation/","href":"/id/standalone-apis/address-validation"}]},{"group":"Dompet ID Digital","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/id-scan.svg","pages":[{"title":"Verifikasi Dompet ID Digital via API","sidebarTitle":"API dompet ID digital","href":"/id/standalone-apis/digital-id-wallets"},{"title":"Katalog API Dompet Identitas Digital","sidebarTitle":"Daftar dompet ID digital","openapi":"id/openapi-25.json GET /v3/id-verification/wallets/","href":"/id/standalone-apis/digital-id-wallet-catalog"},{"group":"Mulai verifikasi","pages":[{"title":"API Verifikasi BankID Swedia","sidebarTitle":"BankID Swedia","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/bankid-se/","href":"/id/api-reference/digital-id-wallets/bankid-se"},{"title":"API Verifikasi Finnish Trust Network","sidebarTitle":"Finnish Trust Network","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/ftn/","href":"/id/api-reference/digital-id-wallets/ftn"},{"title":"API Verifikasi Identitas Google Wallet","sidebarTitle":"Google Wallet ID","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/google-wallet/","href":"/id/api-reference/digital-id-wallets/google-wallet"},{"title":"API Verifikasi Identitas MitID Personal","sidebarTitle":"MitID Personal","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/mitid/","href":"/id/api-reference/digital-id-wallets/mitid"},{"title":"API Verifikasi Mobile-ID","sidebarTitle":"Mobile-ID","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/mobile-id/","href":"/id/api-reference/digital-id-wallets/mobile-id"},{"title":"API Verifikasi Identitas Smart-ID","sidebarTitle":"Smart-ID","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/smart-id/","href":"/id/api-reference/digital-id-wallets/smart-id"},{"title":"API Verifikasi Identitas iDIN Lengkap","sidebarTitle":"iDIN Identifikasi Lengkap","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/idin/","href":"/id/api-reference/digital-id-wallets/idin"},{"title":"API Verifikasi Auðkenni","sidebarTitle":"Auðkenni","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/audkenni/","href":"/id/api-reference/digital-id-wallets/audkenni"},{"title":"API Verifikasi Bank iD","sidebarTitle":"Bank iD","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/bankid-cz/","href":"/id/api-reference/digital-id-wallets/bankid-cz"},{"title":"API Verifikasi Identitas BankID Norway","sidebarTitle":"BankID Norway","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/bankid-no/","href":"/id/api-reference/digital-id-wallets/bankid-no"},{"title":"API Verifikasi Identitas Buypass ID","sidebarTitle":"Buypass ID","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/buypass/","href":"/id/api-reference/digital-id-wallets/buypass"},{"title":"API Verifikasi Identitas ConnectID","sidebarTitle":"ConnectID","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/connectid/","href":"/id/api-reference/digital-id-wallets/connectid"},{"title":"API Verifikasi Diia","sidebarTitle":"Diia","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/diia/","href":"/id/api-reference/digital-id-wallets/diia"},{"title":"API Verifikasi Dompet EUDI","sidebarTitle":"Dompet EUDI","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/eudi/","href":"/id/api-reference/digital-id-wallets/eudi"},{"title":"API Verifikasi Identitas Kartu ID Estonia","sidebarTitle":"Kartu ID Estonia","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/idcard-ee/","href":"/id/api-reference/digital-id-wallets/idcard-ee"},{"title":"API Verifikasi FranceConnect","sidebarTitle":"FranceConnect","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/franceconnect/","href":"/id/api-reference/digital-id-wallets/franceconnect"},{"title":"API Verifikasi Freja eID","sidebarTitle":"Freja eID","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/frejaid/","href":"/id/api-reference/digital-id-wallets/frejaid"},{"title":"API Verifikasi Identitas GOV.UK Wallet","sidebarTitle":"GOV.UK Wallet","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/govuk-wallet/","href":"/id/api-reference/digital-id-wallets/govuk-wallet"},{"title":"API Verifikasi Identitas MojeID","sidebarTitle":"MojeID","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/mojeid/","href":"/id/api-reference/digital-id-wallets/mojeid"},{"title":"API Verifikasi Identitas OneID","sidebarTitle":"OneID","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/oneid/","href":"/id/api-reference/digital-id-wallets/oneid"},{"title":"API Verifikasi Personalausweis Profile 2","sidebarTitle":"Personalausweis Profile 2","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/personalausweis/","href":"/id/api-reference/digital-id-wallets/personalausweis"},{"title":"API Verifikasi UAE PASS","sidebarTitle":"UAE PASS","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/uae-pass/","href":"/id/api-reference/digital-id-wallets/uae-pass"},{"title":"API Verifikasi Identitas Vipps Plus","sidebarTitle":"Vipps Plus","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/vipps/","href":"/id/api-reference/digital-id-wallets/vipps"},{"title":"Verifikasi Identitas eParaksts mobile API","sidebarTitle":"eParaksts mobile","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/eparaksts-mobile/","href":"/id/api-reference/digital-id-wallets/eparaksts-mobile"},{"title":"API Verifikasi Identitas gov.br","sidebarTitle":"gov.br","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/govbr/","href":"/id/api-reference/digital-id-wallets/govbr"},{"title":"API Verifikasi Identitas itsme","sidebarTitle":"itsme","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/itsme/","href":"/id/api-reference/digital-id-wallets/itsme"}]},{"title":"Hasil Verifikasi Dompet ID Digital","sidebarTitle":"Hasil verifikasi dompet","openapi":"id/openapi-25.json GET /v3/id-verification/wallets/verifications/{request_id}/","href":"/id/standalone-apis/digital-id-wallet-result"},{"title":"Kirim Respons Dompet Kredensial Digital","sidebarTitle":"Kirim respons dompet","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/response/","href":"/id/standalone-apis/digital-id-wallet-response"},{"title":"Polling Autentikasi Smart-ID dan Mobile-ID","sidebarTitle":"Polling verifikasi dompet","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/poll/","href":"/id/standalone-apis/digital-id-wallet-poll"},{"title":"Batalkan Verifikasi Dompet Identitas Digital","sidebarTitle":"Batalkan verifikasi dompet","description":"Batalkan verifikasi dompet ID digital standalone yang masih menunggu di Didit. Halaman ini menjelaskan cara membatalkannya.","openapi":"id/openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/cancel/","href":"/id/standalone-apis/digital-id-wallet-cancel"}]},{"group":"AI Dokumen","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/document-ai.svg","pages":[{"title":"Ekstraksi Data Dokumen Kustom dengan API Document AI","sidebarTitle":"API Document AI","openapi":"id/openapi-25.json POST /v3/document-ai/","href":"/id/standalone-apis/document-ai"}]},{"group":"API Validasi Database","pages":[{"title":"Validasi Database API: Pencocokan ID Nasional","sidebarTitle":"Validasi Database API","description":"Didit memvalidasi identitas via POST /v3/database-validation/ ke 100+ sumber nasional \u0026 global, pencocokan waterfall 1x1 dan 2x2. Bayar per panggilan.","openapi":"id/openapi-25.json POST /v3/database-validation/","href":"/id/standalone-apis/database-validation"}]},{"group":"Validasi Database","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/driver-2.svg","pages":[{"group":"🇦🇷 Argentina","pages":[{"title":"Verifikasi Data DNI Argentina API (RENAPER)","sidebarTitle":"Argentina - Data DNI (RENAPER)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/argentina/renaper-data"},{"title":"Verifikasi DNI Argentina (RENAPER) API Validasi Database","sidebarTitle":"Argentina - Verifikasi DNI (RENAPER)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/argentina/renaper"},{"title":"Validasi Database Warga Negara Argentina (AFIP) API","sidebarTitle":"Warga Argentina (AFIP)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/argentina/citizens"},{"title":"Validasi Database Biro Kredit Argentina: API ID Match","sidebarTitle":"Biro Kredit Argentina","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/argentina/credit-bureau"}]},{"group":"🇦🇺 Australia","pages":[{"title":"Verifikasi Akta Kelahiran Australia (DVS) - API","sidebarTitle":"Australia - DVS - Akta Kelahiran","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/birth-certificate"},{"title":"Verifikasi Kartu Centrelink Australia - API DVS","sidebarTitle":"Australia - DVS - Kartu Centrelink","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/centrelink-card"},{"title":"Validasi Database ImmiCard Australia (DVS) - API","sidebarTitle":"Australia - ImmiCard","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/immicard"},{"title":"Validasi Database Australia - DVS Dokumen Perjalanan API","sidebarTitle":"Australia - DVS Dokumen Perjalanan","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/travel-document"},{"title":"Validasi Database Australia: Sertifikat Perubahan Nama","sidebarTitle":"Australia - Sertifikat Perubahan Nama","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/change-of-name-certificate"},{"title":"Validasi Database Australia - API Sertifikat Kewarganegaraan DVS","sidebarTitle":"Australia - DVS – Sertifikat Kewarganegaraan","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/citizenship-certificate"},{"title":"Validasi Database Australia - Akta Pernikahan DVS API","sidebarTitle":"Australia - DVS – Akta Pernikahan","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/marriage-certificate"},{"title":"Validasi Database Biro Kredit Australia: API ID Match","sidebarTitle":"Biro Kredit Australia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/credit-bureau"},{"title":"API Cek Kematian Australia (BDM): Lookup Real-Time","sidebarTitle":"Cek Kematian Australia (BDM)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/death-check"},{"title":"Validasi Database Daftar Pemilih Australia: API ID Match","sidebarTitle":"Daftar Pemilih Australia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/electoral-roll"},{"title":"Validasi Database Australia: API Superannuation \u0026 Payroll","sidebarTitle":"Superannuation \u0026 Payroll AU","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/superannuation-payroll"},{"title":"Verifikasi VEVO Australia: API Pencarian Real-Time","sidebarTitle":"VEVO Australia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/vevo"},{"title":"Validasi Database SIM Australia - API DVS","sidebarTitle":"DVS - SIM Australia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/driver-licence"},{"title":"Validasi Database Kartu Medicare Australia - API DVS","sidebarTitle":"DVS - Kartu Medicare Australia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/medicare-card"},{"title":"Validasi Database Paspor Australia - API DVS: ID Match","sidebarTitle":"DVS - Paspor Australia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/passport"},{"title":"Validasi Database Visa Australia: API DVS Data Match","sidebarTitle":"DVS - Visa Australia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/australia/visa"}]},{"title":"Verifikasi Biro Kredit Austria: API Pencocokan Data","sidebarTitle":"Biro Kredit Austria","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/austria/credit-bureau"},{"title":"Validasi Database Bolivia CI: API Verifikasi Real-Time","sidebarTitle":"Bolivia - Verifikasi CI","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/bolivia/cedula"},{"group":"🇧🇷 Brasil","pages":[{"title":"Verifikasi CPF Brasil dengan Unico IDCloud + Swafoto API","sidebarTitle":"BRA - Unico IDCloud (CPF + Swafoto)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/unico-idcloud"},{"title":"API CNH Brasil QR Code + Pencocokan Wajah (Datavalid)","sidebarTitle":"Brasil - CNH QR code + pencocokan wajah","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/cnh-facial-qrcode"},{"title":"Pencocokan Wajah CPF Brasil (Datavalid) - API ID Match","sidebarTitle":"Brasil - CPF + Wajah (Datavalid)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/cpf-facial"},{"title":"Validasi Database CPF Brasil: API Cek Status Real-Time","sidebarTitle":"Brasil - Cek Status CPF","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/cpf"},{"title":"Validasi Database Brazil: API Partner \u0026 Direktur (QSA)","sidebarTitle":"Brazil - Partner \u0026 Direktur (QSA)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/company-directors"},{"title":"Validasi Registri Perusahaan Brasil (CNPJ) API","sidebarTitle":"Brasil - Registri Perusahaan (CNPJ)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/company-registry"},{"title":"API Pemeriksaan Kematian CPF Brazil: Cek ID Real-Time","sidebarTitle":"Brazil - Pemeriksaan Kematian (CPF)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/death-check"},{"title":"Catatan Kriminal Federal Brasil - API Validasi Database","sidebarTitle":"Brasil - Catatan Kriminal Federal","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/antecedentes-criminais-pf"},{"title":"Verifikasi Residensial Brasil API: Pencocokan Identitas","sidebarTitle":"Brasil Residensial","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/residential"},{"title":"Verifikasi Registrasi Pajak Brasil (CPF/CNPJ) API","sidebarTitle":"Registrasi Pajak Brasil (CPF/CNPJ)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/brazil/tax-registration"}]},{"title":"Verifikasi Kartu Identitas Nasional Kamboja: API Validasi Database","sidebarTitle":"Kartu Identitas Kamboja","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/cambodia/national-id"},{"group":"🇨🇦 Kanada","pages":[{"title":"API Verifikasi Biro Kredit Kanada (FINTRAC)","sidebarTitle":"Biro Kredit Kanada (FINTRAC)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/canada/credit-bureau-fintrac"},{"title":"Validasi Database Kanada: Credit Bureau 2 (Non-FINTRAC)","sidebarTitle":"Canada Credit Bureau 2 (Non-FINTRAC)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/canada/credit-bureau-2-non-fintrac"},{"title":"Verifikasi Residensial Kanada: API Pencocokan Identitas","sidebarTitle":"Kanada Residensial","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/canada/residential"}]},{"title":"Verifikasi RUT Chile: API Validasi Database Real-Time","sidebarTitle":"Chile - Verifikasi RUT","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/chile/rut"},{"group":"🇨🇳 Tiongkok","pages":[{"title":"API Verifikasi Kartu Bank China: Pencarian Real-Time","sidebarTitle":"Kartu Bank China","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/china/bank-card"},{"title":"API Verifikasi Kartu Identitas Nasional China","sidebarTitle":"Kartu Identitas China","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/china/national-id"},{"title":"Verifikasi Paspor China: API Pencarian Real-Time","sidebarTitle":"Verifikasi Paspor China","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/china/passport-verification"},{"title":"API Verifikasi Telepon China: Lookup Identitas Real-Time","sidebarTitle":"Telepon China","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/china/phone"}]},{"group":"🇨🇴 Kolombia","pages":[{"title":"Validasi Database Kolombia - API Verifikasi Cédula","sidebarTitle":"Kolombia - Verifikasi Cédula","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/colombia/cedula"},{"title":"Validasi Database Migración Colombia - Status Orang Asing","sidebarTitle":"Migración Colombia - Status Orang Asing","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/colombia/migracion"}]},{"title":"Verifikasi Cédula Kosta Rika: API Pencocokan Data","sidebarTitle":"Kosta Rika - Verifikasi Cédula","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/costa-rica/cedula"},{"group":"🇩🇰 Denmark","pages":[{"title":"Verifikasi Denmark Consumer 2 API: Pencocokan Identitas","sidebarTitle":"Denmark Consumer 2","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/denmark/consumer-2"},{"title":"Verifikasi ID Nasional Denmark: API Validasi Database","sidebarTitle":"ID Nasional Denmark","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/denmark/national-id"}]},{"title":"Verifikasi Cédula Republik Dominika - API","sidebarTitle":"Republik Dominika - Cédula","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/dominican-republic/cedula"},{"title":"Verifikasi Cédula Ekuador: API Pencarian Real-Time","sidebarTitle":"Ekuador - Verifikasi Cédula","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/ecuador/cedula"},{"title":"Verifikasi DUI El Salvador: API Pencarian Identitas","sidebarTitle":"El Salvador - Verifikasi DUI","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/el-salvador/dui"},{"group":"🇫🇮 Finlandia","pages":[{"title":"Validasi Database Finlandia Consumer 2: Identity Match","sidebarTitle":"Finlandia Consumer 2","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/finland/consumer-2"},{"title":"Validasi Database Finlandia: Verifikasi ID Nasional API","sidebarTitle":"ID Nasional Finlandia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/finland/national-id"}]},{"group":"🇫🇷 Prancis","pages":[{"title":"Verifikasi Telepon Prancis: API Lookup ID Real-Time","sidebarTitle":"Telepon Prancis","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/france/phone"},{"title":"API Verifikasi Residensial Prancis: Pencocokan Identitas","sidebarTitle":"Prancis Residensial","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/france/residential"},{"title":"Verifikasi Utilitas Prancis: API Pencarian Real-Time","sidebarTitle":"Utilitas Prancis","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/france/utility"}]},{"group":"🇩🇪 Jerman","pages":[{"title":"Validasi Database Biro Kredit Jerman: Pencocokan Data","sidebarTitle":"Biro Kredit Jerman","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/germany/credit-bureau"},{"title":"Verifikasi Telepon Jerman 2 API: Pencarian Real-Time","sidebarTitle":"Telepon Jerman 2","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/germany/phone-2"}]},{"group":"🌐 Global","pages":[{"title":"Validasi Database Global - API Layanan Intelijen Inti","sidebarTitle":"Global - Layanan Intelijen Inti","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/global/intelligence-service"},{"title":"Pengayaan Identitas Global - API Verifikasi Identitas","sidebarTitle":"Pengayaan Identitas Global","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/global/identity-enrichment"},{"title":"Validasi Database Sim Swap Global: API Telco Match","sidebarTitle":"Global - Sim Swap","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/global/swap"}]},{"group":"🇬🇹 Guatemala","pages":[{"title":"Validasi Database Guatemala - DPI + Pencocokan Wajah (RENAP) API: Pencocokan ID","sidebarTitle":"Guatemala - DPI + Wajah (RENAP)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/guatemala/dpi-facial"},{"title":"Verifikasi DPI Guatemala: Lookup Real-Time API","sidebarTitle":"Guatemala - Verifikasi DPI","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/guatemala/dpi"}]},{"title":"Validasi Database DNI Honduras: API Verifikasi Real-Time","sidebarTitle":"Honduras - Verifikasi DNI","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/honduras/dni"},{"group":"🇮🇳 India","pages":[{"title":"Verifikasi Aadhaar India (UIDAI): API Pencocokan Data","sidebarTitle":"Aadhaar India (UIDAI)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/india/aadhaar"},{"title":"API Verifikasi SIM India (RTO)","sidebarTitle":"SIM India (RTO)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/india/drivers-licence"},{"title":"Validasi Database EPIC India (Pendaftaran Pemilih) API","sidebarTitle":"EPIC India (ECI)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/india/epic-voter-s-registration"},{"title":"API Validasi Database PAN India (ITD)","sidebarTitle":"PAN India (ITD)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/india/pan-permanent-account-number"}]},{"title":"API Validasi Database KTP Indonesia","sidebarTitle":"KTP Indonesia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/indonesia/residential-identity-card"},{"group":"🇮🇹 Italia","pages":[{"title":"Validasi Database Biro Kredit Italia: API Header Match","sidebarTitle":"Biro Kredit Italia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/italy/credit-bureau"},{"title":"Validasi Database Italia Residensial: Pencarian Identitas","sidebarTitle":"Italia Residensial","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/italy/residential"}]},{"title":"API Verifikasi Identitas Kenya National ID","sidebarTitle":"Kenya National ID","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/kenya/national-id"},{"title":"Verifikasi ID Nasional Malaysia API: Pencocokan Data","sidebarTitle":"ID Nasional Malaysia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/malaysia/national-id"},{"group":"🇲🇽 Meksiko","pages":[{"title":"Verifikasi CURP Meksiko - API Validasi Database Real-Time","sidebarTitle":"Meksiko - Verifikasi CURP","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/mexico/curp"},{"title":"Verifikasi Masa Berlaku INE Meksiko - API","sidebarTitle":"Meksiko - Masa Berlaku INE","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/mexico/ine-vigencia"}]},{"title":"Validasi Database Belanda: API Pencocokan ID Residensial","sidebarTitle":"Belanda Residensial","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/netherlands/residential"},{"group":"🇳🇿 Selandia Baru","pages":[{"title":"Verifikasi Kelahiran Selandia Baru (DIA) - API ID Match","sidebarTitle":"DIA - Kelahiran Selandia Baru","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/new-zealand/births"},{"title":"Verifikasi Kewarganegaraan Selandia Baru DIA - API Didit","sidebarTitle":"DIA - Kewarganegaraan Selandia Baru","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/new-zealand/citizenship"},{"title":"Validasi Database Paspor Selandia Baru - API DIA","sidebarTitle":"DIA - Paspor Selandia Baru","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/new-zealand/passport"},{"title":"API Pengecekan Kematian Selandia Baru (BDM): Pencarian Real-Time","sidebarTitle":"Pengecekan Kematian Selandia Baru (BDM)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/new-zealand/death-check"},{"title":"Verifikasi SIM Selandia Baru (NZTA) API","sidebarTitle":"SIM Selandia Baru (NZTA)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/new-zealand/drivers-licence"}]},{"group":"🇳🇬 Nigeria","pages":[{"title":"API Bank Verification Number (BVN) Nigeria","sidebarTitle":"Bank Verification Number (BVN)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/nigeria/bank-verification-number"},{"title":"Verifikasi SIM Nigeria (FRSC) API","sidebarTitle":"SIM Nigeria (FRSC)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/nigeria/drivers-license"},{"title":"Paspor Internasional Nigeria (NIS) API: Pencocokan ID","sidebarTitle":"Paspor Internasional Nigeria (NIS)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/nigeria/passport"},{"title":"Validasi Database NIN Nigeria (NIMC) API","sidebarTitle":"NIN Nigeria (NIMC)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/nigeria/national-id"},{"title":"Verifikasi NIN + Swafoto Nigeria (NIMC) API","sidebarTitle":"NIN + Swafoto Nigeria (NIMC)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/nigeria/national-id-facial"}]},{"title":"API Verifikasi Identitas Residensial Norwegia","sidebarTitle":"Norwegia Residensial","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/norway/residential"},{"group":"🇵🇦 Panama","pages":[{"title":"Validasi Database Panama: Cédula dengan Pencocokan Wajah","sidebarTitle":"Panama - Cédula dengan Pencocokan Wajah (SIB Plus, tingkat lanjut)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/panama/sib-plus"},{"title":"Verifikasi Cédula Panama dengan Face Match Biometrik (SIB) API","sidebarTitle":"Panama - Cédula + Face Match (SIB)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/panama/sib"}]},{"title":"Validasi Database Paraguay - API Verifikasi CI Real-Time","sidebarTitle":"Paraguay - Verifikasi CI","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/paraguay/cedula"},{"group":"🇵🇪 Peru","pages":[{"title":"Verifikasi DNI Peru: API Validasi Database Real-Time","sidebarTitle":"Peru - Verifikasi DNI","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/peru/dni"},{"title":"API Validasi Registrasi Pajak SUNAT Peru","sidebarTitle":"Registrasi Pajak SUNAT Peru","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/peru/tax-registration"}]},{"title":"API Verifikasi Residensial Filipina: ID Match","sidebarTitle":"Residensial Filipina","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/philippines/residential"},{"group":"🇸🇬 Singapura","pages":[{"title":"API Validasi Database Biro Kredit Singapura: ID Match","sidebarTitle":"Biro Kredit Singapura","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/singapore/credit-bureau"},{"title":"Verifikasi Utilitas Singapura: API Pencarian Identitas","sidebarTitle":"Utilitas Singapura","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/singapore/utility"}]},{"group":"🇿🇦 Afrika Selatan","pages":[{"title":"Verifikasi Pemegang Rekening Bank Afrika Selatan API","sidebarTitle":"Afrika Selatan - Pemegang Rekening Bank","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/bank-account-holder"},{"title":"API Pencarian Direktur Perusahaan Afrika Selatan","sidebarTitle":"Afrika Selatan - Direktur Perusahaan","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/company-directors"},{"title":"Pencarian Registri Perusahaan Afrika Selatan API","sidebarTitle":"Afrika Selatan - Registri Perusahaan","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/company-registry"},{"title":"Validasi Database Afrika Selatan: Contactability Lookup","sidebarTitle":"Afrika Selatan - Contactability Lookup","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/contactability"},{"title":"Skrining Kriminal Afrika Selatan - API Pencarian Wajah","sidebarTitle":"Afrika Selatan - Skrining Kriminal Wajah","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/criminal-face-screening"},{"title":"Afrika Selatan: API Pencocokan Sidik Jari DHA (ID Match)","sidebarTitle":"Afrika Selatan - DHA Fingerprint Match","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/dha-fingerprint-match"},{"title":"Validasi Database Afrika Selatan - API Verifikasi DHA","sidebarTitle":"Afrika Selatan - Foto DHA","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/dha-photo"},{"title":"Verifikasi SIM Afrika Selatan - API Validasi Database","sidebarTitle":"Afrika Selatan - Verifikasi SIM","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/drivers-license"},{"title":"API Skrining Pencegahan Fraud Afrika Selatan","sidebarTitle":"Afrika Selatan - Skrining Pencegahan Fraud","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/fraud-prevention"},{"title":"API Pencarian Direktorship Perorangan Afrika Selatan","sidebarTitle":"Afrika Selatan - Direktorship Perorangan","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/person-directorships"},{"title":"Validasi Database Afrika Selatan - API Verifikasi Berkas Pengungsi","sidebarTitle":"Afrika Selatan - Berkas Pengungsi","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/refugee"},{"title":"Verifikasi Kepemilikan Kendaraan Afrika Selatan API","sidebarTitle":"Afrika Selatan - Kepemilikan Kendaraan","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/vehicle-ownership"},{"title":"Verifikasi ID Nasional Afrika Selatan (DHA) API","sidebarTitle":"ID Nasional Afrika Selatan (DHA)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/south-africa/national-id"}]},{"title":"Verifikasi DNI/NIE Spanyol: API Pencarian Real-Time","sidebarTitle":"Spanyol - Verifikasi DNI/NIE","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/spain/dni"},{"group":"🇸🇪 Swedia","pages":[{"title":"Validasi Database ID Nasional Swedia: API Identity Match","sidebarTitle":"ID Nasional Swedia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/sweden/national-id"},{"title":"Verifikasi Telepon Swedia: API Pencarian ID Real-Time","sidebarTitle":"Telepon Swedia","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/sweden/phone"}]},{"title":"API Verifikasi Biro Kredit Swiss","sidebarTitle":"Biro Kredit Swiss","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/switzerland/credit-bureau"},{"title":"Validasi Database Kartu Identitas Nasional Thailand: Pencocokan Data","sidebarTitle":"Kartu ID Nasional Thailand","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/thailand/national-id"},{"group":"🇬🇧 Britania Raya","pages":[{"title":"API Biro Kredit Inggris: Validasi Database","sidebarTitle":"Biro Kredit Inggris","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/united-kingdom/credit-bureau"},{"title":"Validasi Database Layanan Keuangan Inggris API","sidebarTitle":"Layanan Keuangan Inggris","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/united-kingdom/financial-services"},{"title":"API Verifikasi Telepon Inggris 2: Pencocokan Data","sidebarTitle":"Telepon Inggris 2","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/united-kingdom/phone-2"},{"title":"Validasi Database Alamat Residensial Inggris API","sidebarTitle":"Residensial Inggris","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/united-kingdom/residential"}]},{"group":"🇺🇸 Amerika Serikat","pages":[{"title":"API Validasi Database Biro Kredit Amerika Serikat","sidebarTitle":"AS - Biro Kredit AS","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/united-states/credit-bureau"},{"title":"Cek Kematian Amerika Serikat (SSDMF) API: Pencocokan Data","sidebarTitle":"Amerika Serikat - Cek Kematian (SSDMF)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/united-states/death-check"},{"title":"API Validasi Database Layanan Keuangan Amerika Serikat","sidebarTitle":"Amerika Serikat - Layanan Keuangan","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/united-states/financial-services"},{"title":"Verifikasi Telepon Amerika Serikat 2: API Pencocokan Data","sidebarTitle":"Amerika Serikat - Telepon 2","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/united-states/phone-2"},{"title":"Validasi Database Alamat Residensial AS","sidebarTitle":"Amerika Serikat - Residensial AS","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/united-states/residential"}]},{"title":"Validasi Database Uruguay: API Verifikasi CI","sidebarTitle":"Uruguay - Verifikasi CI","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/uruguay/cedula"},{"title":"Validasi Database Venezuela Cédula: Pencocokan Identitas API","sidebarTitle":"Venezuela - Verifikasi Cédula","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/venezuela/cedula"},{"title":"Validasi Database NRC Zambia (Registrasi Pajak) API","sidebarTitle":"NRC Zambia (registrasi pajak)","api":"POST /v3/database-validation/","href":"/id/api-reference/database-validation/zambia/national-id"}]},{"group":"Biometrik \u0026 Wajah","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/liveness.svg","pages":[{"title":"Deteksi Liveness Pasif: API Deteksi Deepfake","sidebarTitle":"Liveness Pasif","openapi":"id/openapi-25.json POST /v3/passive-liveness/","href":"/id/standalone-apis/passive-liveness"},{"title":"Pencocokan Wajah 1:1: API Face Match","sidebarTitle":"Pencocokan Wajah","openapi":"id/openapi-25.json POST /v3/face-match/","href":"/id/standalone-apis/face-match"},{"title":"Pencarian Wajah API: Dedup Wajah 1:N \u0026 Jaringan Penipuan","sidebarTitle":"Pencarian Wajah","openapi":"id/openapi-25.json POST /v3/face-search/","href":"/id/standalone-apis/face-search"},{"title":"API Estimasi Usia: Verifikasi Usia Berbasis Swafoto","sidebarTitle":"API Estimasi Usia","openapi":"id/openapi-25.json POST /v3/age-estimation/","href":"/id/standalone-apis/age-estimation"}]},{"group":"Kepatuhan \u0026 Risiko","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/aml-screening.svg","pages":[{"title":"API Skrining AML: Sanksi, PEP \u0026 Daftar Pantauan","sidebarTitle":"API Skrining AML","openapi":"id/openapi-25.json POST /v3/aml/","href":"/id/standalone-apis/aml-screening"},{"title":"API Kesegaran Dataset AML","sidebarTitle":"Ambil Kesegaran Dataset AML","openapi":"id/openapi-25.json GET /v3/aml/dataset-freshness/","href":"/id/standalone-apis/aml-dataset-freshness"},{"title":"API Pengecekan Fraud Didit","openapi":"id/openapi-25.json POST /v3/fraud/checks/","href":"/id/standalone-apis/fraud-check"},{"title":"Fraud Check: Validasi Input dan Estimasi Biaya","openapi":"id/openapi-25.json POST /v3/fraud/checks/plan/","href":"/id/standalone-apis/fraud-check-plan"},{"title":"Ambil Hasil Pemeriksaan Fraud","openapi":"id/openapi-25.json GET /v3/fraud/checks/{check_id}/","href":"/id/standalone-apis/fraud-check-result"}]},{"group":"Analisis Perangkat \u0026 IP","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/ip-analysis.svg","pages":[{"title":"API Risiko IP: Deteksi VPN, Proxy \u0026 Datacenter","sidebarTitle":"API Risiko IP","openapi":"id/openapi-25.json POST /v3/ip/risk/","href":"/id/standalone-apis/ip-risk"}]},{"group":"Registri KYB","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/businesses.svg","pages":[{"title":"API Registri KYB: Pencarian dan Pemilihan Perusahaan","sidebarTitle":"Registri KYB","href":"/id/standalone-apis/kyb-registry"},{"title":"API Pencarian Registri KYB - Pencarian Perusahaan","sidebarTitle":"Pencarian Registri KYB","openapi":"id/openapi-25.json POST /v3/kyb/search/","href":"/id/standalone-apis/kyb-registry-search"},{"title":"API Pilih Registri KYB: Ambil Profil Perusahaan","sidebarTitle":"Pilih Registri KYB","openapi":"id/openapi-25.json POST /v3/kyb/select/","href":"/id/standalone-apis/kyb-registry-select"},{"title":"API Pemegang Saham KYB Registry","sidebarTitle":"Pemegang Saham KYB Registry","openapi":"id/openapi-25.json POST /v3/kyb/shareholders/","href":"/id/standalone-apis/kyb-registry-shareholders"},{"title":"Pemilik Manfaat Akhir KYB: API Registri UBO","sidebarTitle":"UBO Registri KYB","openapi":"id/openapi-25.json POST /v3/kyb/ubo/","href":"/id/standalone-apis/kyb-registry-ubo"}]},{"group":"Verifikasi Email","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sms-tracking.svg","pages":[{"title":"Verifikasi Email API: OTP \u0026 Penilaian Risiko","sidebarTitle":"Ringkasan","href":"/id/standalone-apis/email-verification"},{"title":"API Kirim OTP Email: Verifikasi Email","sidebarTitle":"Kirim Kode Email","openapi":"id/openapi-25.json POST /v3/email/send/","href":"/id/standalone-apis/email-send"},{"title":"Verifikasi Email API: Validasi Kode Sekali Pakai","sidebarTitle":"Cek Kode Email","openapi":"id/openapi-25.json POST /v3/email/check/","href":"/id/standalone-apis/email-check"},{"title":"API Risiko Email: Deliverability \u0026 Sinyal Kebocoran","sidebarTitle":"API Risiko Email","openapi":"id/openapi-25.json POST /v3/email/risk/","href":"/id/standalone-apis/email-risk"}]},{"group":"Verifikasi Telepon","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/phone-verification.svg","pages":[{"title":"Verifikasi Telepon API: OTP SMS \u0026 Sinyal Risiko","sidebarTitle":"Ringkasan","href":"/id/standalone-apis/phone-verification"},{"title":"API Kirim Kode OTP Telepon: Kode Verifikasi SMS","sidebarTitle":"Kirim Kode Telepon","openapi":"id/openapi-25.json POST /v3/phone/send/","href":"/id/standalone-apis/phone-send"},{"title":"API Verifikasi Telepon: Validasi Kode OTP SMS","sidebarTitle":"Cek Kode Telepon","openapi":"id/openapi-25.json POST /v3/phone/check/","href":"/id/standalone-apis/phone-check"},{"title":"API Phone Risk: Skor Risiko Nomor Telepon","sidebarTitle":"API Phone Risk","openapi":"id/openapi-25.json POST /v3/phone/risk/","href":"/id/standalone-apis/phone-risk"}]},{"group":"Verifikasi Bank","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/billing.svg","pages":[{"title":"API Cek Rekening Bank: Verifikasi Rekening Penerima","sidebarTitle":"API Cek Rekening","openapi":"id/openapi-25.json POST /v3/bank/account-check/","href":"/id/standalone-apis/bank-account-check"}]}]},{"tab":"Verifikasi Pengguna","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/user-verifications.svg","pages":[{"title":"Verifikasi Pengguna","href":"/id/core-technology/liveness/overview"}]},{"tab":"Verifikasi Bisnis","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/business-verifications.svg","pages":[{"title":"Verifikasi Bisnis","href":"/id/business-verification/overview"}]},{"tab":"Pemantauan Transaksi","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"Pemantauan Transaksi","href":"/id/transaction-monitoring/overview"}]},{"tab":"Log Perubahan","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/calendar.svg","pages":[{"title":"Log Perubahan","href":"/id/changelog"}]}],"global":{"anchors":[{"anchor":"Referensi API","icon":"code","href":"/id/api-reference/overview"},{"anchor":"Konsol Bisnis","icon":"gauge","href":"https://business.didit.me"},{"anchor":"Spesifikasi OpenAPI","icon":"file-code","href":"https://docs.didit.me/id/openapi-25.json"},{"anchor":"Prompt Integrasi","icon":"wand-magic-sparkles","href":"/id/integration/integration-prompt"},{"anchor":"Server MCP","icon":"plug","href":"/id/integration/mcp/overview"},{"anchor":"Keterampilan Agen","icon":"robot","href":"https://github.com/didit-protocol/skills"}]}},{"language":"ru","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Поддержка"},{"icon":"signal","href":"https://status.didit.me","label":"Статус"}],"primary":{"type":"button","label":"Вход","href":"https://business.didit.me"}},"pages":[{"title":"ru","href":"/ru/standalone-apis/document-ai"}]},{"language":"ko","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"지원"},{"icon":"signal","href":"https://status.didit.me","label":"상태"}],"primary":{"type":"button","label":"로그인","href":"https://business.didit.me"}},"pages":[{"title":"ko","href":"/ko/standalone-apis/document-ai"}]},{"language":"zh","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"支持"},{"icon":"signal","href":"https://status.didit.me","label":"状态"}],"primary":{"type":"button","label":"登录","href":"https://business.didit.me"}},"pages":[{"title":"zh","href":"/zh/standalone-apis/document-ai"}]},{"language":"ar","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"الدعم"},{"icon":"signal","href":"https://status.didit.me","label":"الحالة"}],"primary":{"type":"button","label":"تسجيل الدخول","href":"https://business.didit.me"}},"pages":[{"title":"ar","href":"/ar/standalone-apis/document-ai"}]},{"language":"hi","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"सहायता"},{"icon":"signal","href":"https://status.didit.me","label":"स्थिति"}],"primary":{"type":"button","label":"साइन इन करें","href":"https://business.didit.me"}},"pages":[{"title":"hi","href":"/hi/standalone-apis/document-ai"}]}]},"basePath":"","title":"Ekstraksi Data Dokumen Kustom dengan API Document AI - Didit Docs","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}