Managing Webhooks
Register a Webhook
Endpoint: POST /webhooks
When registering a webhook, you can specify exactly which events should be delivered to that URL.
Request Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
url | String | Yes | HTTPS endpoint where notifications will be delivered. |
include_all_events | Boolean | No | (Default true) If true, the webhook subscribes to all current and future event types, and event_types list is ignored. |
event_types | List[String] | No | A specific list of event types to subscribe to. Ignored if include_all_events is true. |
View Example Request
curl -X POST https://<kyc_domain>/api/v1/webhooks \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://client.example.com/dlt-webhook",
"include_all_events": false,
"event_types": [
"requirementsQuestionnaire",
"entitlementCompleted"
]
}'
View Example Response
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"key_id": "string",
"url": "https://client.example.com/dlt-webhook",
"event_types": [
"requirementsQuestionnaire",
"entitlementCompleted"
],
"include_all_events": false,
"public_key": "aH92jD8kL9n2Z4V3x...",
"created_at": "2025-12-05T14:22:30.497Z"
}
Important
Store the public_key returned in the registration response. You will need it to verify the signatures of incoming webhook requests.
List Registered Webhooks
Endpoint: GET /webhooks
Retrieves a paginated list of all registered webhooks and their configurations.
View Example Response
{
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"key_id": "string",
"url": "https://client.example.com/dlt-webhook",
"event_types": [
"requirementsQuestionnaire"
],
"include_all_events": true,
"public_key": "aH92jD8kL9n2Z4V3x...",
"created_at": "2025-12-05T14:22:30.500Z"
}
],
"total": 1,
"page": 1,
"size": 50,
"pages": 1
}
Delete a Webhook
Endpoint: DELETE /webhooks?webhook_id={webhook_id}
Deletes a previously registered webhook. Future events will no longer be sent to its URL.