Skip to main content

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:

FieldTypeRequiredDescription
urlStringYesHTTPS endpoint where notifications will be delivered.
include_all_eventsBooleanNo(Default true) If true, the webhook subscribes to all current and future event types, and event_types list is ignored.
event_typesList[String]NoA 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.