API Reference
Verify that a selfie shows a real, live person and that it matches a reference photo, using the VIDA Verify API V2. The same endpoint can also check the face against a blacklist.
Choose an operation
Liveness check
imageLivenessVerification
Is the selfie a live person?
Biometric verification
imageFaceMatchVerification + imageLivenessVerification
Is it a live person, and does the face match the reference photo?
Blacklist check
Enabled on request
Is the face in the blacklist database?
How the checks depend on each other
Both operations in Biometric Verification run concurrently, but face match depends on liveness. Face matching only happens once a live person is confirmed. This prevents spoofed or unauthorized attempts.
imageLivenessVerification
├─ Fails → no imageFaceMatchVerification result is returned
└─ Passes → Blacklist check (only if enabled)
├─ Face found → face match is skipped, blacklist response returned
└─ No match → imageFaceMatchVerification runs → success responseRequest format
These fields are shared by every operation.
Endpoint
POST https://{vida-host}/api/v2/verify
Headers
Authentication *
String
Bearer <Token>
Content-Type
String
Format type of the request body (application/json)
Body
operations *
Array
Operations to run, for example ["imageLivenessVerification"]
payload *
Object
Data for each operation (see below)
userConsent *
Object
Proof of the user's consent (see below)
payload fields
partnerTrxId
String
Required
A unique ID you generate for this transaction
groupId
String
Required
An ID that links this request to the rest of the KYC flow
faceImage
String (Base64)
Send this or livenessTransactionIds
The selfie image
livenessTransactionIds
Array
Send this or faceImage
Transaction ID from an earlier Liveness Verification call. Use it instead of sending a new selfie
idFrontSideImage
String (Base64)
Send this or croppedFaceImage (face match)
The front of the ID card
croppedFaceImage
String (Base64)
Send this or idFrontSideImage (face match)
A cropped face image from the reference photo
Send one of faceImage or livenessTransactionIds, not both.
userConsent fields
userIp
String
IP address of the user
country
String
Country code, for example MYS
obtained
Boolean
Whether consent was obtained
obtainedAt
String
Unix timestamp of when consent was obtained
Liveness check
Checks whether the selfie is a live photo. Send only imageLivenessVerification in operations.
Biometric verification
Checks liveness and matches the selfie to a reference photo. Include both imageFaceMatchVerification and imageLivenessVerification in operations, plus the reference photo in payload.
Choose how to send the selfie
Using faceImage
Using livenessTransactionIds
What you send
A new selfie image
Transaction ID(s) from an earlier Liveness Verification call
Use it when
Liveness and face match happen in one step
You already ran liveness and don't want to capture a new selfie
Blacklist check
Prevents onboarding or verification of users whose facial images appear in a blacklist database. The check runs before face match. If a match is found, the face match step is skipped.
Blacklist Check is enabled on request. Contact VIDA to turn it on for your account.
How it works
Blacklist Check can run as part of a Liveness Check or as a standalone check, using the same endpoint: POST https://{vida-host}/api/v2/verify.
Last updated
