# Retrieve a rate plan Retrieve the details of a specific Rate Plan object. Endpoint: GET /object-query/rate-plans/{key} Version: 2026-02-20 Security: bearerAuth ## Header parameters: - `Idempotency-Key` (string) Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident. - `Accept-Encoding` (string) Include the Accept-Encoding: gzip header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response. If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a Content-Encoding header with the compression algorithm so that your client can decompress it. - `Content-Encoding` (string) Include the Content-Encoding: gzip header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload. - `Zuora-Track-Id` (string) A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue. The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (:), semicolon (;), double quote ("), and quote ('). - `Zuora-Entity-Ids` (string) An entity ID. If you have Zuora Multi-entity enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you should not set this header. - `Zuora-Org-Ids` (string) Comma separated IDs. If you have Zuora Multi-Org enabled, you can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header. The IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails. This header is important in Multi-Org (MO) setups because it defines the organization context under which the API should operate—mainly used for read access or data visibility filtering. If the header is not set, the operation is performed in scope of the user's accessible orgs. - `Zuora-Version` (string) The minor API version. For a list of available minor versions, see API upgrades. ## Path parameters: - `key` (string, required) ID of a rate plan. ## Query parameters: - `pageSize` (integer) The maximum number of results to return in a single page. If the specified pageSize is less than 1 or greater than 99, Zuora will return a 400 error. - `cursor` (string) A cursor for use in pagination. A cursor defines the starting place in a list. For instance, if you make a list request and receive 100 objects, ending with next_page=W3sib3JkZXJ=, your subsequent call can include cursor=W3sib3JkZXJ= in order to fetch the next page of the list. - `sort[]` (array) A case-insensitive query parameter that specifies the sort order of the list, which can be either ascending (e.g. accountnumber.ASC) or descending (e.g. accountnumber.DESC). You cannot sort on properties in arrays. If the array-type properties are specified for the sort[] parameter, they are ignored. - `expand[]` (array) Allows you to expand responses by including related object information in a single call. Enum: "subscription", "productrateplan", "rateplancharges", "rateplancharges.rateplanchargetiers" - `filter[]` (array) A case-insensitive filter on the list. - `fields[]` (array) A case-insensitive query parameter that allows you to specify which fields are returned in the response. Example: "id,createddate" - `includeNullFields` (boolean) Specifies whether to include fields with the null value in the response. - If set to true, all fields will be returned in the response, including those with the null value. - If set to false, only fields with non-null values will be returned. ## Response 200 fields (application/json): - `id` (string) The unique identifier of the rate plan. - `createdById` (string) The unique identifier of the user who created the rate plan. - `createdDate` (string) The date and time when the rate plan was created. - `updatedById` (string) The unique identifier of the user who last updated the rate plan. - `updatedDate` (string) The date and time when the rate plan was last updated. - `productId` (string) The unique identifier of the product associated with the rate plan. - `amendmentId` (string) The unique identifier of the amendment made to the subscription. Note: This field is not available for single version subscriptions. - `amendmentType` (string) The type of amendment associated with the rate plan. This field only applies to amendment rate plans. Note: This field is not available for single version subscriptions. - `name` (string) The name of the rate plan. - `productRatePlanId` (string) The unique identifier of the product rate plan that the rate plan is based on. - `subscriptionId` (string) The unique identifier of the subscription associated with the rate plan. - `subscriptionOwnerId` (string) The unique identifier of the account that owns the subscription. - `invoiceOwnerId` (string) The unique identifier of the account that will pay the invoice. - `reverted` (boolean) Indicates whether the rate plan has been reverted. - `externallyManagedPlanId` (string) Indicates the unique identifier for the rate plan purchased on a third-party store. This field is used to represent a subscription rate plan created through third-party stores. - `originalRatePlanId` (string) The original ID of the subscription rate plan, which is the ID of the subscription rate plan in the version-1 subscription. - `subscriptionOfferId` (string) The unique identifier of the subscription offer associated with the rate plan. Note: This field is not available for single version subscriptions. - `subscriptionRatePlanNumber` (string) The number of the rate plan in the subscription. - `subscription` (object) - `subscription.id` (string) The unique identifier of the subscription. - `subscription.createdById` (string) The unique identifier of the user who created the subscription. - `subscription.createdDate` (string) The date and time when the subscription was created in the Zuora system, in the yyyy-mm-dd hh:mm:ss format. - `subscription.updatedById` (string) The unique identifier of the user who last updated the subscription. - `subscription.updatedDate` (string) The date and time when the subscription was last updated, in the yyyy-mm-dd hh:mm:ss format. - `subscription.accountId` (string) The ID of the account associated with this subscription. - `subscription.autoRenew` (boolean) If true, the subscription automatically renews at the end of the term. - `subscription.cancelledDate` (string) The date on which the subscription was canceled. - `subscription.contractAcceptanceDate` (string) The date when the customer accepts the contract, in the yyyy-mm-dd format. If this field is not set: - If the serviceActivationDate field is not set, the value of this field is set to be the contract effective date. - If the serviceActivationDate field is set, the value of this field is set to be the service activation date. The billing trigger dates must follow this rule: contractEffectiveDate <= serviceActivationDate <= contractAcceptanceDate - `subscription.contractEffectiveDate` (string) The date when the subscription is activated, in the yyyy-mm-dd format. You must specify a Service Activation date if the Customer Acceptance date is set. If the Customer Acceptance date is not set, the value of the serviceActivationDate field defaults to be the Contract Effective Date. The billing trigger dates must follow this rule: contractEffectiveDate <= serviceActivationDate <= contractAcceptanceDate - `subscription.creatorAccountId` (string) The ID of the account that created the subscription. This field is automatically populated with the ID of the account that creates the subscription. Note: This field is not available for single version subscriptions. - `subscription.creatorInvoiceOwnerId` (string) The account ID that owns the invoices associated with the subscription or the amended subscription. Note: This field is not available for single version subscriptions. - `subscription.currentTerm` (integer) The length of the period for the current subscription term. - `subscription.currentTermPeriodType` (string) The period type for the current subscription term. Enum: "Month", "Year", "Day", "Week" - `subscription.initialTerm` (integer) The length of the period for the initial subscription term. - `subscription.initialTermPeriodType` (string) The period type for the first subscription term. Enum: "Month", "Year", "Day", "Week" - `subscription.invoiceOwnerId` (string) The account ID that owns the invoices associated with the subscription. - `subscription.isInvoiceSeparate` (boolean) Determines if the subscription is invoiced separately. If true, then all charges for this subscription are collected into the subscription's own invoice. - `subscription.isSingleVersioned` (boolean) If true, the subscription is a single version subscription. - `subscription.name` (string) The name of the subscription. - `subscription.notes` (string) Additional information about the subscription. - `subscription.originalCreatedDate` (string) The date when the subscription was originally created. This value is the same as the createdDate value until the subscription is amended. - `subscription.originalId` (string) The original rate plan charge ID. Only available for update subscription. Note: This field is not available for single version subscriptions. - `subscription.previousSubscriptionId` (string) The ID of the previous subscription. This field is only available if the subscription is a renewal subscription. Note: This field is not available for single version subscriptions. - `subscription.renewalSetting` (string) Specifies whether a termed subscription will remain TERMED or change to EVERGREEN when it is renewed. Enum: "RENEW_WITH_SPECIFIC_TERM", "RENEW_TO_EVERGREEN" - `subscription.renewalTerm` (integer) The length of the period for the subscription renewal term. - `subscription.renewalTermPeriodType` (string) The period type for the subscription renewal term. Enum: "Month", "Year", "Day", "Week" - `subscription.revision` (string) An auto-generated decimal value uniquely tagged with a subscription. The value always contains one decimal place, for example, the revision of a new subscription is 1.0. If a further version of the subscription is created, the revision value will be increased by 1. Also, the revision value is always incremental regardless of deletion of subscription versions. - `subscription.serviceActivationDate` (string) The date on which the services or products within a subscription have been activated and access has been provided to the customer, in the yyyy-mm-dd format. - `subscription.status` (string) Subscription status. Enum: "Draft", "Pending Activation", "Pending Acceptance", "Active", "Cancelled", "Suspended" - `subscription.isLatestVersion` (boolean) If true, the current subscription object is the latest version. Note: This field is not available for single version subscriptions. - `subscription.subscriptionEndDate` (string) The date when the subscription term ends, where the subscription ends at midnight the day before. For example, if the subscriptionEndDate is 12/31/2016, the subscriptions ends at midnight (00:00:00 hours) on 12/30/2016. This date is the same as the term end date or the cancelation date, as appropriate. - `subscription.subscriptionStartDate` (string) Date the subscription becomes effective. - `subscription.subscriptionVersionAmendmentId` (string) The ID of the amendment made to this subscription version. Note: This field is not available for single version subscriptions. - `subscription.termEndDate` (string) Date the subscription term ends. If the subscription is evergreen, this is null or is the cancellation date (if one has been set). - `subscription.termStartDate` (string) Date the subscription term begins. If this is a renewal subscription, this date is different from the subscription start date. - `subscription.termType` (string) The type of the subscription term. Enum: "TERMED", "EVERGREEN" - `subscription.version` (integer) This is the subscription version automatically generated by Zuora Billing. Each order or amendment creates a new version of the subscription, which incorporates the changes made in the order or amendment. - `subscription.cMRR` (number) Monthly recurring revenue of the subscription. - `subscription.billToContactSnapshotId` (string) The ID of the bill-to contact snapshot. - `subscription.billToContactId` (string) The ID of the bill-to contact for the subscription. - `subscription.invoiceTemplateId` (string) The ID of the invoice template associated with the subscription. Note: - If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is null in the response body. - If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select Default Template from Account for this field during subscription creation, the value of this field is automatically set to null in the response body. - `subscription.sequenceSetId` (string,null) The ID of the sequence set associated with the subscription. Note: - If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is null in the response body. - If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select Default Set from Account for this field during subscription creation, the value of this field is automatically set to null in the response body. - `subscription.shipToContactId` (string) The ID of the ship-to contact for the subscription. - `subscription.shipToContactSnapshotId` (string) The ID of the ship-to contact snapshot. - `subscription.soldToContactId` (string) The ID of the sold-to contact for the subscription. - `subscription.soldToContactSnapshotId` (string) The ID of the sold-to contact snapshot. - `subscription.externallyManagedBy` (string) An enum field on the Subscription object to indicate the name of a third-party store. This field is used to represent subscriptions created through third-party stores. Enum: "Amazon", "Apple", "Google", "Roku" - `subscription.lastBookingDate` (string) The last booking date of the subscription object. This field is writable only when the subscription is newly created as a first version subscription. You can override the date value when creating a subscription through the Subscribe and Amend API or the subscription creation UI (non-Orders). Otherwise, the default value today is set per the user's timezone. The value of this field is as follows: * For a new subscription created by the [Subscribe and Amend APIs](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Orders_Harmonization/Orders_Migration_Guidance#Subscribe_and_Amend_APIs_to_Migrate), this field has the value of the subscription creation date. * For a subscription changed by an amendment, this field has the value of the amendment booking date. * For a subscription created or changed by an order, this field has the value of the order date. - `subscription.invoiceScheduleId` (string) The ID of the invoice schedule associated with the subscription. If multiple invoice schedules are created for different terms of a subscription, this field stores the latest invoice schedule. Note: This field is available only if you have the Billing Schedule feature enabled. - `subscription.cancelReason` (string) The reason for a subscription cancellation copied from the changeReason field of a Cancel Subscription order action. This field contains valid value only if a subscription is cancelled through the Orders UI or API. Otherwise, the value for this field will always be null. - `subscription.prepayment` (boolean) Whether the subscription is prepaid. - `subscription.currency` (string) The currency of the subscription. Note: This field is available only if you have the Multiple Currencies feature enabled. - `subscription.orderId` (string) The ID of the order associated with the subscription. Note: This field is available only for orders that exist after the end of June 2023. - `subscription.rampId` (string) The ID of the ramp object associated with the subscription. Note: This field is available only if you have the Ramp feature enabled. - `subscription.paymentTerm` (string) Name of the payment term associated with the account. For example, "Net 30". The payment term determines the due dates of invoices. - `subscription.quoteNumber__QT` (string) The unique identifier of the Quote. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes. - `subscription.quoteType__QT` (string) The Quote type that represents the subscription lifecycle stage such as New, Amendment, Renew or Cancel. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes. - `subscription.quoteBusinessType__QT` (string) The specific identifier for the type of business transaction the Quote represents such as New, Upsell, Downsell, Renewal or Churn. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes. - `subscription.opportunityName__QT` (string) The unique identifier of the Opportunity. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes. - `subscription.opportunityCloseDate__QT` (string) - `subscription.cpqBundleJsonId__QT` (string) The Bundle product structures from Zuora Quotes if you utilize Bundling in Salesforce. Do not change the value in this field. - `subscription.account` (object) The subscription owner account associated with the subscription. - `subscription.invoiceOwner` (object) The invoice owner account associated with the subscription. - `subscription.billToContact` (object) The bill-to contact who pays the billing documents for this subscription. - `subscription.invoiceItems` (array) The invoice items associated with the subscription. - `subscription.ratePlans` (array) The rate plans associated with the subscription. - `productRatePlan` (object) - `productRatePlan.id` (string) The unique identifier of the product rate plan. - `productRatePlan.createdById` (string) The unique identifier of the user who created the product rate plan. - `productRatePlan.createdDate` (string) The date and time when the product rate plan was created. - `productRatePlan.updatedById` (string) The unique identifier of the user who last updated the product rate plan. - `productRatePlan.updatedDate` (string) The date and time when the product rate plan was last updated. - `productRatePlan.productId` (string) The unique identifier of the product to which this product rate plan belongs. - `productRatePlan.name` (string) The name of the product rate plan. - `productRatePlan.description` (string) A description of the product rate plan. - `productRatePlan.effectiveStartDate` (string) First date the rate plan is active (i.e., available to be subscribed to), as yyyy-mm-dd. Before this date, the status is NotStarted. - `productRatePlan.effectiveEndDate` (string) Final date the rate plan is active, as yyyy-mm-dd. After this date, the rate plan status is Expired. - `productRatePlan.grade` (integer) The grade of the product rate plan. Note: This field is in the Early Adopter phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. If you want to join this early adopter program, submit a request at [Zuora Global Support](http://support.zuora.com/). - `productRatePlan.productRatePlanNumber` (string) The natural key of the product rate plan. - `productRatePlan.product` (object) The product associated with the product rate plan. - `productRatePlan.productRatePlanCharges` (array) The product rate plan charges on the product rate plan. - `ratePlanCharges` (array) - `ratePlanCharges.id` (string) The unique identifier of the rate plan charge. - `ratePlanCharges.createdById` (string) The unique identifier of the user who created the rate plan charge. - `ratePlanCharges.createdDate` (string) The date and time when the rate plan charge was created. - `ratePlanCharges.updatedById` (string) The unique identifier of the user who last updated the rate plan charge. - `ratePlanCharges.updatedDate` (string) The date and time when the rate plan charge was last updated. - `ratePlanCharges.ratePlanId` (string) The unique identifier of the rate plan to which this rate plan charge belongs. - `ratePlanCharges.productRatePlanChargeId` (string) The unique identifier of the product rate plan charge associated with this product rate plan charge. - `ratePlanCharges.accountingCode` (string) The accounting code for the charge. Accounting codes group transactions that contain similar accounting attributes. Values: inherited from ProductRatePlanCharge.AccountingCode Note: This value changes if ProductRatePlanCharge.AccountingCode is updated. The values of UpdatedById and UpdatedDate for the RatePlanCharge do not change when ProductRatePlanCharge.AccountingCode is updated. - `ratePlanCharges.applyDiscountTo` (string) Specifies the type of charges a specific discount applies to. Values: inherited from ProductRatePlanCharge.ApplyDiscountTo - `ratePlanCharges.billCycleDay` (integer) Indicates the charge's billing cycle day (BCD), which is when bill runs generate invoices for charges associated with the product rate plan charge or the account. Values: inherited from ProductRatePlanCharge.BillCycleDay - `ratePlanCharges.billCycleType` (string) Specifies how to determine the billing day for the charge.\n\ Values: inherited from ProductRatePlanCharge.BillCycleType Note: You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment. - `ratePlanCharges.billingPeriod` (string) Allows billing period to be overridden on rate plan charge. Values: inherited from ProductRatePlanCharge.BillingPeriod Note: You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment. - `ratePlanCharges.billingPeriodAlignment` (string) Aligns charges within the same subscription if multiple charges begin on different dates. Values: inherited from ProductRatePlanCharge.BillingPeriodAlignment - `ratePlanCharges.billingTiming` (string) The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types. Note: You can override the value inherited from the Product Rate Plan Charge when a subscription has a recurring charge type. Enum: "In Advance", "In Arrears" - `ratePlanCharges.chargedThroughDate` (string) The date through which a customer has been billed for the charge. - `ratePlanCharges.chargeModel` (string) Determines how to evaluate charges. Charge models must be individually activated in the web-based UI. Values: inherited from ProductRatePlanCharge.ChargeModel - `ratePlanCharges.chargeNumber` (string) A unique number that identifies the charge. This number is returned as a string. Values: one of the following: - automatically generated if left null - a unique number of 50 characters or fewer - `ratePlanCharges.chargeType` (string) Specifies the type of charge. Values: inherited from ProductRatePlanCharge.ChargeType - `ratePlanCharges.description` (string) A description of the rate plan charge. - `ratePlanCharges.discountLevel` (string) Application scope of the discount charge. For example, if the value of this field is subscription and the value of the applyDiscountTo field is RECURRING, the discount charge applies to all recurring charges in the same subscription as the discount charge. Enum: "rateplan", "subscription", "account" - `ratePlanCharges.dMRC` (number) A delta monthly recurring charge is the change in monthly recurring revenue caused by an amendment or a new subscription. Values: automatically generated - `ratePlanCharges.drawdownRate` (number) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The [conversion rate](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge#UOM_Conversion) between Usage UOM and Drawdown UOM for a [drawdown charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge). Must be a positive number (>0). - `ratePlanCharges.dTCV` (number) After an Amendment, the change in the total contract value (TCV) amount for this charge, compared with its previous value. Values: automatically generated - `ratePlanCharges.effectiveEndDate` (string) Start date when the rate plan charge becomes active, as yyyy-mm-dd. - `ratePlanCharges.effectiveStartDate` (string) Final date the rate plan is active, as yyyy-mm-dd. - `ratePlanCharges.endDateCondition` (string) Condition for the charge to become inactive. - If the value of this field is FixedPeriod, the charge is active for a predefined duration based on the value of the upToPeriodsType and upToPeriods fields. - If the value of this field is SpecificEndDate, use the specificEndDate field to specify the date when the charge becomes inactive. Enum: "SubscriptionEnd", "FixedPeriod", "SpecificEndDate", "OneTime" - `ratePlanCharges.excludeItemBillingFromRevenueAccounting` (boolean) The flag to exclude rate plan charge related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting. If both the following features are enabled in your tenant, you must ensure the excludeItemBillingFromRevenueAccounting field is set consistently for a prepayment charge and the corresponding drawdown charge. In addition, if the excludeItemBookingFromRevenueAccounting field in an Create Subscription or Add Product order action is set to false, you must also set the excludeItemBillingFromRevenueAccounting field in this order action to false. * Prepaid with Drawdown * Unbilled Usage Note: This field is only available if you have the Order to Revenue or [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration) feature enabled. - `ratePlanCharges.excludeItemBookingFromRevenueAccounting` (boolean) The flag to exclude rate plan charges from revenue accounting. If both the following features are enabled in your tenant, you must ensure the excludeItemBookingFromRevenueAccounting field is set consistently for a prepayment charge and the corresponding drawdown charge. * Prepaid with Drawdown * Unbilled Usage Note: This field is only available if you have the Order to Revenue or [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration) feature enabled. - `ratePlanCharges.invoiceScheduleId` (string) The unique identifier of the invoice schedule associated with the subscription. - `ratePlanCharges.isLastSegment` (boolean) Indicates if the segment of the rate plan charge is the most recent segment. Values: automatically generated. - `ratePlanCharges.isPrepaid` (boolean) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. Indicates whether this charge is a prepayment (topup) charge or a drawdown charge. - `ratePlanCharges.isRollover` (boolean) Note: This field is only available if you have the Prepaid with Drawdown feature enabled. It determines whether the rollover fields are needed. - `ratePlanCharges.rolloverPeriods` (integer) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. This field defines the number of rollover periods, it is restricted to 3. - `ratePlanCharges.rolloverPeriodLength` (integer,null) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. Use this field when you want to set the rollover fund's period length shorter than the prepayment charge's validity period. In this case, you must set the rolloverPeriods field to 1. For example, you can define the rollover fund's period length as 5 months, shorter than the prepayment charge's validity period: a year. - `ratePlanCharges.rolloverApply` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. This field defines the priority of rollover, which is either first or last. Enum: "ApplyFirst", "ApplyLast" - `ratePlanCharges.isProcessed` (boolean) Indicates whether the rate plan charge has been processed. - `ratePlanCharges.listPriceBase` (string) The list price base for the product rate plan charge. Enum: "Per Billing Period", "Per Month", "Per Week", "Per Year", "Per Specific Months" - `ratePlanCharges.specificListPriceBase` (integer,null) The number of months for the list price base of the charge. This field is required if you set the value of the ListPriceBase field to Per Specific Months. Notes: - This field is available only if you have the Annual List Price feature enabled. - The value of this field is null if you do not set the value of the ListPriceBase field to Per Specific Months. - `ratePlanCharges.priceUpsellQuantityStacked` (boolean) - `ratePlanCharges.commitmentType` (string) Note: This field is only available if you have the Unbilled Usage feature enabled. To use this field, you must set the X-Zuora-WSDL-Version request header to 133 or higher. Otherwise, an error occurs. This field defines the type of commitment. A prepaid charge can be UNIT or CURRENCY. A minimum commitment(in-arrears) charge can only be CURRENCY type. For topup(recurring or one-time) charges, this field indicates what type of funds are created. * If UNIT, it will create a fund with given prepaidUom. * If CURRENCY, it will create a fund with the currency amount calculated in list price. For drawdown(usage) charges, this field indicates what type of funds are drawdown from that created from topup charges. Enum: "UNIT", "CURRENCY" - `ratePlanCharges.isCommitted` (boolean) Indicates whether the rate plan charge is commited. - `ratePlanCharges.mRR` (number) Monthly recurring revenue (MRR) is the amount of recurring charges in a given month. The MRR calculation doesn't include one-time charges nor usage charges. Values: automatically generated - `ratePlanCharges.name` (string) The name of the rate plan charge. Values: automatically generated - `ratePlanCharges.numberOfPeriods` (integer) Specifies the number of periods to use when calculating charges in an overage smoothing charge model. Values: inherited from ProductRatePlanCharge.NumberOfPeriod. - `ratePlanCharges.originalId` (string) The original ID of the rate plan charge. Values: automatically generated. - `ratePlanCharges.overageCalculationOption` (string) Determines when to calculate overage charges. If the value of the SmoothingMode field is null (not specified and not inherited from ProductRatePlanCharge.SmoothingMode), the value of this field is ignored. Values: inherited from ProductRatePlanCharge.OverageCalculationOption. - `ratePlanCharges.overageUnusedUnitsCreditOption` (string) Determines whether to credit the customer with unused units of usage. Values: inherited from ProductRatePlanCharge.OverageUnusedUnitsCreditOption. - `ratePlanCharges.prepaidOperationType` (string,null) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The type of this charge. It is either a prepayment (topup) charge or a drawdown charge. Enum: "topup", "drawdown", null - `ratePlanCharges.prepaidQuantity` (number,null) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The number of units included in a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). Must be a positive number (>0). - `ratePlanCharges.prepaidTotalQuantity` (number,null) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The total amount of units that end customers can use during a validity period when they subscribe to a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). - `ratePlanCharges.priceChangeOption` (string) Applies an automatic price change when a termed subscription is renewed. Values: one of the following: - NoChange (default) - SpecificPercentageValue - UseLatestProductCatalogPricing - `ratePlanCharges.priceIncreasePercentage` (number) Specifies the percentage to increase or decrease the price of renewed subscriptions. Values: a decimal value between -100 and 100. - `ratePlanCharges.processedThroughDate` (string) The date until when charges have been processed. When billing in arrears, such as usage, this field value is the the same as the ChargedThroughDate value. This date is the earliest date when a charge can be amended. Values: automatically generated. - `ratePlanCharges.prorationOption` (string) Determines how to prorate charges when a subscription is created or amended. - `ratePlanCharges.quantity` (number) The default quantity of units, such as the number of authors in a hosted wiki service. Valid for all charge models except for Flat Fee pricing. Values: a valid quantity value. - `ratePlanCharges.numberOfDeliveries` (number) Number of deliveries in the billing period for the charge segment. The numberOfDeliveries is used for the Delivery Pricing charge model only. Note: The Delivery Pricing charge model is in the Early Adopter phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. To manage and access this feature through the self-service interface, see [Enable billing features by yourself](https://knowledgecenter.zuora.com/Zuora_Billing/Bill_your_customers/Billing_Settings/Manage_Features) in the Knowledge Center. You can check Delivery Pricing in Billing Settings > Enable Charge Types / Models. - `ratePlanCharges.ratingGroup` (string) A rating group based on which usage records are rated. Only applicable to Usage charges. Possible values: - ByBillingPeriod: The rating is based on all the usages in a billing period. - ByUsageStartDate: The rating is based on all the usages on the same usage start date. - ByUsageRecord: The rating is based on each usage record. - ByUsageUpload: The rating is based on all the usages in a uploaded usage file (.xls or .csv). - ByGroupId: The rating is based on all the usages in a custom group. For more information, see [Usage rating by group](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Usage/Usage_Rating_by_Group). Enum: "ByBillingPeriod", "ByUsageStartDate", "ByUsageRecord", "ByUsageUpload", "ByGroupId" - `ratePlanCharges.revenueRecognitionRuleName` (string) Specifies the Revenue Recognition Rule that you want the Rate Plan Charge to use. This field can be updated when Status is Draft. By default, the Revenue Recognition Rule is inherited from the Product Rate Plan Charge. For Amend calls, you can use this field only for NewProduct amendments. For Update calls, you can use this field only to update subscriptions in draft status. Note that if you use this field to specify a Revenue Recognition Rule for the Rate Plan Charge, the rule will remain as specified even if you later change the rule used by the corresponding Product Rate Plan Charge. Values: inherited from ProductRatePlanCharge.RevenueRecognitionRuleName or the name of an active Revenue Recognition Rule Note: Unless overridden, this value changes if ProductRatePlanCharge.RevenueRecognitionRuleName is updated. The values of UpdatedById and UpdatedDate for the RatePlanCharge do not change when ProductRatePlanCharge.RevenueRecognitionRuleName is updated. - `ratePlanCharges.revenueRecognitionTiming` (string) Specifies the type of revenue recognition timing. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the revenue recognition policy configuration in the Zuora Billing UI. Note: This field is only available if you have the Order to Revenue feature enabled. Enum: "Upon Billing Document Posting Date", "Upon Order Activation Date" - `ratePlanCharges.revenueAmortizationMethod` (string) Specifies the type of revenue amortization method. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the revenue recognition policy configuration in the Zuora Billing UI. Note: This field is only available if you have the Order to Revenue feature enabled. Enum: "Immediate", "Ratable Using Start And End Dates" - `ratePlanCharges.revRecCode` (string) Associates this product rate plan charge with a specific revenue recognition code. Values: inherited from ProductRatePlanCharge.RevRecCode or a valid revenue recognition code Note: Unless overridden, this value changes if ProductRatePlanCharge.RevRecCode is updated. The values of UpdatedById and UpdatedDate for the RatePlanCharge do not change when ProductRatePlanCharge.RevRecCode is updated. - `ratePlanCharges.revRecTriggerCondition` (string) Specifies when revenue recognition begins. Values: inherited from ProductRatePlanCharge.RevRecTriggerCondition or one of the following: - ContractEffectiveDate - ServiceActivationDate - CustomerAcceptanceDate Note: Unless overridden, this value changes if ProductRatePlanCharge.RevRecTriggerCondition is updated. The values of UpdatedById and UpdatedDate for the RatePlanCharge do not change when ProductRatePlanCharge.RevRecTriggerCondition is updated. - `ratePlanCharges.segment` (integer) The identifying number of the subscription rate plan segment. Segments are numbered sequentially, starting with 1. Values: automatically generated - `ratePlanCharges.specificBillingPeriod` (integer) Customizes the number of months or weeks for the charges billing period. This field is required if you set the value of the BillingPeriod field to Specific Months or Specific Weeks. Values: inherited from ProductRatePlanCharge.BillingPeriod Note: You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment. - `ratePlanCharges.specificEndDate` (string) The specific date on which the charge ends, in yyyy-mm-dd format. Note: - This field is only applicable when the EndDateCondition field is set to SpecificEndDate. - If the subscription ends before the specific end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the specific end date. - `ratePlanCharges.tCV` (number) The total contract value (TCV) is the value of a single rate plan charge in a subscription over the lifetime of the subscription. This value does not represent all charges on the subscription. The TCV includes recurring charges and one-time charges, but it doesn't include usage charge. Values: automatically generated - `ratePlanCharges.triggerDate` (string) The date when the charge becomes effective and billing begins, in yyyy-mm-dd format. This field is required if the TriggerEvent field value is SpecificDate. - `ratePlanCharges.triggerEvent` (string) Specifies when to start billing the customer for the charge. Note: This field can be passed through the Subscribe and Amend calls and will override the default value set on the Product Rate Plan Charge. Values: inherited from ProductRatePlanCharge.TriggerEvent and can be one of the following values: - ContractEffective is the date when the subscription's contract goes into effect and the charge is ready to be billed. - ServiceActivation is when the services or products for a subscription have been activated and the customers have access. - CustomerAcceptance is when the customer accepts the services or products for a subscription. - SpecificDate is valid only on the RatePlanCharge. - `ratePlanCharges.uOM` (string) Specifies the units to measure usage. Values: inherited from ProductRatePlanCharge.UOM - `ratePlanCharges.upToPeriods` (integer) Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends. Values: inherited from ProductRatePlanCharge.UpToPeriods Note: - You must use this field together with the UpToPeriodsType field to specify the time period. This field is only applicable only when the EndDateCondition field is set to FixedPeriod. - You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment. - Use this field to override the value in ProductRatePlanCharge.UpToPeriod. - If you override the value in this field, enter a whole number between 0 and 65535, exclusive. - If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end. - `ratePlanCharges.upToPeriodsType` (string) The period type used to define when the charge ends. This field can be updated when Status is Draft. Note: - You must use this field together with the UpToPeriods field to specify the time period. - This field is only applicable only when the EndDateCondition field is set to FixedPeriod. Enum: "Billing Periods", "Days", "Weeks", "Months", "Years" - `ratePlanCharges.version` (integer) The version of the rate plan charge. Each time a charge is amended, Zuora creates a new version of the rate plan charge. Values: automatically generated. - `ratePlanCharges.weeklyBillCycleDay` (string) Specifies which day of the week as the bill cycle day (BCD) for the charge. Enum: "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" - `ratePlanCharges.subscriptionId` (string) The unique identifier of the subscription to which the rate plan charge belongs. - `ratePlanCharges.subscriptionOwnerId` (string) ID of the account that owns the subscription. - `ratePlanCharges.invoiceOwnerId` (string) ID of the account that will pay the billing documents for the subscription. - `ratePlanCharges.originalOrderDate` (string) The date when the rate plan charge is created through an order or amendment. This field is to standardize the booking date information to increase audit ability and traceability of data between Zuora Billing and Zuora Revenue. It is mapped as the booking date for a sales order line in Zuora Revenue. - `ratePlanCharges.amendedByOrderOn` (string) The date when the rate plan charge is amended through an order or amendment. This field is to standardize the booking date information to increase audit ability and traceability of data between Zuora Billing and Zuora Revenue. It is mapped as the booking date for a sale order line in Zuora Revenue. - `ratePlanCharges.validityPeriodType` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The period in which the prepayment units are valid to use as defined in a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). Enum: "SUBSCRIPTION_TERM", "ANNUAL", "SEMI_ANNUAL", "QUARTER", "MONTH" - `ratePlanCharges.creditOption` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The way to calculate credit. See [Credit Option](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge#Credit_Option) for more information. Enum: "TimeBased", "ConsumptionBased", "FullCreditBack" - `ratePlanCharges.applyToBillingPeriodPartially` (boolean) Allow the discount duration to be aligned with the billing period partially. Note: You must enable the [Enhanced Discounts](https://knowledgecenter.zuora.com/Zuora_Billing/Build_products_and_prices/Basic_concepts_and_terms/B_Charge_Models/D_Manage_Enhanced_Discount) feature to access this field. - `ratePlanCharges.productChargeDefinitionId` (string) The unique ID of the product charge definition. - `ratePlanCharges.accountReceivableAccountingCodeId` (string) ID of the accountReceivableAccountingCode of a standalone charge. Note: This field is available when the Standalone Orders, Zuora Finance, and Invoice Settlement features are enabled. - `ratePlanCharges.deferredRevenueAccountingCodeId` (string) ID of the deferredRevenueAccountingCode of a standalone charge. Note: This field is available when the Standalone Orders and Zuora Finance features are enabled. - `ratePlanCharges.recognizedRevenueAccountingCodeId` (string) ID of the recognizedRevenueAccountingCode of a standalone charge. Note: This field is available when the Standalone Orders and Zuora Finance features are enabled. - `ratePlanCharges.prepaidUOM` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. Unit of measurement for a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). - `ratePlanCharges.drawdownUom` (string) Note: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. Unit of measurement for a [drawdown charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge). - `ratePlanCharges.ratePlan` (object) The rate plan to which this charge belongs. - `ratePlanCharges.productRatePlanCharge` (object) The product rate plan charge associated with this rate plan charge. - `ratePlanCharges.salesPrice` (number) The sales price associated with the rate plan charge expressed as a decimal. Notes: - This field is only available to subscriptions that are created through orders and exist after 2023-01-10. - This field applies to the following charge models, and the values vary with the charge models: - Flat fee: the value equals the value of the price field. - Per unit: the value equals price multiplied by quantity. - Fixed amount discount: the value equals the value of the discountAmount field. - Volume: The calculation of the tier price is dependent on whether the price format is the flat fee or per unit. - Tiered: The calculation of the tier price is dependent on whether the price format is the flat fee or per unit. - `ratePlanCharges.taxable` (boolean) Indicates whether the rate plan charge is taxable. - `ratePlanCharges.reverted` (boolean) Indicates whether the rate plan charge has been reverted. - `ratePlanCharges.reflectDiscountInNetAmount` (boolean) Indicates whether the discount is reflected in the net amount. ## Response 500 fields (application/json): - `reasons` (array) The container of the error code and message. This field is available only if the success field is false. - `reasons.code` (integer) The error code of response. - `reasons.message` (string) The detail information of the error response - `requestId` (string) The unique identifier of the request. ## Response 4XX fields (application/json): - `reasons` (array) The container of the error code and message. This field is available only if the success field is false. - `reasons.code` (integer) The error code of response. - `reasons.message` (string) The detail information of the error response - `requestId` (string) The unique identifier of the request.