Verify a name against an e-wallet account
Looks up the registered holder name on the e-wallet for the given
phone number and compares it with the name you send.
A completed check is billed (pricing=PAID), including when the
account is not found. Validation errors and service failures are
not billed (pricing=FREE).
Outcomes
| Result | Response |
|---|---|
| Account found with a registered name | code=SUCCESS, data.status="found with kyc", pricing=PAID |
| Account found, holder has not completed KYC | code=SUCCESS, data.status="found without kyc", similarity=0, suggestion=review, pricing=PAID |
| No account for this phone | code=SUCCESS, data.status="not found", suggestion=reject, pricing=PAID |
| Temporary service issue | code=SERVER_ERROR, pricing=FREE |
Invalid request (phone, name, wallet, or request_id) | code=CLIENT_ERROR, pricing=FREE |
Same request_id with a different body | code=DUPLICATE_REFERENCE, pricing=FREE |
| Missing token, or IP not allowlisted | code=UNAUTHORIZED, pricing=FREE |
| Prepaid balance too low | code=INSUFFICIENT_BALANCE, pricing=FREE |
Phone numbers
Send Indonesian numbers as 08… or 62… (9–13 digits). Do not
include spaces or a + prefix.
Idempotency
Use a unique request_id for each new check (UUID v4 is
recommended). Repeating the same request_id with the same body
returns the original result and is billed once. A different body
with the same request_id returns DUPLICATE_REFERENCE.
Authorizations
Access token from POST /api/v1/kyc/auth/get-auth-token.
Valid for one hour.
Body
Your unique reference for this check. Use a new UUID for each new verification. Sending the same key with the same body returns the original result and is billed once.
"8b1d6f3e-9a02-4c5d-9f7a-2c8e1b3d4f5a"
E-wallet phone number. Use 08… or 62… (9–13 digits). No
spaces or +.
^(0|62)[1-9][0-9]{7,11}$"081234567890"
Name to compare with the registered wallet holder. Extra spaces and common honorifics are ignored when scoring.
1 - 200"Budi Santoso"
Wallet to check. Only this wallet is queried.
DANA, SHOPEEPAY, GOPAY, OVO Response
Check complete (whether the account exists or not). code is
SUCCESS. Read data.status and data.suggestion for the
outcome. pricing is PAID.
Always SUCCESS on this response. Read data for the outcome.
SUCCESS "SUCCESS"
Always OK. Use code and data, not this field, to branch.
OK "OK"
The request_id you sent.
"8b1d6f3e-9a02-4c5d-9f7a-2c8e1b3d4f5a"
Always PAID on this response — including when
data.status is not found.
PAID "PAID"
