subscription.updated
A subscription changed while it stayed live: a trial converted, the plan or billing cadence changed, a freeze started or ended, or a failed payment recovered. previous_attributes holds the prior values.
Sent only for subscriptions on the subscription billing engine — a membership on the legacy model emits no subscription.* signals. See the Subscription object for how to tell the two apart.
Scope: the webhook endpoint’s scopes must include customers:read. Missed a delivery? The same signal is available from GET /v1/signals.
Header Parameters
The delivery id — stable across retries of the same signal. Not the same string as the body’s id, but one-to-one with it, so either works as a dedupe key.
When this attempt was sent, in Unix seconds.
Signature over the id, timestamp and raw body, made with your endpoint’s secret. Verify it with any Standard Webhooks library before trusting the payload.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
Example Requests
/subscription.updated