What you will build
- Create a verification from your server
- Store the returned
verificationId - Redirect the user to the hosted link
- Receive webhook updates
- Mark the user as approved or rejected when a decision arrives
Step 1: Create the verification
data.verificationIddata.link- your own
vendorData
Step 2: Redirect the user
Send the user todata.link exactly as returned.
Do not rebuild the hosted URL yourself.
Step 3: Listen for webhooks
At minimum, handle:verification.successfulverification.failed
verification.startedverification.processing_started
Step 4: Verify the signature
Validate:Webhook-TimestampWebhook-Signature- the raw request body
Step 5: Update your own system
Recommended logic:- if
event === "verification.successful", mark the user as verified - if
event === "verification.failed", mark the user as rejected or request a new session
Minimal Node.js handler example
Optional polling fallback
If you need a fallback path, you can fetch the current state with:GET /v1/verificationsGET /v1/verifications/{id}
Recommended stored fields
For each individual verification, store:verificationIdvendorData- current status
- latest webhook event
- raw webhook payload
- environment used