Quick start
Run your first identity verification in under three minutes. Veridian handles document capture, biometric matching, and watchlist screening behind a single REST endpoint.
1Get your API key
Every request to Veridian is authenticated with a secret key. Create one from the Dashboard → Developers → API keys. Test-mode keys are prefixed with vrd_test_ and never touch production data.
Store your key safely. Treat it like a password — load it from an environment variable, never from source control. Veridian shows the full key only once at creation time.
# Test mode — safe for local development
VERIDIAN_KEY=vrd_test_4f2c8aE7Lx9pQrT3vN1mYbW6hKjD0sZ
VERIDIAN_WEBHOOK_SECRET=whsec_19fA…
# Live mode — rotate after first deploy
# VERIDIAN_KEY=vrd_live_…2Submit a verification
Send the document image and a selfie to POST /v1/verifications. Veridian validates the document, runs face matching against the selfie, and screens the extracted identity against global sanctions lists.
curl -X POST https://api.veridianapi.com/v1/verifications \
-H "Authorization: Bearer vrd_live_..." \
-H "Content-Type: application/json" \
-d '{
"document_type": "passport",
"document_front": "<base64>",
"selfie": "<base64>"
}'The response includes a verification id you can store against the user. To receive the final result without polling, subscribe to the verification.completed webhook.
3Read the result
Once processing finishes, fetch the verification — or receive it via webhook. The status field is the top-level decision: approved, declined, or review. Combine it with risk_score, face_match_score, and sanctions_hit to build your own approval logic.
{
"id": "ver_uuid",
"status": "approved",
"risk_score": 18,
"face_match_score": 0.94,
"sanctions_hit": false,
"document_type": "passport",
"full_name": "Anders Lindqvist",
"created_at": "2026-05-17T14:22:00Z",
"processed_at": "2026-05-17T14:22:02Z"
}