Document Check

Does this look like a genuine e-KTP?

Document integrity and data-consistency checks on a KTP photo, without returning personal data.

POST /v1/ktp/authenticity scope: document:check
Key points

Why teams use Document Check

Stops the obvious fakes

Images that are not an e-KTP are rejected; inconsistent cards go to review.

No personal data returned

Only check results — so it needs no personal-data scope.

The same checks as KYC Verify

Use it on its own when you already match faces elsewhere.

How it works

From request to result

  1. Send a KTP photo in a signed POST.
  2. Document integrity and consistency checks run.
  3. Receive PASS, REVIEW or FAIL with the checks performed.
Know the limits. Detection scope and limitations are documented for customers in the dashboard.

Billed per checked card. Unreadable or invalid images and errors are free.

Full API reference →
request · examplePOST
POST /v1/ktp/authenticity

{ "document": { "image": "<base64 KTP>" } }
response · example200
{
  "data": {
    "status": "PASS",
    "checks": { "…": "PASS" },
    "reasons": []
  }
}
FAQ

Questions

Does it read the card data?

It uses the text internally for its checks but never returns it. Use KTP OCR to get the fields.

Put Document Check into production.

Request access and our team activates your account, or talk to sales about volume.

Document Check · from Rp300Request API access