Lifecycle at a glance
Retrieve and list
Pause and resume
Pausing stops the next billing cycle. The user keeps their existing access until the current period ends, but the renewal won’t fire. Passuntil to schedule an automatic resume.
Cancel
Two cancellation modes.cancel_at_period_end: true keeps access until the current renewal date and then deactivates. Omit it (or pass false) to revoke access immediately.
cancel_at_period_end: true flips cancel_at_period_end to true on the membership. The user keeps access until renewal, then the membership deactivates and membership.deactivated fires. Omitting the field revokes access immediately, so send it explicitly whenever you mean to cancel at period end.Restore a cancellation
If the user changes their mind before the period ends, undo a pending period-end cancellation. Has no effect if the membership wasn’t scheduled to cancel.Add free days
Comp the user with extra time on their current period. The next renewal date moves forward byfree_days. Useful for service interruptions, support gestures, or referral rewards.
free_days accepts 1 through 1095 (3 years).
Update metadata
Patch arbitrary metadata or other writable fields on the membership.Listen for lifecycle events
Subscribe via webhooks. These are the events that fire across the lifecycle:
For
pause / resume / add_free_days, the membership status doesn’t flip, so no activation/deactivation event fires. If you need to confirm the mutation succeeded, retrieve the membership after the call or poll on your own schedule.
Next steps
Accept payments
Where memberships come from. One-time and recurring checkouts.
Save payment methods
On-file cards for future renewals and off-session billing.
Listen to webhooks
React to activation, deactivation, and cancellation toggles.
Memberships API reference
Full resource: fields, statuses, and every endpoint.

