API Reference

IDVC - Comprehensive KYC Verification

IDVC is an advanced API endpoint used to perform Comprehensive KYC (Know Your Customer) verification based on national identity attributes in Indonesia, including NIK, full name, date of birth, and selfie verification with liveness confidence score.


Supported Verification:

  • Verifies the user’s NIK, Full Name, DOB and Selfie Photo.
  • The selfie photo in this service is further analyzed to confirm its authenticity, ensuring it has not been modified or manipulated.
  • This comprehensive verification includes both data verification and a selfie liveness check to ensure the legitimacy of the provided photo as well as its correspondence with citizenship records.
  • IDVC provides comprehensive verification, including a detailed analysis of the selfie to confirm its authenticity, prevent manipulation, and verify it against citizenship records. For detailed pricing information, please contact BOIVA directly.

Request Parameters

Key ParametersData TypeDescriptionRequired
AuthorizationStringPublic Access TokenYes
typeStringSupported type verification. Use IDVCYes
ktpStringUser's NIK (ID Number) to be verified against citizenship dataYes
fullnameStringUser's fullname to be verified against citizenship dataYes
birth_dateStringFormat: yyyy-mm-dd. If omitted, derived from NIKOptional
birth_placeStringUser's birth place to be verified against citizenship dataOptional
selfie_photoStringUser's selfie photo to be verified against citizenship data in Base64 formatYes

⚠️ If birth_date is not sent, the system will derive it from the NIK. If there’s a mismatch with official records, the response may include normalized = true.


Response Parameters

FieldTypeDescription
ktpBooleanWhether the NIK matches government records
fullnameBooleanWhether the full name matches government records
birth_dateBooleanWhether the birth date matches (or is derived and matches)
birth_placeBooleanWhether the birth place matches government records (if requested)
genderString1 for Male, 0for Female (status= Boolean )
addressStringAddress generated from NIK
selfie_photoBooleanWhether the selfie photo matches the official image
selfie_livenessFloatConfidence score for the selfie liveness result (range: 0.0 - 1.0)
normalizedBooleantrue if the date of birth was derived from NIK and did not match

📘

Understanding selfie_liveness

Liveness detection ensures that the selfie used for verification is from a real, live person — not a photo, video, or mask.

BOIVA uses passive liveness, which:

  • Runs in the background during selfie submission
  • Requires no action (no blinking or head movement)
  • Detects spoof attempts like printed photos or deepfakes

ℹ️ What does confidence score mean?

  • A score of 0 means maximum liveness (most likely a real person)
  • A score of 1 means minimum liveness (most likely a spoof)
  • The result of the liveness check (true or false) is determined by whether the score passes a pre-set liveness threshold

Example Scenario:
If the threshold is 0.5, then a selfie with a score of 0.18 will pass liveness check.

🚧

Understanding normalized

The normalized field indicates a potential discrepancy between the user-provided or system-derived birth date and the official government records.

This situation may arise when:

  • The population registry has updated or corrected a citizen's birth record (e.g., from Dukcapil).
  • The client does not send a birth_date, and the system attempts to derive it from the NIK.
  • The inferred date based on the NIK structure differs from the actual official birth date.

ℹ️ Statistically, this occurs in approximately 6–8% of verification cases and is considered normal, especially for older or previously migrated registry data.

Example Scenario:
You send only NIK and Full Name without birth_date.
The system derives the birth date from NIK → compares it to official data → mismatch → normalized = true.

Decision Table

NIK MatchFullname MatchBirth Date SentBirth Date Matchnormalized
(derived)true
(no return)
(no return)
(derived)false

Guidelines for Selfie Verification

To ensure accurate verification, please adhere to the following guidelines when submitting a selfie photo:

  1. Lighting and Positioning:
    • Ensure adequate lighting to clearly capture facial features.
    • Position the face level with the camera, keeping the head centered in the frame.
  2. Distance and Background:
    • Maintain a moderate distance from the camera — not too close and not too far.
    • Use a plain, uncluttered background to minimize distractions.
  3. Appearance and Accessories:
    • Avoid wearing accessories that may obscure facial features (e.g., sunglasses, masks).
    • If wearing a hijab, ensure that the forehead and cheeks are visible.
  4. Photo Authenticity:
    • The person in the selfie must be the same as the individual associated with the NIK data submitted.
    • The photo must not be altered or digitally modified.
  5. Image Specifications:
    • Accepted formats: jpg, jpeg, png.
    • Maximum file size: 5MB.
  6. Image Dimensions and Cropping:
    • Minimum dimensions: 800px width x 600px height.
    • If the submitted photo is larger than the required dimensions, the system will automatically crop from the center: 300px Up, 300px Down, 400px Left, and 400px Right.
    • Photos smaller than the specified dimensions will be rejected.
      Adhering to these guidelines will ensure optimal processing and accurate verification of the submitted selfie photo. For further assistance, please contact Brick support.

Example Photo

Correct Image - Forward-facing photo, clear and good lighting

‎‎‎‎‎‎‎‎

‎‎‎‎

‎‎‎


Incorrect Image - Not clear and bad lighting

Language
Credentials
Basic
base64
:
Click Try It! to start a request and see the response here!