Skip to main content
GET
/
v3
/
webhook
/
destinations
/
curl
curl -X GET 'https://verification.didit.me/v3/webhook/destinations/' \
  -H 'x-api-key: YOUR_API_KEY'
[
  {
    "uuid": "11111111-2222-3333-4444-555555555555",
    "label": "Production session webhooks",
    "url": "https://yourapp.com/webhooks/didit",
    "enabled": true,
    "webhook_version": "v3",
    "subscribed_events": [
      "status.updated",
      "data.updated"
    ],
    "subscribed_events_count": 2,
    "deliveries_count": 12453,
    "failed_deliveries_count": 14,
    "average_response_time_ms": 187,
    "error_rate_percentage": 0,
    "last_delivery_at": "2026-05-17T09:21:18Z",
    "created_at": "2026-01-04T08:00:00Z",
    "updated_at": "2026-04-22T14:09:11Z"
  },
  {
    "uuid": "22222222-3333-4444-5555-666666666666",
    "label": "Staging mirror",
    "url": "https://staging.yourapp.com/webhooks/didit",
    "enabled": false,
    "webhook_version": "v3",
    "subscribed_events": [
      "status.updated"
    ],
    "subscribed_events_count": 1,
    "deliveries_count": 0,
    "failed_deliveries_count": 0,
    "average_response_time_ms": null,
    "error_rate_percentage": 0,
    "last_delivery_at": null,
    "created_at": "2026-03-12T10:15:02Z",
    "updated_at": "2026-03-12T10:15:02Z"
  }
]

Authorizations

x-api-key
string
header
required

Response

List of webhook destinations (unpaginated, oldest first).

uuid
string<uuid>

Stable destination identifier; use as {destination_uuid} for update/delete.

label
string

Human-readable name shown in the Console.

url
string<uri>

Destination URL that receives POST requests with the webhook payload.

enabled
boolean

When false, Didit silently skips delivery to this destination.

webhook_version
enum<string>

Payload schema version sent to this destination. v3 is the current/recommended format.

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"]
subscribed_events_count
integer

Cached length of subscribed_events, useful for UI rendering.

deliveries_count
integer

Total delivery attempts (successful + failed) recorded for this destination.

failed_deliveries_count
integer

Delivery attempts whose target responded with HTTP ≥ 400 (or did not respond).

average_response_time_ms
integer | null

Average target response time in milliseconds, rounded to an integer. null if no deliveries yet.

error_rate_percentage
integer

round(failed_deliveries_count / deliveries_count * 100); 0 when there are no deliveries.

last_delivery_at
string<date-time> | null

Timestamp of the most recent delivery attempt (success or failure). null if never delivered.

created_at
string<date-time>
updated_at
string<date-time>