When this fires
Triggered (subscription.expired) when a subscription actually ends and the
subscriber loses access — the paid period ran out without renewing, a renewal
payment failed, or one of the accounts was deleted or banned.
This is the terminal event in the subscription lifecycle. Where
subscription.cancelled tells you a
cancellation was scheduled, subscription.expired tells you access has now been
removed. Note that an expiry is not always preceded by a cancellation — a
failed renewal expires a subscription with no prior subscription.cancelled.
Requires the
read:creator scope.Payload
recipientUuid: UUID of the creator who was subscribed tosubscriberUuid: UUID of the fan whose subscription expiredreason: Why it ended. One ofpayment_failed,not_renewed,user_deleted,user_banned,other.expiredAt: ISO 8601 time access was removedclientReferenceId: The attribution reference captured on the original subscription purchase, echoed here so churn events carry the same attribution as thesubscription.newevent. Omitted when the subscription was not attributed. See Checkout Attribution.metadata: The custom metadata captured on the original subscription purchase, echoed here. Omitted when none was set.timestamp: ISO 8601 time the event was emitted