subscription resource. They are delivered in the
Standard-Webhooks envelope; the
fields below describe the data object.
A subscription is a fan’s active, recurring access to a product sold through
a checkout link. Fanvue models cancellation as
cancel_at_period_end plus an
expires_at, not an immediate removal: a fan who cancels keeps access until
expires_at, and the deactivated event fires when access actually ends.Subscription resource
Examples
checkout_link.subscription.activated
checkout_link.subscription.cancel_at_period_end_changed
checkout_link.subscription.deactivated
Managing subscriptions
The events above fire regardless of how a subscription changes. A creator can also drivecancel_at_period_end themselves, from the Fanvue dashboard or through the API.
Listing requires the
read:creator scope and the earnings:read creator
permission. Cancel and uncancel require write:creator and monetization:manage. Full
request and response shapes are in the API Reference.
These endpoints return the subscription in camelCase (
cancelAtPeriodEnd,
expiresAt), while the webhook data object above uses snake_case
(cancel_at_period_end, expires_at). The same subscription reaches you
under both spellings depending on which side you read it from.cancelledBy: null, uncancel returns 409 and the
cancellation stands. In that case the subscriber restarts their own
subscription by purchasing again.
Cancelling a subscription whose renewal is still being retried stops further
charge attempts immediately. Access has already lapsed, so the response reports
status: expired and no webhook fires: deactivated was already emitted when
the failed renewal ended the subscription.