Key Benefits
Real-time Updates
Instant notifications when verifications complete or fail without API polling
Secure & Reliable
Cryptographically signed payloads with automatic retry mechanism
Comprehensive Events
Verification lifecycle events, step completion, and error notifications
Selective Notifications
Choose which events to receive and filter by verification types
How Webhooks Work
Supported Events
Verification Lifecycle Events
| Event Type | Description | When Triggered |
|---|---|---|
verification_started | New verification started | When POST /verifications is called |
verification_inputs_completed | User submitted inputs | When inputs are successfully submitted |
verification_completed | Verification finished | When verification reaches final status |
verification_data_updated | Data updated | When document data is manually updated |
verification_abandoned | Verification abandoned | When verification is marked stale (>24 hours) |
Step-Specific Events
| Event Type | Description | Process Types |
|---|---|---|
step_completed | Individual step completed | DOCUMENT_VERIFICATION, LIVENESS, EMAIL_CHECK, LOCATION_INTELLIGENCE, WATCHLIST_CHECK, VIDEO_AGREEMENT |
Webhook Payload Structure
- Verification Completed
- Step Completed
- Other Events
Payload Fields
Base Event Fields
| Field | Type | Description |
|---|---|---|
eventName | string | Event type identifier |
flowId | string | UUID of the workflow |
timeStamp | string | ISO 8601 timestamp |
resource | string | API resource path to the verification |
metadata | object | Custom metadata provided during verification creation |
The
metadata object is completely flexible and defined by your application. Common fields include userId, reference, deviceId, sessionId, etc. This metadata is echoed back in all webhook notifications to help you correlate events with your users.Verification Completed Fields
| Field | Type | Description |
|---|---|---|
verificationStatus | string | Final status (SUCCESS, REJECTED, NEEDS_REVIEW, ABANDONED) |
Step Completed Fields
| Field | Type | Description |
|---|---|---|
id | string | Step identifier |
status | number | HTTP status code (200 for success) |
data | object | Step-specific extracted data |
step | object | Detailed step information including timing and results |
Security & Authentication
Webhook Signatures
Every webhook payload is signed using HMAC-SHA256 with your webhook secret:Signature Verification
Best Practices
- Always verify signatures to ensure webhooks are from Urtentic
- Check timestamps to prevent replay attacks
- Use HTTPS endpoints for webhook URLs
- Return appropriate HTTP status codes (200 for success)
- Process webhooks idempotently using the event ID
Retry Policy
Urtentic automatically retries failed webhook deliveries:| Retry | Delay |
|---|---|
| Initial | After 1 minute |
| Second | After 5 minutes |
| Third | After 15 minutes |
| Fourth | After 1 hour |
| Final | After 6 hours |
Webhooks are considered failed if: non-2xx response, no response within 10 seconds, network error, or SSL error.
Webhook Configuration
