Skip to main content
The Webhooks API allows you to create and manage webhooks that receive real-time notifications when escrow status changes, contracts are signed, cancellation requests are created, accepted, or rejected, a buyer rejects delivery, funds are added or refunded on an escrow, or identity verification status changes.
You can create a maximum of 2 webhooks per developer account. Choose your endpoints carefully.

Create Webhook

Create a new webhook endpoint to receive event notifications.

Request Body

string
required
Webhook URL (must be HTTPS in production)
array
Array of event types to subscribe to. Supported: escrow.status.updated, contract.signed, escrow.cancellation.requested, escrow.cancellation.rejected, escrow.cancellation.accepted, escrow.updated, escrow.deposit_proof.rejected (guest instant-escrow payment proof rejected by admin), escrow.delivery.rejected (buyer rejected delivery; includes optional reason), escrow.funds.added, escrow.funds.refunded (buyer add-funds / seller refund-funds adjustments), escrow.release_request.created, escrow.release_request.approved, escrow.release_request.auto_approved, escrow.release_request.disputed, escrow.release_request.resolved, escrow.release_request.released (per-period payouts on progressive-release escrows), escrow.balance.exhausted (no unreserved balance left; the escrow stays open for a top-up), identity.verification.updated (pre-account KYC approved or rejected), identity.verification.linked (KYC attached when user registers on DHMAD). Default: ["escrow.status.updated"]

Example Request

Example Response

The secret field is only returned when creating a webhook and when regenerating the secret. It is never included in list or get responses. Copy and store it immediately.

List Webhooks

Get all webhooks for your developer account.

Example Request

Example Response

Get Webhook

Get details of a specific webhook.

Path Parameters

string
required
The webhook ID

Example Request

Update Webhook

Update a webhook’s URL, events, or active status.

Path Parameters

string
required
The webhook ID

Request Body

string
New webhook URL (optional)
array
New array of event types (optional)
boolean
Whether the webhook is active (optional)

Example Request

Regenerate Secret

Generate a new signing secret for a webhook. The old secret will immediately stop working.

Path Parameters

string
required
The webhook ID

Example Request

Example Response

The new secret is only shown in this response. Copy and store it immediately, then update your webhook handler to use the new secret for signature verification.

Delete Webhook

Delete a webhook permanently.

Path Parameters

string
required
The webhook ID

Example Request

Example Response

Response Fields

Error Responses

400 Bad Request

Webhook Limit Reached
Invalid URL
HTTPS Required (Production)

401 Unauthorized

404 Not Found


For detailed information about webhook events, payloads, and signature verification, see the Webhooks Guide.