Face Match
Is the selfie the person on the KTP?
Compares a selfie with the KTP portrait, after checking both images are usable.
POST /v1/face/match scope: biometric:face_match
Key points
Why teams use Face Match
Quality first
Unusable photos get a clear retake reason instead of a misleading score.
Review, not guesswork
Borderline scores return review and resolve through the review API.
Private by design
Images are processed in memory; face embeddings are never stored or returned.
How it works
From request to result
- Send a selfie and a KTP photo in one signed POST.
- Both images are checked for usability first.
- Faces are aligned, compared and a decision is returned.
Know the limits. Face match confirms identity, not presence. Pair it with Passive Liveness, or use KYC Verify.
Billed per completed comparison. Photos rejected by the quality gate (422) and errors are free.
Full API reference →request · examplePOST
POST /v1/face/match
Idempotency-Key: 3f2b…
{
"selfie": { "image": "<base64>" },
"reference": { "image": "<base64 KTP>" }
}response · example200
// example — illustrative values
{
"data": {
"decision": "match",
"match": { "score": 0.XX },
"reasons": []
}
}FAQ
Questions
Do you store the photos?
No. Images are analysed in memory and discarded. Only the decision, score and reason codes are recorded.
Which formats are accepted?
JPEG or PNG only, up to 1.5 MB per image.
Put Face Match into production.
Request access and our team activates your account, or talk to sales about volume.
Face Match · from Rp400Request API access