Update a Webhook Subscription
Partial update: any of url, events, metadata. Absent fields are
left unchanged; a body carrying none of the three is rejected with
400 missing_required_field.
url— validated with the same HTTPS/SSRF rules as creation.events— must be non-empty when present; every entry must be a known event type or the"*"wildcard (unknown types fail with422, keyed by position).metadata— replaces the whole map ({}clears it); no per-key merge.
status and the signing secret are not patchable — unknown fields
are rejected with 400 unknown_field. Use
POST /v1/webhooks/{id}/deactivate and
POST /v1/webhooks/{id}/secret/rotate instead.
Requires an Idempotency-Key header.
Authorizations
Per-request DPoP proof JWT (RFC 9449). MUST accompany the Authorization: DPoP <access_token> header on every protected operation. The proof is signed by the merchant's private DPoP key and carries htm, htu, iat, jti, and ath claims.
Headers
Unique key identifying this operation. Sending the same key twice returns the original response instead of creating a duplicate. Keys are retained for 24 hours.
255Path Parameters
^whk_[a-zA-Z0-9]+$Body
Partial update for PATCH /v1/webhooks/{id}. Include at least one
field. metadata replaces the entire map. Status changes and secret
rotation go through their dedicated endpoints.
New HTTPS delivery URL. Same validation rules as creation.
Full replacement event filter. Must be non-empty when present.
See Webhook Events for the full catalog
and payload shapes. Some reserved event types (balance.low on some
paths) may be defined but not yet dispatched — subscribing to them is
safe but no deliveries arrive until they're wired up.
payout.created, payout.approved, payout.processing, payout.sent, payout.completed, payout.failed, payout.cancelled, payout.returned, payout.screening_failed, payout.velocity_blocked, payout.engine_blocked, beneficiary.created, beneficiary.updated, beneficiary.deleted, beneficiary.blocked, instrument.created, instrument.updated, instrument.deleted, batch.uploaded, batch.completed, batch.failed, fx.quote.created, fx.exchange.created, fx.exchange.completed, fx.exchange.failed, funding.credit, screening.hit, intelligence.evaluation.completed, intelligence.evaluation.failed, balance.low, test Response
The updated subscription (same shape as GET; the secret is never included).
A registered webhook endpoint and its event filter.