Lewati ke konten utama

Cek KTP

Verifikasi NIK, nama, tanggal lahir, dan foto KTP.

Base URL​

https://use.api.co.id

Kirim nik, name, date_of_birth, foto KTP (identity), dan optional selfie ke POST /id-verification/verify sebagai multipart/form-data dengan header x-api-co-id. Response berisi result (verified atau rejected), message provider, dan optional reject_reason.

Field request​

FieldWajibAturan
nikya16 digit
nameyaNama sesuai identitas
date_of_birthyaFormat DD-MM-YYYY
identityyaFoto KTP JPG/JPEG/PNG, maks 5 MB
selfietidakFoto selfie JPG/JPEG/PNG, maks 5 MB
curl -X POST "https://use.api.co.id/id-verification/verify" \
-H "x-api-co-id: YOUR_API_KEY" \
-F "nik=1203122810970002" \
-F "name=User Info" \
-F "date_of_birth=01-10-1990" \
-F "identity=@/absolute/path/to/ktp.jpg" \
-F "selfie=@/absolute/path/to/selfie.jpg"

Field server-side​

  • reference_number tidak perlu dikirim. API.CO.ID membuatnya otomatis dan mengembalikannya di response.
  • Jika provider membutuhkan email atau phone, API.CO.ID memakai email akun dan nomor telepon dari KYC approved.
  • Jika selfie dikirim, API.CO.ID meneruskannya ke provider dan response provider dikembalikan apa adanya. Jika tidak dikirim, API.CO.ID memakai fallback selfie internal untuk menjaga kompatibilitas request lama.

Hasil​

Verified:

{
"is_success": true,
"message": "Success",
"data": {
"reference_number": "REF-20260725-0001",
"channel_id": "001",
"result": "verified",
"message": "digital certificate has been issued"
}
}

Rejected:

{
"is_success": true,
"message": "Success",
"data": {
"reference_number": "REF-20260725-0002",
"channel_id": "001",
"result": "rejected",
"message": "identity did not match",
"reject_reason": {
"code": "ID_MISMATCH",
"reason": "identity mismatch"
}
}
}

result: rejected tetap return HTTP 200 karena provider berhasil memproses verifikasi, hanya hasil match-nya tidak lolos. Ini dianggap request sukses secara bisnis.

Akses & billing​

API.CO.ID memeriksa akses dengan urutan:

  1. API key valid.
  2. Saldo/subscription cukup untuk id-verification.
  3. eKYC customer sudah approved.
  4. Request diteruskan ke provider.
  5. Points dipotong hanya jika provider memproses request.

Error umum​

HTTPKondisi
400Bad RequestFile KTP hilang, tipe file tidak didukung, atau ukuran file lebih dari 5 MB
401UnauthorizedAPI key hilang atau salah
402Payment RequiredSaldo/subscription belum cukup
403ForbiddeneKYC belum approved, pending, rejected, atau expired
422UnprocessableFormat NIK, DOB, email akun, nomor telepon KYC, atau field lain tidak valid
500Server ErrorChannel provider misconfigured
502Bad GatewayProvider auth/server/response error
504Gateway TimeoutProvider timeout
Apakah halaman ini membantu?