POST /subscriptions/{subscription-id}/delete
Deletes a specified subscription.
This operation schedules the subscription resource for deletion, and it is permanently deleted after a few minutes. If you wish to retain the subscription data but stop further renewals, consider canceling or pausing the subscription instead.
Prerequisites & Constraints
- There must not be any invoices belonging to this subscription that have allocations from credit notes not belonging to this subscription.
- There must not be any credit notes belonging to this subscription that have been allocated to invoices not belonging to this subscription.
- There should not be any consolidated invoices for the customer with lines belonging to this subscription.
Impacts
Invoices
- All the invoices belonging to the subscription are deleted.
- See Delete an invoice API for more details on the impacts of deleting an invoice.
Credit notes
All the credit notes belonging to this subscription are deleted.
Transactions
All the transactions belonging to this subscription are deleted.
Usages
All usages belonging to this subscription are deleted.
Usage events
Deleting a subscription does not delete the associated usage events.
Reporting
The numbers in the following reports are modified when a subscription is deleted: Payments, New Revenue, Signups, Activations, Cancellations, and Refunds.
Integrations
Deleting a subscription may affect any third-party integrations you may have with Chargebee Billing. Review all integrations to assess the impact before proceeding.
Implementation Notes
Before deleting a subscription, ensure the following:
- Retrieve all the invoices for this subscription using the List invoices API. For each invoice, look up all the applied credit notes (
credit_note.applied_credits.cn_id). For all such credit notes, check if the associated subscription (credit_note.subscription_id) is this subscription. If not, use the Remove credit note from an invoice API to remove the credit note allocation. - Retrieve all the credit notes for this subscription using the List credit notes API. For each credit note, look up all the invoice allocations (
credit_note.allocations.invoice_id). For all such invoices, check if the associated subscription (invoice.subscription_id) is this subscription. If not, use the Remove credit note from an invoice API to remove the allocation. - Delete any consolidated invoices containing lines belonging to this subscription.
Servers
- {protocol}://{site}.{environment}:{port}/api/v2
- {protocol}://{site}-test.{environment}:{port}/api/v2
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
subscription-id |
String | Yes |
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
chargebee-request-origin-device |
String | No |
The device from which the customer has made the request |
chargebee-event-webhook |
String | No |
skip only webhooks Valid values:
|
chargebee-business-entity-id |
String | No |
If the site has multiple business entities, you can use this custom HTTP header to specify the business entity for which Chargebee should perform the operation. |
chargebee-event-actions |
String | No |
skip all actions to be done on the events Valid values:
|
chargebee-request-origin-user |
String | No |
The email address of your customer/user. Use this when the email address has only ASCII characters. |
chargebee-request-origin-ip |
String | No |
The IP address of the customer where the request originated |
chargebee-request-origin-user-encoded |
String | No |
The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored. |
chargebee-event-email |
String | No |
skip only emails Valid values:
|
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.