Update a webhook subscription

Partial update of a webhook subscription's URL, ownership scope, subscribed events, description, and metadata. A routing/configuration change atomically advances configurationGeneration, cancels attempts whose network request has not begun, and applies only to newly accepted events. A request already started before the commit may finish, but cannot schedule another attempt. Changing scope requires platform.webhook:write on both the stored and proposed scope and atomically transfers quota from the old partition to the new partition; the request returns 409 without changing either partition when the destination would exceed 100. Secret rotation uses rotateWebhookSecret. When supplied, Idempotency-Key snapshots the successful response so a retry cannot apply the PATCH twice; reuse with a different request body returns 409 IdempotencyKeyConflict.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
Body Params

Partial update of webhook subscription config. Status transitions use /webhooks/{id}/enable or /disable; secret rotation uses /webhooks/{id}/rotate-secret. A URL, scope, event-pattern, or secret change cancels pending deliveries and applies only to events accepted after the change. Re-enabling never replays missed events.

uri

Subject to the same save-time and per-POST subscriber URL security policy as create.

string
subscribedEvents
array of strings, unique
length between 1 and 500

Scope-aware exact/prefix/global patterns; the complete updated scope/pattern set must intersect the generated allowed routing types.

subscribedEvents
scope

Explicit subject scope shared by subscriptions and the event log. Types never imply one another: Organization scope never includes Persons, Person scope never infers Accounts, and Account scope never grants sibling or Organization access.

metadata
object

Free-form key-value pairs. Max 50 keys; key length at most 40 characters; value length at most 500 characters. Where a list endpoint declares metadata filtering, it uses the QueryQL namespace via filter[metadata.{key}][eq]=value or filter[metadata.{key}][in][]=value. Endpoints that do not declare the dynamic Metadata filter do not support Metadata filtering.

Headers
string
length between 1 and 255
^[\x21-\x7e]{1,255}$

Optional idempotency token for authenticated POST and PATCH requests. Reusing the same key and body returns the cached response for 24 hours, except credential operations that explicitly document a 409 because one-time secret material is never cached; reusing it with a different body returns 409 IdempotencyKeyConflict. Use 1-255 printable ASCII characters.

string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json