Skip to main content
POST
OCR KTP Check

Authorizations

Authorization
string
header
required

Access token from POST /api/v1/kyc/auth/get-auth-token. Valid for one hour.

Body

multipart/form-data
request_id
string
required

Your unique reference for this extraction. Use a new UUID for each new attempt.

Example:

"c3d4e5f6-1a2b-3c4d-5e6f-7a8b9c0d1e2f"

image
file
required

Photo of the KTP. JPEG or PNG only, 8MB maximum.

Response

Extraction complete. code is SUCCESS. data holds the extracted fields. pricing is PAID.

code
enum<string>
required

Always SUCCESS on this response.

Available options:
SUCCESS
Example:

"SUCCESS"

message
enum<string>
required

Always OK. Use code and data, not this field, to branch.

Available options:
OK
Example:

"OK"

data
object
required

Extracted KTP fields. Every value is a plain string, printed on the card verbatim (uppercase, Indonesian). A field the OCR engine could not read comes back as "", never omitted or null — this is not a matching verdict like e-wallet/bank's VerifyData, so there is no status / similarity / suggestion here.

request_id
string
required

The request_id you sent.

Example:

"c3d4e5f6-1a2b-3c4d-5e6f-7a8b9c0d1e2f"

pricing
enum<string>
required

Always PAID on this response.

Available options:
PAID
Example:

"PAID"