This article covers
How can I remove a Manual discount applied to a subscription via API?
Summary
You will be able to apply the Manual discounts to an existing subscription via API in two different ways - For specific items of the subscription or All items of the subscription, while using the “update_subscription_for_items” API call on the Chargebee sites with PC 2.0 version of Product Catalog.
Solution
Please find the following sample curl command to apply Manual discounts to a subscription
To apply a discount of 20% on specific items of the subscription,
curl https:/{site-name}.chargebee.com/api/v2/subscriptions/{subscription_id}/update_for_items \
-u {site_api_key}:\
-d discounts[apply_on][0]="specific_item_price" \
-d discounts[item_price_id][0]="{item_price_id}" \
-d discounts[duration_type][0]="{forever/onetime}" \
-d discounts[percentage][0]=20.0 \
-d discounts[operation_type][0]="add"
Here you need to pass the parameter discounts[apply_on][0…n] as "specific_item_price" and you need to pass the item price ID mandatorily in the parameter discounts[item_price_id][0…n]
To apply a discount of 20% on all items of the subscription,
curl https:/{site-name}.chargebee.com/api/v2/subscriptions/{subscription_id}/update_for_items \
-u {site_api_key}:\
-d discounts[apply_on][0]="invoice_amount" \
-d discounts[duration_type][0]="forever/onetime" \
-d discounts[percentage][0]=20.0 \
-d discounts[operation_type][0]="add"
Here you need to pass the parameter discounts[apply_on][0…n] as "invoice_amount".
You will be able to remove the discount by passing the value as "remove" for "discounts[operation_type][0...n]". In this case you don't have to pass all the details of the discount. You need to pass the "discounts[id][0...n]" parameter mandatorily. To get the correct discount ID of the discounts applied to a subscription, you can use "retrieve a subscription" API call.
Please access the API doc link below to know more about the discount parameters,
Related articles and Documentation
Adding Manual Discounts while creating subscriptions