PrivyPrivy
Sign in
  • Documentation
Back to Documentation
B2B Digital Certificate Issuance
OverviewChangelog
Authoritative Partner Verification
    User Verification
      v2
        OverviewQuickstartEnvironmentsAuthenticationRequest FieldsVerification ResultsError Catalog
API Explorer
powered by Zudoku
Sign in
v2

Overview

Breaking change — effective 17 August 2026: Privy-Version: 2026-08-17.heimdall standardizes response field names and changes status from ok to success. New integrations must send this request header. Inspect the Privy-Version response header to identify your current version, and review the response changes and migration steps before adopting it.

Privy User Verification v2 verifies user identity data against an Authoritative Partner before Privy issues a digital certificate. The API accepts identity details, a selfie, and an identity-card image in one server-to-server request.

The integration has two operations:

OperationPurpose
POST /api/v2/userverificationVerify a user and return the certificate-issuance result.
GET /api/v1/quota/user-verificationRead the merchant's remaining User Verification quota.

Every request uses HTTP Basic authentication and the Merchant-Key header. Keep both credentials on the merchant backend.

Verification flow

  1. Collect the user's NIK, name, date of birth, email, and phone number.
  2. Capture a clear selfie and identity-card image.
  3. Convert both images to base64 strings.
  4. Send the verification request from the merchant backend.
  5. Check userStatus to determine whether the digital certificate was issued or held.
  6. Store transaction_id for support and reconciliation.

The operation is synchronous. A successful HTTP response can contain either a verified or rejected business result, so do not use the HTTP status alone to decide whether the user passed verification.

Continue with the quickstart, or review the request fields.

Last modified on October 23, 2026
ChangelogQuickstart
On this page
  • Verification flow