Cancelling and Resuming
Odus gives you two ways to cancel a subscription: immediately, or at the end of the current billing period. If you choose the end-of-period option, you can reverse it before the period ends by resuming the subscription.
Prerequisites
You need the ID of an active subscription. Only active subscriptions can be cancelled or resumed.
Cancelling a Subscription
Immediate cancellation
To cancel a subscription right away, send a POST /subscriptions/{id}/cancel request with cancelImmediately: true:
{
"cancelImmediately": true
}
Odus immediately:
- Voids all open invoices belonging to the subscription. No further charges are attempted.
- Sets the subscription
statustocancelled.
The customer loses access as soon as the request completes. This action cannot be undone. To re-subscribe the customer, you must create a new subscription.
End-of-period cancellation
To let the customer keep access until their current billing period ends, send cancelImmediately: false (this is also the default):
{
"cancelImmediately": false
}
Odus sets cancelAtPeriodEnd: true on the subscription. The subscription status remains active, and the customer continues to have access until currentPeriodEnd. When that date arrives, Odus cancels the subscription automatically without collecting any additional charge.
The response shows the pending cancellation state:
{
"id": "sub_2Q9fNQAs77Fhue9itgVFbUzq8NV",
"status": "active",
"cancelAtPeriodEnd": true,
"currentPeriodEnd": "2024-03-09T00:00:00.000Z"
}
A subscription that already has cancelAtPeriodEnd: true cannot be scheduled for cancellation again. Sending cancelImmediately: false to such a subscription returns a 400 error. You can either wait for the period to end, cancel immediately, or resume the subscription first.
Cancelling from the Dashboard
- Open the subscription detail page.
- Click Cancel Subscription.
- In the dialog, use the Cancel immediately toggle to choose between immediate and end-of-period cancellation.
- Click Cancel to confirm.
Resuming a Subscription
If you have scheduled a subscription for end-of-period cancellation and the billing period has not yet ended, you can reverse the decision.
Send a POST /subscriptions/{id}/resume request — no request body is required:
POST /subscriptions/sub_2Q9fNQAs77Fhue9itgVFbUzq8NV/resume
Odus sets cancelAtPeriodEnd back to false. The subscription returns to its normal billing state and will renew at currentPeriodEnd as usual.
Resuming from the Dashboard
- Open the subscription detail page.
- Click Resume Subscription.
- Confirm in the dialog.
Edge case: already cancelled subscriptions
Resume only works when a subscription is active with cancelAtPeriodEnd: true. A subscription whose status is already cancelled cannot be resumed. You must create a new subscription for the customer instead.
Related Guides
- Subscription Lifecycle — how subscription statuses, billing cycles, and invoices work together
- Updating Plans — how to change a subscription's pricing plan