VerifyHQ Docs

Biometric Deduplication

Detect duplicate identities by comparing a user's biometric data (face encoding) against all previously enrolled users. Prevents multi-account fraud by identifying if the same person has registered under different identities.

Privacy Notice
Biometric data is processed in accordance with data protection regulations. Face encodings are stored as irreversible mathematical vectors — original images cannot be reconstructed.
POST/biometrics/dedup/check

Check a face image against the biometric database for potential duplicates.

Request Body

ParameterTypeDescription
userIdrequiredstringYour internal user identifier
selfieBase64requiredstringBase64-encoded selfie image (JPEG or PNG)
selfieMimeTypestringImage MIME type (default: image/jpeg)
thresholdnumberMatch similarity threshold 0.0–1.0 (default: 0.90)
enrollbooleanEnroll this face into the database if no match found (default: true)

Code Examples

curl -X POST https://api.verifyhq.com/v1/biometrics/dedup/check \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "user_123",
    "selfieBase64": "/9j/4AAQSkZJRg...",
    "threshold": 0.90,
    "enroll": true
  }'

Response (No Match)

200 OKjson
{
  "id": "dedup_abc123",
  "userId": "user_123",
  "status": "UNIQUE",
  "matchFound": false,
  "enrolled": true,
  "checkedAt": "2026-02-18T13:00:01Z"
}

Response (Match Found)

200 OKjson
{
  "id": "dedup_def456",
  "userId": "user_456",
  "status": "DUPLICATE",
  "matchFound": true,
  "enrolled": false,
  "matches": [
    {
      "matchedUserId": "user_789",
      "similarity": 0.97,
      "enrolledAt": "2026-01-10T08:00:00Z"
    }
  ],
  "checkedAt": "2026-02-18T13:00:01Z"
}
GET/biometrics/dedup/:id

Retrieve the result of a biometric deduplication check.

curl https://api.verifyhq.com/v1/biometrics/dedup/dedup_abc123 \
  -H "X-API-Key: your_api_key"

Check Statuses

ParameterTypeDescription
UNIQUEstatusNo matching face found in the database — identity is unique
DUPLICATEstatusOne or more matching faces found — potential multi-account fraud
PROCESSINGstatusFace encoding and comparison in progress
ERRORstatusFace could not be detected in the image

Webhook Events

ParameterTypeDescription
dedup.uniqueeventBiometric check confirmed unique identity
dedup.matcheventDuplicate biometric match detected