NeuroID Integration Guide
Verification Flow
The recommended commercial integration uses the unified verification endpoint.
1. Developer app collects mobile number, fingerprint, selfie, and ID-card image.
2. Developer app calls POST /v2/verify using multipart/form-data.
3. NeuroID verifies fingerprint against the claimed mobile number.
4. NeuroID compares selfie face against ID-card face.
5. NeuroID validates the ID-card security feature.
6. Developer app receives SUCCESS or a rejected step.
Endpoint Selection
Use /v2/verify for production onboarding flows. Use the individual endpoints for enrollment, diagnostics, or staged integrations.
| Use case | Endpoint |
| --- | --- |
| Full KYC check | POST /v2/verify |
| Fingerprint enrollment | POST /v2/enroll-fp |
| Fingerprint-only verification | POST /v2/verify-fp |
| Face comparison only | POST /v2/match-faces |
| Legacy ID-card check | POST /v1/verify |
Node.js Example
import fs from "node:fs";
import FormData from "form-data";
import fetch from "node-fetch";
const form = new FormData();
form.append("mobile_number", "923001234567");
form.append("fingerprint", fs.createReadStream("./fingerprint.jpg"));
form.append("selfie", fs.createReadStream("./selfie.jpg"));
form.append("id_card", fs.createReadStream("./id-card.jpg"));
const response = await fetch(`${process.env.BASE_URL}/v2/verify`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.NEUROID_TOKEN}`,
...form.getHeaders()
},
body: form
});
const result = await response.json();
console.log(result);
Python Example
import os
import requests
url = f"{os.environ['BASE_URL']}/v2/verify"
headers = {"Authorization": f"Bearer {os.environ['NEUROID_TOKEN']}"}
files = {
"fingerprint": open("fingerprint.jpg", "rb"),
"selfie": open("selfie.jpg", "rb"),
"id_card": open("id-card.jpg", "rb"),
}
data = {"mobile_number": "923001234567"}
response = requests.post(url, headers=headers, data=data, files=files, timeout=60)
print(response.json())
Production Recommendations
- Send requests from a backend service, not directly from a browser or mobile app.
- Store API credentials in a secure server-side secret manager.
- Set client-side file validation before upload.
- Log the NeuroID response status and failed
stepvalue for support diagnostics. - Avoid logging raw biometric images or ID-card images in developer systems.
- Use a request correlation ID once the API gateway supports it.
Portal Content Still Needed
The following items should be confirmed before publishing to external developers:
- Final auth method and key provisioning process.
- Exact production and sandbox URLs.
- Maximum image size.
- Supported image formats.
- Rate limits.
- Webhook/callback support, if planned.
- Data retention and deletion policy.
- SLA and support contact.