Verify

This method helps you verify face with specific enrolled image.

🎈Endpoint

🎈Request

Headers

KeyTypeNotesDescription
App-IDStringRequiredApplication ID that generated from Application Menu in Verihubs Client Dashboard.
To hit in Testing and Live mode you need a Production Application ID.
API-KeyStringRequiredAPI-Key that generated from Application Menu in Verihubs Client Dashboard that related to specific Application ID.

You can generate your Application ID and API-Key in the Application page in Verihubs Client Dashboard..

Body Parameters

ParameterTypeNotesDefaultDescription
imageStringRequired-- A base64 or URL image file. - Image Type JPEG, JPG, PNG - Max File size: 5MB - Recommended image ratio 4:3 - If the photo is not a face image, it will return “face not detected”.
subject_idStringoptional-- A unique key to set the id of image. - When subject_id is already exists, the enroll method will work as “update” method
is_qualitybooleanoptionaltrueDetermines whether Image Quality (blur and dark) will be computed and return as result
is_attributebooleanoptionaltrueDetermines whether Image Attribute (sunglasses, mask, veil, hat) will be detected and return as result
is_livenessbooleanoptionaltrueDetermines whether Passive Liveness will be computed and return as result
validate_qualitybooleanoptionalfalse- Determines whether Quality validation will be executed. - The validation consists of checking blur and dark - validate_quality can be TRUE only when is_quality is TRUE.
validate_attributebooleanoptionalfalse- Determines whether Attribute validation will be executed. - The validation consists of checking whether sunglasses or mask is detected in the input image. - validate_attribute can be TRUE only when is_attribute is TRUE.
validate_livenessbooleanoptionalfalse- Determines whether Liveness validation will be executed. - The validation checks whether input image is live / spoof. - validate_liveness can be TRUE only when is_liveness is TRUE.
validate_nfacebooleanoptionalfalse- Determines whether the number of faces validation will be executed. - The validation checks whether the input image consists of more than one face.
thresholdstringoptional"moderate"threshold can be selected based on security level:
“BASIC”
“MODERATE”
“HIGH”

🎈Responses

Response Code

CodeDescription
200Successful Response
400Bad Request
401Unauthorized
500Internal Server Error

Details for 200 and 201

KeyTypeDescription
messagestringMessage that describe the overall response.
status_codestringStatus that indicate the billing calculation. See status code list in this link.
subject_idstringDescribes subject_id for the enrolled face image
image_qualityobjectDescribes image quality detail, consist of blur and dark
blurbooleanDescribes whether input image is considered as blur (If it exceeds the threshold, it will detected as blur)
darkbooleanDescribes whether input image is considered as dark (If it exceeds the threshold, it will detected as dark)
attributesobjectDescribes image attributes detail
sunglasses_onbooleanDescribes whether sunglasses is detected on input image
mask_onbooleanDescribes whether mask is detected on input image
veil_onbooleanDescribes whether veil is detected on input image
hat_onbooleanDescribes whether hat is detected on input image
livenessobjectDescribes liveness detail
statusbooleanDescribes whether the input image is considered as real or spoof
probabilitystringDescribes the liveness score (0 or 100)
rotationintegerShows rotation degrees need to be done to detect face in image
bounding_boxobjectShows result of bounding box
TopLeftXstring
TopLeftYstring
BottomRightXstring
BottomRightYstring
Widthstring
Heightstring
face_landmarkobjectShows result of face landmark
LeftEyeXstring
LeftEyeYstring
RightEyeXstring
RightEyeYstring
NoseXstring
NoseYstring
MouthLeftXstring
MouthLeftYstring
MouthRightXstring
MouthRightYstring
nfaceintegerShows how many faces are detected in the input image.
timestampnumberShows time when the process is successfully done
similarity_statusbooleanShows similarity status of inputted image and enrolled image. The similarity_status is “true” if the similarity score >= threshold, and similarity_status is “false” if similarity score < threshold.

Error Code

