NeuroID Quickstart
This guide shows the shortest path to integrate NeuroID identity verification.
Base URL
https://neuroid.neuronixtech.net
A dedicated sandbox environment is on the roadmap; for now there is a single live URL.
Authentication
All requests require an API key in the x-api-key header:
x-api-key: nx_live_<your-key>
Keys are currently issued manually — email sheraz.temp@wisewell.com with your use case and we'll provision one. Self-serve key management ships in Phase 2 of the developer portal.
Heads-up: auth is currently running in observability mode — requests without a valid key are logged but not rejected. Treat this as an enforce-pending state and integrate with the header from day one; once enforce is on, calls without a valid key will return
401 Unauthorized.
Set your API key as an environment variable so the examples below work as-is:
export NEURONIX_API_KEY=nx_live_<your-key>
export BASE_URL=https://neuroid.neuronixtech.net
Step 1: Enroll a Fingerprint
Enroll the user's fingerprint before running verification.
curl -X POST "$BASE_URL/v2/enroll-fp" \
-H "x-api-key: $NEURONIX_API_KEY" \
-F "mobile_number=923001234567" \
-F "file=@fingerprint.jpg"
Successful response:
{
"status": "SUCCESS",
"message": "Fingerprint enrolled"
}
Step 2: Run Unified Verification
Use /v2/verify for the complete verification flow.
curl -X POST "$BASE_URL/v2/verify" \
-H "x-api-key: $NEURONIX_API_KEY" \
-F "mobile_number=923001234567" \
-F "fingerprint=@fingerprint.jpg" \
-F "selfie=@selfie.jpg" \
-F "id_card=@id-card.jpg"
Success response:
{
"status": "SUCCESS",
"message": "All verification checks passed successfully.",
"details": {
"fingerprint": {
"status": "SUCCESS",
"mobile_number": "923001234567",
"score": 0.2148,
"message": "Identity verified"
},
"face_match": {
"status": "SUCCESS",
"score": 0.7832,
"message": "Faces match"
},
"id_card": {
"status": "SUCCESS",
"verification_score": 0.8421,
"feature_detected": "pak-flag",
"message": "Valid ID"
}
}
}
Rejection Handling
If any check fails, the API returns the failed step and the rejection result.
{
"step": "face_match",
"status": "REJECTED",
"score": 1.4821,
"message": "Faces do not match"
}
Common rejection steps:
| Step | Meaning |
| --- | --- |
| fingerprint | Fingerprint did not match the enrolled mobile number. |
| face_match | Selfie face did not match the ID-card face. |
| id_card_check | Required ID-card security feature was not detected. |
Recommended Image Guidance
- Use clear, well-lit images.
- Avoid glare on ID-card photos.
- Keep the face fully visible in selfie and ID-card images.
- Use a clean fingerprint image with enough ridge detail.
- Re-enroll fingerprint data when the fingerprint model changes.