curl -X POST \
"https://verilock.io/api/v1/face-search" \
-H "Authorization: Bearer qi_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"threshold": 90
}'
import requests
response = requests.post(
"https://verilock.io/api/v1/face-search",
headers={
"Authorization": "Bearer qi_live_your_api_key_here",
"Content-Type": "application/json",
},
json={
"session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"threshold": 90,
},
)
const res = await fetch('https://verilock.io/api/v1/face-search', {
method: 'POST',
headers: {
'Authorization': 'Bearer qi_live_your_api_key_here',
'Content-Type': 'application/json',
},
body: JSON.stringify({
session_id: 'ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890',
threshold: 90,
}),
});
{
"id": "fs_d4e5f6a1-b2c3-7890-fedc-ba0987654321",
"duplicate_found": true,
"highest_similarity": 97.82,
"matches": [
{
"face_id": "aws-face-id-xxx",
"similarity": 97.82,
"session_id": "ses_previous-session-uuid",
"external_image_id": "session-ses_previous-session-uuid"
}
],
"threshold_used": 90.00
}
{
"id": "fs_d4e5f6a1-...",
"duplicate_found": false,
"highest_similarity": null,
"matches": [],
"threshold_used": 90.00
}
Verification Enhancements
Face Search (1:N)
Detect duplicate identities across your organization using facial recognition.
POST
/
face-search
curl -X POST \
"https://verilock.io/api/v1/face-search" \
-H "Authorization: Bearer qi_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"threshold": 90
}'
import requests
response = requests.post(
"https://verilock.io/api/v1/face-search",
headers={
"Authorization": "Bearer qi_live_your_api_key_here",
"Content-Type": "application/json",
},
json={
"session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"threshold": 90,
},
)
const res = await fetch('https://verilock.io/api/v1/face-search', {
method: 'POST',
headers: {
'Authorization': 'Bearer qi_live_your_api_key_here',
'Content-Type': 'application/json',
},
body: JSON.stringify({
session_id: 'ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890',
threshold: 90,
}),
});
{
"id": "fs_d4e5f6a1-b2c3-7890-fedc-ba0987654321",
"duplicate_found": true,
"highest_similarity": 97.82,
"matches": [
{
"face_id": "aws-face-id-xxx",
"similarity": 97.82,
"session_id": "ses_previous-session-uuid",
"external_image_id": "session-ses_previous-session-uuid"
}
],
"threshold_used": 90.00
}
{
"id": "fs_d4e5f6a1-...",
"duplicate_found": false,
"highest_similarity": null,
"matches": [],
"threshold_used": 90.00
}
Search a selfie against all previously verified faces in your organization’s collection. Detects duplicate identities — where the same person verified under different names or credentials.
Retrieve a previous face search result by ID.
Search for Duplicates
string
required
The session whose selfie will be used as the search query.
number
Minimum similarity score to consider a match (50–100). Default:
90.curl -X POST \
"https://verilock.io/api/v1/face-search" \
-H "Authorization: Bearer qi_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"threshold": 90
}'
import requests
response = requests.post(
"https://verilock.io/api/v1/face-search",
headers={
"Authorization": "Bearer qi_live_your_api_key_here",
"Content-Type": "application/json",
},
json={
"session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"threshold": 90,
},
)
const res = await fetch('https://verilock.io/api/v1/face-search', {
method: 'POST',
headers: {
'Authorization': 'Bearer qi_live_your_api_key_here',
'Content-Type': 'application/json',
},
body: JSON.stringify({
session_id: 'ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890',
threshold: 90,
}),
});
{
"id": "fs_d4e5f6a1-b2c3-7890-fedc-ba0987654321",
"duplicate_found": true,
"highest_similarity": 97.82,
"matches": [
{
"face_id": "aws-face-id-xxx",
"similarity": 97.82,
"session_id": "ses_previous-session-uuid",
"external_image_id": "session-ses_previous-session-uuid"
}
],
"threshold_used": 90.00
}
{
"id": "fs_d4e5f6a1-...",
"duplicate_found": false,
"highest_similarity": null,
"matches": [],
"threshold_used": 90.00
}
Get Search Result
GET /v1/face-search/{id}
How It Works
1
Face indexing
When a session is approved, the selfie is automatically indexed into your organization’s face collection.
2
Search query
When you call
POST /face-search, the session’s selfie is compared against all indexed faces in your collection.3
Duplicate detection
If a match exceeds the threshold (self-matches excluded), it’s flagged as a duplicate. A
face.duplicate_found webhook is dispatched.Face collections are per-organization. Cross-organization searches are not supported.