Response CodeError MessageDescription
400INVALID_PAYLOADno value in payload or empty string more than 1
400INVALID_PAYLOAD_IMAGE_MISSINGinvalid payload image not a standard b64/url or image empty string
400INVALID_PAYLOAD_SUBJECT_ID_MISSINGinvalid payload subject id is empty string
400INVALID_PAYLOAD_IMAGE_SIZEinvalid payload image size too large
400MISSING_PAYLOAD_IMAGEmissing payload image
400INVALID_PAYLOAD_IMAGE_TIMEOUTtimeout getting image from url in 15 seconds
400FACE_NOT_DETECTEDface not detected from image
400INVALID_PAYLOAD_QUALITY_VALIDATION_DEPENDENCYis_quality must be true if validate_quality true
400INVALID_PAYLOAD_ATTRIBUTE_VALIDATION_DEPENDENCYis_attribute must be true if validate_attribute true
400INVALID_PAYLOAD_LIVENESS_VALIDATION_DEPENDENCYis_liveness must be true if validate_liveness true
400INVALID_PAYLOAD_THRESHOLD_MISSINGthreshold choice is incorrect
200FAIL_ON_1fail on liveness
200FAIL_ON_2fail on attribute
200FAIL_ON_3fail on liveness and attribute
200FAIL_ON_4fail on quality
200FAIL_ON_5fail on liveness and quality
200FAIL_ON_6fail on attribute and quality
200FAIL_ON_7fail on liveness, attribute, and quality
200FAIL_ON_8fail on number of face (nface)
200FAIL_ON_9fail on number of face (nface) and liveness
200FAIL_ON_10fail on number of face (nface) and attribute
200FAIL_ON_11fail on number of face (nface), attribute, and liveness
200FAIL_ON_12fail on number of face (nface) and quality
200FAIL_ON_13fail on number of face (nface), quality, and liveness
200FAIL_ON_14fail on number of face (nface), quality, and attribute
200FAIL_ON_15fail on number of face (nface), quality, attribute, and liveness
200FAIL_ON_16fail on similarity status
403INSUFFICIENT_QUOTA_VERIFYusage reach it quota limit for verify (only appears on testing mode)
403INSUFFICIENT_QUOTA_LIVENESSusage reach it quota limit for liveness (only appears on testing mode)
500INTERNAL_SERVER_ERRORinternal server error

Sample Responses

Response CodeResponseDescription
200{
"message": "Request Success”,
"similarity": 91.55070802956696,
"similarity_status": true,
"subject_id": "e48c24d3-8366-4dc7-9d8e-deff949c6ae5",
"session_id": "1903b5ba-290a-45dc-8cc4-7e9aaf329507",
"status_code": "FACE-1",
"timestamp": 1660181099.503468,
"nface": 1,
"bounding_box": {
"TopLeftX": "274.95660400390625",
"TopLeftY": "214.4521942138672",
"BottomRightX": "938.697509765625",
"BottomRightY": "1137.5443115234375",
"Width": "663.7409057617188",
"Height": "923.0921173095703"
},
"face_landmark": {
"LeftEyeX": "452.66802978515625",
"LeftEyeY": "575.1997680664062",
"RightEyeX": "733.0494384765625",
"RightEyeY": "571.40380859375",
"NoseX": "585.4459838867188",
"NoseY": "753.718994140625",
"MouthLeftX": "490.5101318359375",
"MouthLeftY": "914.63037109375",
"MouthRightX": "707.4609375",
"MouthRightY": "911.8374633789062"
},
"rotation": 1
}
Request data parameter is valid
400{
"message": "Invalid Payload",
"data": {
"message": "Syntax error"
}
}
Invalid Payload. Transaction that is considered failed due to validation errors, an error_field will appear explaining the error.
400{
"message": "Face not detected in image",
"error_code": "FACE_NOT_DETECTED"
}
Request image is invalid (not a face image).
401{
"message": "Authorization failed"
}
Authorization Failed; Transaction that unauthorized due to Application ID or API-Key issue. To hit in Testing and Live mode you need a Production Application ID and API-Key.
403{
"message": "Insufficient verify quota",
"error_code": "INSUFFICIENT_QUOTA_VERIFY"
}
The transaction is in Testing mode and not enough remaining quota. Please contact Verihubs Customer Support.
500{
"message": "Internal server error"
}
Internal server error.