Skip to main content
PATCH
/
api
/
webhooks
/
subscriptions
/
{id}
Update subscription
curl --request PATCH \
  --url https://api.example.com/api/webhooks/subscriptions/{id} \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "<string>",
  "events": [
    "<string>"
  ],
  "status": "<string>",
  "label": "<string>"
}
'
{
  "id": "1c84203c-b4e3-40de-83a9-51bc0d9c991f",
  "url": "https://hooks.example.com/teel",
  "events": ["payout.created", "payout.status.updated"],
  "status": "paused",
  "secretPrefix": "whsec_Pdt_BP",
  "label": "Production receiver",
  "lastSuccessAt": "2026-05-27T09:31:02Z",
  "lastFailureAt": null,
  "createdAt": "2026-05-27T09:30:00Z",
  "updatedAt": "2026-05-27T10:15:00Z"
}
All fields are optional — any field you omit stays unchanged. Returns the updated subscription. Pausing stops new deliveries from being enqueued; in-flight retries continue.
Scope webhooks:write · rate-limited

Headers

Authorization
string
required
API key.

Path parameters

id
string
required
Subscription UUID.

Request body

url
string
New endpoint URL. Same validation rules as Create.
events
string[]
New event allow-list. Replaces the existing list.
status
string
active or paused. disabled is reserved for ops-side use and not user-settable.
label
string
New label.

Response

Same shape as one row on List subscriptions.
{
  "id": "1c84203c-b4e3-40de-83a9-51bc0d9c991f",
  "url": "https://hooks.example.com/teel",
  "events": ["payout.created", "payout.status.updated"],
  "status": "paused",
  "secretPrefix": "whsec_Pdt_BP",
  "label": "Production receiver",
  "lastSuccessAt": "2026-05-27T09:31:02Z",
  "lastFailureAt": null,
  "createdAt": "2026-05-27T09:30:00Z",
  "updatedAt": "2026-05-27T10:15:00Z"
}