VeridianDocs
Sign inDashboard
Docs/Getting Started/Quick start

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.

.env
# 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.

200 OK · application/json
{
  "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"
}