Verification
Possible errors
List of common registration and authorization errors
HTTP Code | Message | Description | Code |
400 | Request "validationRequest.Id" was already completed | Attempted registration on completed request | 120036 |
400 | All available attempts were used for requestId "validationRequest.Id" | All attempts to register have been expended | 120037 |
400 | Face image is empty | Passed image is empty | 120038 |
400 | Graphql error: "error message" | Platform returned errors in response to a graphql query | 120029 |
400 | Profile search is missing | An attempt to search profiles in the platform failed | 120039 |
400 | No faces found | There are no faces in the image | 120058 |
400 | Multiple faces found | There are several faces in the image | 120059 |
400 | Quality calculation failed | An attempt to calculate quality in platform failed | 120039 |
400 | Liveness calculation failed | An attempt to calculate Liveness in platform failed | 120039 |
400 | Request is closed | Attempted registration by closed applicant | 120040 |
400 | This document type is not supported | BAF has the "Save Face Profile" feature turned off | 120041 |
400 | Face image is required | The image was not transmitted | 120042 |
400 | Applicant doesn't have verified face | Attempt to authorize by appliсant without a linked profile | 120043 |
400 | Endeavor from LRS contains invalid data | 120044 | |
400 | Applicant profile not found | Profile from the applicant was not found in the platform | 120043 |
Registration by selfie
Endpoint: POST /publicapi/api/v2/public/Validation
- Create a verification request.
- Upload the user's face image.
- Specify DocumentType: 10 (face registration/authorization).
Registration is considered successful if:
- All enabled optional checks have been successfully passed.
- Face photo quality above the threshold in the settings.
- Liveness of face from photo above threshold in settings.
- There are no similar applicants in the base, the score of comparison with which is above the threshold in the settings.
Request example:
{
"model": {
"faceImageBase64": "insert face image in base64 here",
"documentType": 10
},
"applicantId": "insert applicantId here",
"endeavorId": "insert endeavorId here (only when LRS enabled)"
}
Response example:
Status Code | 200 |
{
"applicantId": "05fcd***",
"attemptId": 1,
"documentType": 10,
"document": null,
"attemptsCount": 5,
"attemptsLeft": 0,
"status": 0,
"validationStatus": {
"expired": null,
"documentIsValid": null,
"faceIsValid": true,
"antiSpoofingIsValid": null,
"qualityIsValid": true,
"livenessReflectionIsValid": true,
"hasBeenBlackListed": false
},
"invalidDataErrors": [
{
"code": null,
"message": "Multiple faces or strong face movement spotted when recording liveness reflection video",
"description": null
}
],
"validations": {
"liveness": {
"verdict": true,
"details": [
{
"name": "FaceLiveness",
"verdict": true,
"score": 0.99
}
]
},
"quality": {
"verdict": true,
"details": [
{
"name": "FaceQuality",
"verdict": true,
"score": 0.53
}
]
},
"matching": {
"verdict": true,
"details": [
{
"name": "FaceMatching",
"verdict": true,
"score": 0.0
}
]
},
"motionControl": {
"verdict": false,
"motionControlInfo": [
{
"pattern": "up",
"result": true
},
{
"pattern": "left",
"result": false
}
]
}
},
"faceSuccess": true,
"documentSuccess": null,
"documentHasNotExpired": null,
"documentValidationTests": [],
"callBackUrl": null
}
If registration is successful, the user will be informed with a system message Status Code 200.
When the first registration attempt is not successful, you can try again to upload the document image and/or selfie: the number of registration attempts can be configured in the range from 1 to 5.
If all registration attempts fail, the user will receive a Status Code 400 message.
Authorization
Endpoint: POST /publicapi/api/v2/public/Validation
- Enter the applicant ID.
- Upload the user's face image.
- Specify DocumentType: 10 (registration/authorization by face).
User authorization is considered successful if:
- All enabled optional checks have been successfully passed.
- Face photo quality above the threshold in the settings.
- Liveness of face from photo above threshold in settings.
- Score of comparing face from photo on authorization with face from photo on registration above threshold in settings.
Request example:
{
"model": {
"faceImageBase64": "insert face image in base64 here",
"documentType": 10
},
"applicantId": "insert applicantId here",
"endeavorId": "insert endeavorId here (only when LRS enabled)"
}
Response example:
Status Code | 200 |
{
"applicantId": "05fcd***",
"attemptId": 1,
"documentType": 10,
"document": null,
"attemptsCount": 5,
"attemptsLeft": 0,
"status": 0,
"validationStatus": {
"expired": null,
"documentIsValid": null,
"faceIsValid": true,
"antiSpoofingIsValid": null,
"qualityIsValid": true,
"livenessReflectionIsValid": true,
"hasBeenBlackListed": false
},
"invalidDataErrors": [],
"validations": {
"liveness": {
"verdict": true,
"details": [
{
"name": "FaceLiveness",
"verdict": true,
"score": 99
}
]
},
"quality": {
"verdict": true,
"details": [
{
"name": "FaceQuality",
"verdict": true,
"score": 53
}
]
},
"matching": {
"verdict": true,
"details": [
{
"name": "FaceMatching",
"verdict": true,
"score": 0
}
]
},
"motionControl": {
"verdict": false,
"motionControlInfo": [
{
"pattern": "up",
"result": true
},
{
"pattern": "left",
"result": false
}
]
}
},
"faceSuccess": true,
"documentSuccess": null,
"documentHasNotExpired": null,
"documentValidationTests": [],
"callBackUrl": null
}
The user will be informed about successful authorization by a system message. After verification is completed, the user gets access to the closed part of the customer's app (site).
Authorization/registration by applicantId
TBC.