Update Pricing Attributes
Learn how to update the PricingAttributes of ABP charges using the REST API, including explicit updates to the originalListPrice field.
The PricingAttributes of ABP charges can be updated via update product order action through REST API.
When PricingAttributes is updated, the charge's originalListPrice will not be updated automatically. You need to update its value through the originalListPrice field explicitly.
To update the pricing attributes by creating an order:
- Determine the values of the following variables and configure the dynamic pricing enabled charge in the product catalog accordingly:
Variable
Description
$AccountNumThe number of the account that will own the order. For example,
A00000001.$subscriptionNumberThe number of the subscription that will own the rate plans. For example,
A-S0000001.$subscriptionRatePlanIdThe ID of the subscription rate plan. For example,
8a90876c84ae5ef70184c2080c307343.$chargeNumberThe number of the subscription rate plan charge to be updated. For example,
C-00036197.$TodayToday's date. For example,
2025-07-20. - Refer to the example payload to create a new order. In this example, you update the pricing attribute of the charge, site_size from seven to 99,
originalListPriceto $22, and quantity of the charge to 15. The charge with number$chargeNumberwas added by the previous Add Product example.Request
POST /v1/orders/Request Body
{ "existingAccountNumber": "$AccountNum", "orderDate": "$Today", "subscriptions": [ { "subscriptionNumber": "$subscriptionNumber", "orderActions": [ { "updateProduct": { "ratePlanId": "$subscriptionRatePlanId", "customFields": { "RateClass__c": "High" }, "chargeUpdates": [ { "chargeNumber": "$chargeNumber", "pricingAttributes": { "Site_Size": 99 }, "pricing": { "recurringPerUnit": { "originalListPrice": 22, "quantity": 15 } } } ] }, "triggerDates": [ { "name": "ContractEffective", "triggerDate": "$Today" }, { "name": "CustomerAcceptance", "triggerDate": "$Today" }, { "name": "ServiceActivation", "triggerDate": "$Today" } ], "type": "UpdateProduct" } ] } ] } - After the rate plan is updated successfully, you can retrieve the
pricingAttributesvalue of the charge via the GET subscription end point. This is an example response ofpricingAttributes."pricingAttributes": {
"Site_Size": 99,
"Account_Type": "VIP",
"EffectiveDate": "2025-06-20T00:00:00+08:00",
"Subscription_Renewal_Term": 12,
"Subscription_RatePlan_Class": "Low"
}
Note:pricingAttributesincludes all the pricing attribute values including both external attributes and attributes mapped to Zuora object fields.