Webhooks API
Manage webhook subscriptions programmatically. Subscribe to specific event types and receive real-time notifications.
Event Types
Subscribe to specific events or use all to receive all events.
Response Workflow Events
| Event Type | Description |
|---|---|
response.created | New response (DDQ submission) created |
response.submitted | Entity submitted completed response |
response.reviewed | Response reviewed by compliance team |
response.approved | Response approved |
response.rejected | Response rejected |
response.autofill_completed | AI autofill process completed |
response.check_answers_completed | AI answer checking completed |
response.autoflag_completed | AI autoflag analysis completed |
AML Screening Events
| Event Type | Description |
|---|---|
screening.completed | AML screening check finished successfully |
screening.failed | AML screening encountered an error |
batch.completed | Batch screening operation completed |
batch.progress | Batch screening progress update |
batch.failed | Batch screening operation failed |
Identity Verification Events
| Event Type | Description |
|---|---|
verification.session_created | New identity verification session started |
verification.session_accessed | Verification session accessed by entity |
verification.session_completed | Verification session completed successfully |
verification.session_failed | Verification session failed |
verification.session_expired | Verification session expired |
verification.check_completed | Identity verification check completed |
non_document.check_initiated | Non-document check initiated |
non_document.completed | Non-document check completed with results |
non_document.reviewed | Non-document check reviewed |
Case & Alert Events
| Event Type | Description |
|---|---|
case.opened | New case opened for investigation |
case.resolved | Case resolved or closed |
alert.created | New alert created |
Special Event Types
| Event Type | Description |
|---|---|
all | Subscribe to all event types (wildcard subscription) |
Create Webhook Subscription
POST
/api/v1/webhooks/
Subscribe to a specific event type. Create multiple subscriptions to handle different events with different endpoints.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
event_type |
string | Yes | Event type to subscribe to (see event types table above) |
webhook_url |
string | Yes | Your webhook endpoint URL (must be HTTPS) |
description |
string | No | Human-readable description |
filters |
object | No | Optional event filters (for future use) |
Save Your Secret Key
The secret_key is returned only once during creation. Store it securely to verify webhook signatures.
Response (201 Created)
{
"id": "f67f165d-0d1e-4eb7-81e6-3494a260dcd4",
"event_type": "screening.completed",
"webhook_url": "https://api.yourcompany.com/webhooks/screening",
"secret_key": "whsec_A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q7R8S9T0U1V2W3X4Y5Z6",
"message": "Subscription created successfully"
}
List Webhook Subscriptions
GET
/api/v1/webhooks/
Get all webhook subscriptions for your API key.
Response (200 OK)
{
"subscriptions": [
{
"id": "f67f165d-0d1e-4eb7-81e6-3494a260dcd4",
"event_type": "screening.completed",
"webhook_url": "https://api.yourcompany.com/webhooks/screening",
"is_active": true,
"description": "Production screening webhook",
"filters": {},
"created_at": "2026-01-19T10:30:00.123456+00:00",
"stats": {
"total_deliveries": 127,
"successful_deliveries": 125,
"failed_deliveries": 2
},
"last_triggered_at": "2026-01-22T08:15:30.987654+00:00"
},
{
"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"event_type": "case.resolved",
"webhook_url": "https://api.yourcompany.com/webhooks/cases",
"is_active": true,
"description": "Case resolution notifications",
"filters": {},
"created_at": "2026-01-18T14:20:00.123456+00:00",
"stats": {
"total_deliveries": 43,
"successful_deliveries": 43,
"failed_deliveries": 0
},
"last_triggered_at": "2026-01-21T16:45:22.543210+00:00"
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
id | uuid | Subscription identifier |
event_type | string | Subscribed event type |
webhook_url | string | Webhook endpoint URL |
is_active | boolean | Whether subscription is active |
description | string | Subscription description |
filters | object | Event filters (if any) |
created_at | string | ISO 8601 timestamp |
stats | object | Delivery statistics |
last_triggered_at | string | Last delivery timestamp (null if never triggered) |
Get Webhook Subscription
GET
/api/v1/webhooks/{subscription_id}/
Get detailed information about a specific subscription.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
subscription_id | uuid | Subscription identifier |
Response (200 OK)
{
"id": "f67f165d-0d1e-4eb7-81e6-3494a260dcd4",
"event_type": "screening.completed",
"webhook_url": "https://api.yourcompany.com/webhooks/screening",
"is_active": true,
"description": "Production screening webhook",
"filters": {},
"created_at": "2026-01-19T10:30:00.123456+00:00",
"updated_at": "2026-01-19T10:30:00.123456+00:00",
"stats": {
"total_deliveries": 127,
"successful_deliveries": 125,
"failed_deliveries": 2
},
"last_triggered_at": "2026-01-22T08:15:30.987654+00:00"
}
Update Webhook Subscription
PATCH
/api/v1/webhooks/{subscription_id}/
Update subscription settings. All fields are optional.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
subscription_id | uuid | Subscription identifier |
Request Body
| Field | Type | Description |
|---|---|---|
webhook_url | string | New webhook URL |
is_active | boolean | Enable/disable subscription |
description | string | Updated description |
filters | object | Updated filters |
Response (200 OK)
{
"message": "Subscription updated",
"id": "f67f165d-0d1e-4eb7-81e6-3494a260dcd4"
}
Delete Webhook Subscription
DELETE
/api/v1/webhooks/{subscription_id}/
Permanently delete a webhook subscription. This action cannot be undone.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
subscription_id | uuid | Subscription identifier |
Response (200 OK)
{
"message": "Subscription deleted successfully"
}