Skip to main content
PATCH
/
v3
/
webhook
/
destinations
/
{destination_uuid}
/
curl
curl -X PATCH 'https://verification.didit.me/v3/webhook/destinations/11111111-2222-3333-4444-555555555555/' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "subscribed_events": [
      "status.updated",
      "data.updated",
      "transaction.created"
    ]
  }'
{
  "uuid": "11111111-2222-3333-4444-555555555555",
  "label": "Production session webhooks",
  "url": "https://yourapp.com/webhooks/didit",
  "enabled": false,
  "webhook_version": "v3",
  "secret_shared_key": "tno2NTeRC1ZK3sBOYlBJDyEzBVENl3pQ1AcZyAW0xnQ",
  "subscribed_events": [
    "status.updated",
    "data.updated"
  ],
  "created_at": "2026-01-04T08:00:00Z",
  "updated_at": "2026-05-17T11:02:55Z",
  "summary": {
    "total_deliveries": 12453,
    "failed_deliveries": 14,
    "error_rate_percentage": 0,
    "min_response_time_ms": 41,
    "avg_response_time_ms": 187,
    "max_response_time_ms": 2103,
    "last_delivery_at": "2026-05-17T09:21:18Z"
  }
}
Use this endpoint to change where a destination sends webhooks and which events it receives.

Updating subscribed_events

When you send subscribed_events, provide the complete event list that should remain subscribed after the update. The array replaces the previous subscription set.
{
  "subscribed_events": [
    "status.updated",
    "data.updated",
    "transaction.created",
    "transaction.status.updated"
  ]
}
Supported values are:
EventWhat it represents
status.updatedUser Verification (KYC) or Business Verification (KYB) session status changed.
data.updatedSession verification data changed after creation.
user.status.updatedUser entity status changed.
user.data.updatedUser entity data changed.
business.status.updatedBusiness entity status changed.
business.data.updatedBusiness entity data changed.
activity.createdActivity timeline entry created.
transaction.createdTransaction created and initially evaluated.
transaction.status.updatedTransaction status changed.
Use the create destination guide for detailed event descriptions and common subscription sets.

Authorizations

x-api-key
string
header
required

Path Parameters

destination_uuid
string<uuid>
required

UUID of the destination to update.

Body

application/json
label
string

New human-readable name.

url
string<uri>

New target URL. Must be unique within the application.

enabled
boolean

Set to false to pause deliveries to this destination without deleting it.

webhook_version
enum<string>

New payload schema version for future deliveries.

Available options:
v1,
v2,
v3
subscribed_events
enum<string>[]

Event filter for this webhook destination. Didit delivers only webhooks whose event type exactly matches one of these values — there is no wildcard subscription. When sent, the list must contain at least one valid event (an explicit [] is rejected with 400); a destination whose list is empty (field omitted at create) receives nothing. On update the list is replaced wholesale, never merged.

Minimum array length: 1

Supported webhook event name. Use these exact strings in subscribed_events; unsupported values are rejected.

Available options:
status.updated,
data.updated,
user.status.updated,
user.data.updated,
business.status.updated,
business.data.updated,
activity.created,
transaction.created,
transaction.status.updated
Example:
["status.updated", "data.updated"]

Response

Updated webhook destination. Body has the same shape as GET /v3/webhook/destinations/{destination_uuid}/.

uuid
string<uuid>
label
string
url
string<uri>
enabled
boolean
webhook_version
enum<string>
Available options:
v1,
v2,
v3
secret_shared_key
string
subscribed_events
enum<string>[]

Event filter for this webhook destination. Didit delivers only webhooks whose event type exactly matches one of these values — there is no wildcard subscription. When sent, the list must contain at least one valid event (an explicit [] is rejected with 400); a destination whose list is empty (field omitted at create) receives nothing. On update the list is replaced wholesale, never merged.

Minimum array length: 1

Supported webhook event name. Use these exact strings in subscribed_events; unsupported values are rejected.

Available options:
status.updated,
data.updated,
user.status.updated,
user.data.updated,
business.status.updated,
business.data.updated,
activity.created,
transaction.created,
transaction.status.updated
Example:
["status.updated", "data.updated"]
created_at
string<date-time>
updated_at
string<date-time>
summary
object