Neuronix

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"
}