Skip to main content
The Update Webhook endpoint lets you change any combination of fields on an existing webhook without needing to delete and re-create it. Updating does not rotate the signing secret. Only include the fields you want to change — unspecified fields remain unchanged. This endpoint requires the webhooks:write permission.

Request

Headers

string
required
Bearer token using your API key. Format: Bearer cs_live_your_key
string
required
Must be application/json.

Path parameters

string
required
The unique identifier of the webhook to update (e.g., wh_01hx4kz9mntd8vr2bpqe5ycf3a).

Request body

All body fields are optional. Send only the fields you want to change.
string
New destination HTTPS URL for event deliveries.
array[string]
Replacement list of event types to subscribe to. This fully replaces the current list — include all events you want, not just the new ones.
Supported events are donation.created, donation.updated, subscription.created, subscription.updated, subscription.cancelled, subscription.payment_method_updated, contact.created, contact.updated, form.created, and form.updated.
string
Updated human-readable description for this webhook.
string
New status for the webhook. Accepted values: ACTIVE or DISABLED. Setting to DISABLED stops event delivery without deleting the webhook.

Response

200 — success

Returns the full updated webhook object. See List Webhooks for a description of all fields.

400 — bad request

Returned when the request body is invalid — for example, if url is not a valid HTTPS URL or events is an empty array.

403 — forbidden

Returned when the webhook exists but belongs to a different merchant account.

404 — not found

Returned when no webhook with the given id exists under your merchant account.

Examples

Sample response (200)
To re-enable a previously disabled webhook, send {"status": "ACTIVE"}. Event deliveries resume immediately for new events — past events that occurred while the webhook was disabled are not replayed.