API Examples
Every live endpoint, with real request & response . Only endpoints backed by a running engine are listed. Provider-ready modalities (fingerprint, signature, iris, voice) are documented on their own pages under /biometrics .
GET /api/v1/biometrics/healthPublic
Health Service discovery. Returns version, schema id, endpoint list, and free-plan limits. No auth required.
Success response · 200 Copy{
"ok": true,
"service": "veridexa-developer-api",
"version": "v1",
"schema": "biometric-core.api/v1",
"endpoints": [
"GET /api/v1/biometrics/health",
"POST /api/v1/biometrics/enroll",
"POST /api/v1/biometrics/compare",
"POST /api/v1/biometrics/liveness",
"POST /api/v1/biometrics/emrtd",
"GET /api/v1/biometrics/devices"
],
"plans": {
"developer_free": { "monthlyLimit": 100, "minuteLimit": 10 }
}
}{
"ok": false,
"error": { "code": "internal_error", "reason": "unexpected" },
"requestId": "0f8c…"
}cURL
GET /api/v1/biometrics/health · bash Copycurl https://veridexa.io/api/v1/biometrics/healthPOST /api/v1/biometrics/enrollBearer auth
Face Enroll Enroll a face sample. Returns an opaque template (base64 vector) and quality metrics.
{
"schemaVersion": "biometric-core.api/v1",
"modality": "face",
"sample": { "imageBase64": "<base64 JPEG/PNG>" }
}Success response · 200 Copy{
"ok": true,
"result": {
"template": {
"modality": "face",
"version": 1,
"vector": "<base64 embedding>"
},
"quality": {
"score": 0.87,
"checks": { "sharpness": true, "exposure": true, "pose": true }
}
},
"requestId": "0f8c…"
}{
"ok": false,
"error": {
"code": "invalid_payload",
"reason": "sample.imageBase64 is required"
},
"requestId": "0f8c…"
}cURL
POST /api/v1/biometrics/enroll · bash Copycurl -X POST https://veridexa.io/api/v1/biometrics/enroll \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schemaVersion": "biometric-core.api/v1",
"modality": "face",
"sample": { "imageBase64": "<base64 JPEG/PNG>" }
}'POST /api/v1/biometrics/compareBearer auth
Face Compare 1:1 comparison of two face templates. Returns similarity score and pass/fail against the modality threshold.
{
"schemaVersion": "biometric-core.api/v1",
"modality": "face",
"reference": { "modality": "face", "version": 1, "vector": "<base64>" },
"probe": { "modality": "face", "version": 1, "vector": "<base64>" }
}Success response · 200 Copy{
"ok": true,
"result": { "score": 0.83, "passed": true, "threshold": 0.62 },
"requestId": "0f8c…"
}{
"ok": false,
"error": {
"code": "invalid_payload",
"reason": "reference and probe modalities must match"
},
"requestId": "0f8c…"
}cURL
POST /api/v1/biometrics/compare · bash Copycurl -X POST https://veridexa.io/api/v1/biometrics/compare \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schemaVersion": "biometric-core.api/v1",
"modality": "face",
"reference": { "modality": "face", "version": 1, "vector": "<base64>" },
"probe": { "modality": "face", "version": 1, "vector": "<base64>" }
}'POST /api/v1/biometrics/livenessBearer auth
Liveness Not enabled. This endpoint returns 503 liveness_not_available until a certified provider is registered.
{
"schemaVersion": "biometric-core.api/v1",
"modality": "face",
"frames": [
{ "imageBase64": "<frame 1>" },
{ "imageBase64": "<frame 2>" },
{ "imageBase64": "<frame 3>" }
]
}Success response · 200 Copy{
"ok": true,
"result": {
"state": "PASSED",
"blink": true,
"headTurn": true
},
"requestId": "0f8c…"
}{
"ok": false,
"error": {
"code": "invalid_payload",
"reason": "frames must contain at least 2 items"
},
"requestId": "0f8c…"
}cURL
POST /api/v1/biometrics/liveness · bash Copycurl -X POST https://veridexa.io/api/v1/biometrics/liveness \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schemaVersion": "biometric-core.api/v1",
"modality": "face",
"frames": [
{ "imageBase64": "<frame 1>" },
{ "imageBase64": "<frame 2>" },
{ "imageBase64": "<frame 3>" }
]
}'POST /api/v1/biometrics/emrtdBearer auth
eMRTD Ingest ePassport chip ingest. Runs Passive Authentication over the SOD, parses DG1 MRZ, returns per-DG metadata.
{
"sessionId": "6f0e…-uuid",
"protocol": "BAC",
"dg1": "<base64>",
"dg2": "<base64>",
"sod": "<base64>"
}Success response · 200 Copy{
"ok": true,
"result": {
"sessionId": "6f0e…-uuid",
"protocol": "BAC",
"passiveAuthentication": {
"sodParsed": true,
"dgHashesVerified": true,
"signatureVerified": true
},
"mrz": {
"documentNumber": "X1234567",
"surname": "DOE",
"givenNames": "JANE",
"nationality": "USA",
"dateOfBirth": "900101",
"dateOfExpiry": "300101"
},
"dgMetadata": {
"dg1": { "tag": "61", "hashHex": "…" },
"dg2": { "tag": "75", "hashHex": "…" }
}
},
"requestId": "0f8c…"
}{
"ok": false,
"error": {
"code": "invalid_payload",
"reason": "sod is required for passive authentication"
},
"requestId": "0f8c…"
}cURL
POST /api/v1/biometrics/emrtd · bash Copycurl -X POST https://veridexa.io/api/v1/biometrics/emrtd \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "6f0e…-uuid",
"protocol": "BAC",
"dg1": "<base64>",
"dg2": "<base64>",
"sod": "<base64>"
}'GET /api/v1/biometrics/devicesBearer auth
Devices List registered biometric device adapters exposed by the gateway.
Success response · 200 Copy{
"ok": true,
"result": {
"devices": [
{ "id": "face-webcam-mock", "modality": "face", "kind": "mock" },
{ "id": "fp-mock", "modality": "fingerprint", "kind": "mock" },
{ "id": "sig-mock", "modality": "signature", "kind": "mock" }
]
},
"requestId": "0f8c…"
}{
"ok": false,
"error": { "code": "unauthorized", "reason": "no_bearer" },
"requestId": "0f8c…"
}cURL
GET /api/v1/biometrics/devices · bash Copycurl https://veridexa.io/api/v1/biometrics/devices \
-H "Authorization: Bearer YOUR_API_KEY"