Plan changes are not supported by this mutation. To change a subscription’s plan, use provisionSubscription instead.
Mutation
Parameters
Input for updating a subscription
cancellationDate three-state semantics
cancellationDate is both optional and nullable. The three input states behave differently — pay attention if you marshal updates through a generic JSON-merge layer:
| Input state | Behavior |
|---|---|
| Field omitted from input | No change. Existing scheduled cancellation (if any) is preserved. |
cancellationDate: null | Clears any scheduled cancellation. Subscription continues / auto-renews. |
cancellationDate: "2024-12-31T00:00:00Z" | Sets or updates the scheduled cancellation to the supplied date. |
Return Type
Returns the updatedCustomerSubscription object.
Examples
Add Addon
Change Billing Period
Schedule a Cancellation
Queue a cancellation on an existing subscription. The subscription remains active until the supplied date.Clear a Scheduled Cancellation
Remove a previously scheduled cancellation. The subscription continues and will auto-renew.Trial behavior
Trial subscriptions acceptcancellationDate:
- Setting a date (
cancellationDate: "<date>") alignstrialEndDateto the supplied date — the trial ends and the subscription cancels on the same date. - Clearing the schedule (
cancellationDate: null) preserves the subscription’s originaltrialEndDate.
Common Use Cases
Add seats
Add seats
Increase addon quantity for seat-based subscriptions.
Switch to annual
Switch to annual
Change from monthly to annual billing.
Schedule a future cancellation
Schedule a future cancellation
Pass
cancellationDate to queue a cancel on a known date; pass null to clear an existing schedule.Related Operations
- Provision Subscription - Create or change a subscription’s plan
- Preview Subscription - Preview pricing impact
- Cancel Subscription - Cancel subscription
- Get Subscription - Get current subscription
