Verification Results
Breaking change — effective 17 August 2026:
Privy-Version: 2026-08-17.heimdallstandardizes response field names and changesstatusfromoktosuccess. New integrations must send this request header. Inspect thePrivy-Versionresponse header to identify your current version, and review the response changes and migration steps before adopting it.
A successful HTTP 200 response reports one of two business outcomes. Always
check userStatus before continuing the registration flow.
userStatus | Meaning | Additional field |
|---|---|---|
verified | The digital certificate was issued. | privy_id |
rejected | The digital certificate was held. | rejected_code |
Both outcomes contain the remaining integer balance, Privy's
transaction_id, and a human-readable message.
Verified result
Code
Rejected result
Code
Treat rejected_code as the machine-readable rejection reason. Keep the code
and transaction_id when you contact Privy or reconcile a rejected request.
Registration-status catalog
The source contract also documents these registration status codes. It does not identify them as a field in the verification response payload.
| Code | Meaning |
|---|---|
R200 | Registration succeeded. |
R201 | Registration failed because the phone is used by another NIK. |
R202 | Registration failed because the email is used by another NIK. |
R203 | Registration failed because the phone and email are used by another NIK. |
Do not substitute a registration status code for userStatus or infer that it
will be present when the response contract does not include it.
Registration statuses when Phone Match is enabled
The following registration statuses apply only when Phone Match is enabled:
| Code | Meaning |
|---|---|
R200-1 | Registration succeeded with an additional telco phone and NIK check. |
R201-1 | The phone is used by another NIK after the additional telco check. |
