Face verification with a cleaner contract
Capture a fresh, guided selfie with VerifyCameraV3, then compare it with one trusted reference image through a small and predictable API.
Quick start
One multipart request
curl https://www.verifyfaceid.com/api/v3/verify \
-H "Authorization: Bearer $VERIFYFACEID_API_KEY" \
-F "reference=@reference.jpg" \
-F "selfie=@selfie.jpg"
{
"success": true,
"data": {
"match": true,
"similarity": 99.52,
"threshold": 80
},
"error": null,
"meta": {
"api_version": "3.0",
"request_id": "…",
"processing_ms": 412
}
}
Designed to be easier to ship
One response envelope
Successes and errors always use the same top-level fields, with machine-readable error codes and a request ID.
A shorter backend path
v3 performs strict upload validation and one AWS face comparison. It does not add the legacy random delay or OpenAI image check.
A fast, separate camera
VerifyCameraV3 uses pinned, self-hosted assets and a short randomized on-screen challenge, with automatic capture and in-session retries.
No hidden migration
The v2 endpoints and window.VerifyCamera remain available and unchanged. Move when you are ready.
Know the liveness boundary
The camera’s random challenge helps reject a static image shown to an ordinary camera, but it runs in the customer’s browser. Client-side JavaScript can be modified, so the REST endpoint does not treat camera metadata as cryptographic proof. The v3 API itself performs face matching only.
Maintaining an existing v2 integration?
It remains supported. Review the concise legacy guide and migrate deliberately.