v2
Request Fields
POST /api/v2/userverification requires all fields in the following table.
| Field | Requirements |
|---|---|
trId | Unique merchant transaction ID; 1–255 ASCII letters, digits, or hyphens. |
nik | Exactly 16 digits. |
name | 1–100 characters matching the user's identity card. |
dob | Date of birth in dd-mm-yyyy format. |
email | Valid email address; 5–255 characters. |
phone | 10–16 digits with an optional leading +; no spaces. |
selfie | Base64-encoded JPG, JPEG, or PNG; decoded size no larger than 2 MB; width 135–1080 px and height 240–1920 px. |
ktp | Base64-encoded JPG, JPEG, or PNG identity-card image; decoded size no larger than 2 MB; width 480–1920 px and height 270–1080 px. |
channel | Privy-enabled channel; 1–100 ASCII letters, digits, or hyphens. |
Image guidance
Use the original, clearly visible selfie and identity-card images. Do not send
a file path, multipart upload, or data-URL prefix. Invalid base64, unsupported
image types, and images larger than 2 MB return HTTP 422.
Transaction IDs
Generate a unique trId for each verification attempt and retain it with the
returned transaction_id. The first value identifies the request in the
merchant system; the second identifies the transaction generated by Privy.
Date and identity data
Send the name and date of birth as they appear on the identity card. dob is a
string, not an ISO 8601 date, and uses dd-mm-yyyy.
For the exact patterns and length constraints, open the API Explorer.
Last modified on
