v8

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-05730512.7 KB
Webhooks

Create a webhook endpoint

Register a webhook endpoint. Didit ID signs every delivery with the returned secret using HMAC-SHA256 and sends the X-Didit-Signature and X-Didit-Timestamp headers (see the signature-verification note below). Save the returned secret — it is only shown once. Provide subscribed_events to filter, or omit it to receive every event type.

post/v1/webhooks

Request body

labelstring required

You set a human-readable label for the endpoint.

urlstring uri required

You set the destination URL (http or https) that receives POST deliveries.

subscribed_eventsstring[]

You optionally set the event types to deliver. Omit or send an empty array to receive every event type.

enabledboolean

You optionally set whether the endpoint is active. Defaults to true.

Example request

{
  "label": "Production events",
  "url": "https://api.acme.example/webhooks/didit",
  "subscribed_events": [
    "credential.issued",
    "presentation.verified"
  ],
  "enabled": true
}

Response

The webhook endpoint was created. The full signing secret is returned once.

idstring uuid

You receive the UUID for this webhook endpoint.

labelstring

You receive the endpoint label.

urlstring uri

You receive the destination URL that receives POST deliveries.

secretstring

You receive the full signing secret. Store it now — subsequent reads mask it.

subscribed_eventsstring[]

You receive the event types this endpoint is subscribed to. An empty array means all event types are delivered.

enabledboolean

You receive true when the endpoint is active and receiving deliveries.

created_atstring date-time

You receive the timestamp when the endpoint was created.

updated_atstring date-time

You receive the timestamp when the endpoint was last updated.

Example response

{
  "id": "b8f0f4a2-2b1e-4b3a-9d0e-4a1c2d3e4f50",
  "label": "Production events",
  "url": "https://api.acme.example/webhooks/didit",
  "secret": "kQ8v...s9Zx",
  "subscribed_events": [
    "credential.issued",
    "presentation.verified"
  ],
  "enabled": true,
  "created_at": "2026-07-02T23:51:58.746686+00:00",
  "updated_at": "2026-07-02T23:51:58.746686+00:00"
}