NeuroID Errors and Statuses
NeuroID responses use a domain-level status field for verification outcomes. HTTP errors are used for invalid requests such as unreadable image files.
Verification Statuses
| Status | Meaning |
| --- | --- |
| SUCCESS | The requested check passed. |
| REJECTED | The requested check failed or did not meet the configured threshold. |
Unified Verification Steps
When /v2/verify rejects a request, it includes the failed step.
| Step | Meaning | Common action |
| --- | --- | --- |
| fingerprint | Fingerprint did not match the claimed mobile number or no enrollment was found. | Ask user to retry capture or enroll fingerprint first. |
| face_match | The selfie and ID-card face did not match. | Ask user to retake selfie and ID-card image with better lighting. |
| id_card_check | ID-card security feature was not detected. | Ask user to retake ID-card image without glare. |
HTTP Errors
| HTTP status | Example detail | Meaning |
| --- | --- | --- |
| 400 | Invalid image | Uploaded file could not be decoded as an image. |
| 400 | Invalid image(s) | One or more uploaded image fields could not be decoded. |
Example: Invalid Image
{
"detail": "Invalid image"
}
Example: No Fingerprint Match
{
"step": "fingerprint",
"status": "REJECTED",
"score": 0.7342,
"message": "No match found (score too low)"
}
Example: No Face Detected
{
"step": "face_match",
"status": "REJECTED",
"message": "No face detected in selfie"
}
Example: ID Security Feature Missing
{
"step": "id_card_check",
"status": "REJECTED",
"reason": "Security feature not detected. Please ensure good lighting and no glare."
}
Commercial Documentation Gap
The API should standardize error responses before external release. Recommended shape:
{
"status": "REJECTED",
"code": "FACE_NO_SELFIE_DETECTED",
"message": "No face detected in selfie.",
"step": "face_match",
"request_id": "req_123"
}