Skip to content

API Reference (2026-02-20)

Welcome to the v1 API reference for the Zuora Billing, Payments, and Platform!

To learn about the common use cases of the Zuora v1 API, check out the API Tutorials.

Important: This API Reference only showcases the parameters, fields, and behaviors available for the latest API minor version (2025-08-12). For more information about Zuora API versions, see API versions and API upgrades.

We recommend that you upgrade to the latest API version to take advantage of the latest Zuora capabilities. For instructions about upgrading the API version, see API upgrade guide.

Try the v1 API in our Postman collection:

Run In Postman

Some of our older APIs are no longer recommended but still available, not affecting any existing integration. To find related API documentation, see Older API Reference.

More OpenAPI specification options

To support your integration with our OpenAPI specifications, whether using in-house solutions or third-party tools, we provide the following resources:

If you need a different API specification beyond the options above, contact Zuora Global Support, and we will provide a custom spec tailored to your needs.

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://developer.zuora.com/_mock/v1-api-reference/api
US Developer & Central Sandbox (incl. Test Drive)
https://rest.test.zuora.com
US API Sandbox Cloud 1
https://rest.sandbox.na.zuora.com
US API Sandbox Cloud 2
https://rest.apisandbox.zuora.com
US Production Cloud 1
https://rest.na.zuora.com
US Production Cloud 2
https://rest.zuora.com
EU Developer & Central Sandbox
https://rest.test.eu.zuora.com
EU API Sandbox
https://rest.sandbox.eu.zuora.com
EU Production
https://rest.eu.zuora.com
APAC Developer & Central Sandbox
https://rest.test.ap.zuora.com
APAC Production
https://rest.ap.zuora.com

OAuth

Zuora recommends that you use OAuth v2.0 to authenticate to the Zuora REST API.

You must first create an OAuth client in the Zuora UI before using the Create an OAuth token operation to create an OAuth token. See Authentication for more information.

Operations

Commerce

The Commerce APIs provide access to product catalog, plans, charges, and order management functionality in Zuora. These endpoints are used to create, update, and query product rate plans, charges, and dynamic pricing details that drive subscription and billing behavior.

In a typical use case, the Commerce APIs are called to provision new products or plans in the catalog, configure dimensional pricing, or submit orders that create and modify subscriptions.

Changes made with these APIs affect the product catalog and active subscriptions, depending on the endpoint. Catalog changes update future subscription behavior, while order operations directly impact customer subscriptions in real time.'

Operations

Accounts

Some operations in this section are similar to each other, but are provided for different use scenarios. You should choose the one that best suits your needs.

For example, the Retrieve an account operation retrieves the basic information of an account, such as bill-to and sold-to contacts, billing and payments setup information, and metrics data for the account.

The Retrieve an account summary operation returns the more detailed information of an account, such as bill-to and sold-to contacts, subscriptions, invoices, payments, and usages associated with this account.

Operations

Contacts

A contact defines the customer who holds an account or who is otherwise a person to contact about an account. An account requires a contact for the BillToId and SoldToId fields before the account can be active.

Operations

Contact Snapshots

Every time a contact is updated a snapshot is taken.

Operations

Sign Up

A light-weight API to sign up customers and subscribe.

You need to have the Orders or Orders Harmonization feature enabled to use this API.

Operations

Orders

Orders are contractual agreements between merchants and customers.

You can create multiple subscriptions and subscription amendments at once in a single order. All the operations on subscriptions in orders are done by order actions. You can also create order line items to support your non-subscription based business models.

Zuora calculates order delta metrics when orders take place. You can retrieve order delta metrics and measure billed and unbilled amounts by order.

For more information about Orders, see Overview Of Orders. To learn how orders interacts with billing accounts, subscriptions, and product catalog, see Zuora object model.

Operations

Order Actions

You need to have the Orders or Orders Harmonization feature enabled to use this API.

Operations

Order Line Items

Use order line item to launch non-subscription and unified monetization business models in Zuora, in addition to subscription business models. For more information about order line items, see Order Line Items.

Operations

Fulfillments

Fulfillments are subordinate objects attached to their related order line item. Fulfillment items are subordinate objects attached to their related fulfillment.

For more information, see Overview of Order Line Items.

Operations

Ramps

A Ramp is a time container to associate with rate plan charges in your subscription. Inside the Ramp, you can further define a set of Ramp Intervals (time-based periods) where products or pricing can change. These periods are sub time containers to enable you to report out-of-the-box metrics based on Ramp Intervals.

Notes: You must have both the Ramps feature and Orders feature enabled for your tenant to use the Ramps operations.

For more information, see Ramps and Ramp Metrics.

Operations

Subscriptions

A subscription is a product or service that has recurring charges, such as a monthly flat fee or charges based on usage. Subscriptions can also include one-time charges, such as activation fees. Every subscription must be associated with an account. At least one active account must exist before any subscriptions can be created.

For more information, see Subscriptions.

Operations

Omnichannel Subscriptions

An omnichannel subscription is a subscription originating from external and source systems, such as the Apple App Store, Google Play Store, and Roku Store.

To create, update, delete, or retrieve an omnichannel subscription, you must turn on the Omni-Channel Subscription feature. For more information, see Omni-Channel Subscription.

Operations

Subscription Change History

The change histories of single version subscriptions.

Note: To access the change histories, you must turn on the following features:

Operations

Rate Plans

A rate plan is part of a subscription or an amendment to a subscription, and it comes from a product rate plan. Like a product and its product rate plans, a subscription can have one or more rate plans. Rate plans are sometimes called subscription rate plans. Rate plans that are part of an amendment are sometimes called amendment rate plans.

Rate plans represent a price or a collection of prices for a service you sell. An individual rate plan contains all charges specific to a particular subscription.

Operations

Commitments

A commitment represents a minimum or maximum spend amount a customer is obligated to pay within a spend period, compared with customer's actual fees incurred in connection with customer's accounts and their use of applicable products. The Commitments API allows you to retrieve details of the commitments a customer has.

Operations

Prepaid with Drawdown

The Prepaid with Drawdown feature is a pricing model for consumption-based services, such as data storage. Under this model, customers pay upfront to receive a number of units, usually for a period of time like a month or a year. Then they consume against that prepayment balance in a use-it-or-lose-it fashion, with a possibility of topping up more units or being charged for any overage. This model strikes a balance between upfront commitment and the pure pay-as-you-go pricing models. For more information, see Prepaid with Drawdown.

Operations

Usage

Consumption of a billable service or resource (such as database storage space or bundles of emails sent) provides the basis for some charge models - simple usage, tiered pricing, or volume pricing. To make this work, usage must be tracked in the system and usage charges must be calculated and invoiced. Usage is always billed in arrears - for example, you might bill customers in February for their January usage. Usage can be billed on a recurring monthly, quarterly, semi-annual, or annual basis.

Operations

Meters

The Zuora Mediation APIs provide a comprehensive set of endpoints to manage, test, run, and monitor usage meters. These APIs support actions such as running or testing specific meter versions, importing and exporting meter configurations, managing input files, performing event store operations, and ingesting usage data in real time via streaming. All APIs follow a consistent response structure to simplify integration and error handling. Use these APIs to automate and streamline your usage processing pipeline—from data ingestion to transformation and billing.

Operations

Delivery Adjustments

Delivery Adjustments are used to handle end customer delivery complaints for the Delivery Pricing charge model. For more information, see Delivery Adjustments.

Operations

Billing Documents

Billing documents include invoices, credit memos, and debit memos.

Note: Credit memos and debit memos are only available if you have the Invoice Settlement feature enabled.

Operations

Invoices

Invoices provides information about customers' accounts for invoices, for examples, dates, status, and amounts.

For more information about invoices, see Invoice.

Operations

Credit Memos

Credit memos reduce invoice and account balances. By applying one or more credit memos to invoices with positive balances, you can reduce the invoice balances in the same way that applying a payment to an invoice.

For more information about credit memos, see Credit and debit memos.

Operations

Debit Memos

Debit memos increase the amount a customer owes. It is a separate document from the invoice. Debit memos can be used to correct undercharging on an invoice or to levy ad hoc charges outside the context of a subscription. Just like an invoice, debit memo balances can be settled by applying either a payment or a credit memo.

For more information about debit memos, see Credit and debit memos.

Operations

E-Invoicing

With the E-Invoicing feature, Zuora supports electronic invoices through an integration with partners that have a local presence, where required, which guarantees compliance with local invoice regulations.

All the operations in this section are available only if you have the E-Invoicing feature enabled.

Operations

Invoice Schedules

Use invoice schedules to trigger invoice generation processes.

For more information about invoice schedules, see Billing Schedule overview.

Operations

Taxation Items

The TaxationItem object is used to add a tax amount to an invoice item. In the typical use case, the tax amount that you specify in the object is calculated by Z-Tax or a third-party tax engine such as Avalara or Connect tax engine.

Changes that you make with this object affect the product charges in your product catalog, but not the charges in existing subscriptions.

Operations

Sequence Sets

You can create billing document sequence sets through the REST API or the Zuora UI, allowing distinct numbering sequences for billing documents, payments, and refunds.

To create a billing document sequence set through the Zuora UI, see Create Billing Document Sequence Sets for more information.

Operations

Operations

Use operations to generate invoices and credit memos, collect payments for posted invoices, and generate previews of future invoice items for customer accounts.

Operations

Summary Statements

The Summary Statement feature provides a comprehensive overview of billing activities for each account using HTML templates that compile data like invoices, credit memos, payments, and more. The associated APIs help automate the creation and management of these statements. See Account Summary Statements for more information.

Operations

Bill Run

Use the Bill Run call to create ad hoc bill runs and Post, Cancel, Query, and Delete bill runs.

For more information about bill runs, see Bill runs.

Operations

Billing Preview Run

A billing preview run asynchronously generates a downloadable CSV file containing a preview of future invoice item data and credit memo item data for a batch of customer accounts.

Note: Credit memo item data is only available if you have the Invoice Settlement feature enabled.

Operations

Payment Methods

Payment methods represents payment method details associated with a customer account.

Operations

Custom Payment Method Types

Open Payment Method (OPM) service is a framework developed by Zuora, which allows you to integrate your custom payment method to Zuora subscription, billing, and revenue management in a dynamic and flexible manner. With the support of the OPM service, you are able to define your custom payment method types and create custom payment methods of the defined types. The custom payment method of the defined type can only be used with the custom payment gateway that you set up through the Universal Payment Connector (UPC) service. It cannot be used with the Zuora out-of-box gateway integrations such as GoCardless, Stripe, etc.

You can define up to 20 custom payment method types for one tenant. Do not define your fields with the Zuora-reserved fields.

See Set up custom payment gateways and payment methods for more information about the OPM and UPC services.

Note: You can only use the bearer token to access the "Custom Payment Method Types" API operations. Access with apiAccessKeyId and apiSecretAccessKey is not supported.

Operations

Payment Method Updater

Zuora Payment Method Updater (PMU) enables merchants to automatically incorporate changes made to a customer's credit cards. For more information about Zuora PMU, see Payment Method Updater.

Operations

Payment Method Snapshots

A Payment Method Snapshot is a copy of the particular Payment Method used in a transaction. If the Payment Method is deleted, the Snapshot continues to retain the data used in each of the past transactions. As such, the Snapshot helps with display of historical transactions, integrations to external systems, and reporting.

Operations

Payment Method Transaction Logs

The PaymentMethodTransactionLog object contains payment method transaction log data.

You can use the CRUD: Retrieve a payment method transaction log operation to export such data.

Operations

Hosted Pages

Hosted payment pages allow your customers to set up a payment method, such as providing a credit card. Since it only handles the payment method, it is suitable for a simple workflow or a complex multi-page, multi-product workflow.

For more information, see Hosted Payment Pages.

Operations

RSA Signatures

The REST API used in Payment Pages 2.0 are CORS (Cross-Origin Resource Sharing) enabled and therefore requires a digital signature.

You can use the Generate an RSA signature operation to generate the required digital signature and token for a Payment Pages 2.0 form, then use the Decrypt an RSA signature operation to decrypt the signature to validate the signature and key."

Operations

Payment Authorization

The Delayed Capture feature allows you to authorize the availability of funds for a transaction but delay the capture of funds until a later time.

You can use the Create authorization operation to authorize a payment amount before capturing the payment. Subsequently, you can use Create a payment or Create an order to capture the authorized funds, or use Cancel authorization to cancel the authorization.

Operations

Payment Gateways

Use payment gateways to pass authorization, payments, and settlement data securely to and from the merchant's website to the merchant's processor.

For more information about payment gateways, see Payment Gateways.

Operations

Payment Gateway Reconciliation

Gateway reconciliation is the process of verifying that the electronic payment and refund transactions processed in Zuora match the transactions reported by the gateway. For example, if Zuora processed 200 transactions through a gateway, you should see the same number of transactions on the gateway's reconciliation report, sometimes also called the settlement report.

You can complete the following Gateway Reconciliation tasks through API:

Operations

Payments

Use payments to process payments, for example, automate recurring payments, manage overpayments, and create refunds. For more information about payments, see Payments.

Operations

Payment Transaction Logs

Use payment transaction logs to export logs of all transactions from Zuora to the Gateway for Payments.

Operations

Payment Runs

Use payment runs to collect payments using electronic payment methods, for example, credit cards and ACH. For more information about payment runs, see Payment Runs.

Operations

Payment Schedules

Use payment schedules to split invoice or account balances into several installments and automatically process payments for the installments. For more information about payment schedules, see Payment Schedules.

Operations

Refunds

Zuora allows you to issue and track refunds on payments. Similar to external payments, users can enter external refunds to track refunds that have been performed outside of Zuora Payments (for example, by issuing a check). In addition, you can make electronic refunds using our supported payment gateways, which will automatically refund money to the customer.

Operations

Payment Profiles

Payment profiles enable payment flexibility for subscribers by allowing payment methods to be associated with specific subscriptions.

To learn more about the configuration and usage of Payment Profiles, see Payment Profiles.

Operations

Configurable Payment Retry

Configurable Payment Retry APIs use basic authentication. The user name is the email address that you use for logging in Zuora. The password is the API token that is shown in the settings of Configurable Payment Retry. Click the drop-down arrow at the end of an endpoint to display the full endpoint. To learn more about the configuration and usage of Configurable Payment Retry, see Configurable Payment Retry.

Operations

Object Queries

The Object Query API contains GET operations that allow you to query objects in your Zuora tenant in an efficient, consistent, and flexible manner.

With the expand[] and filter[] query parameters, you have the flexibility to retrieve related object information in a single call and define the returned response that best suits your needs. You can also use the fields[] query parameter to define which fields are returned in the response for a given object. The sort[] query parameter allows you to sort the results in ascending or descending order based on the specified field.

These parameters are case-insensitive matching.

For general Object Queries limitations and comprehensive introduction to these query parameters, see Expand, filter, fields, and sort.

For filterable, expandable, and sortable fields on each object, refer to the Query Parameters section for each API operation.

Operations

Accounting Codes

Accounting Codes are commonly referred to as General Ledger Accounts or General Ledger Account Codes. In Zuora, the use of accounting codes are optional but recommended.

This section contains the operations that allow you to create, update, get, delete, activate, or deactivate accounting codes in Zuora.

Operations

Accounting Periods

A key step in configuring Finance is to create accounting periods in Zuora to match your company's financial calendar. This allows Zuora to produce reports and data exports organized by accounting periods, and to perform the work of closing the accounting periods for the revenue sub-ledger.

Operations

Summary Journal Entries

A summary journal entry is a summary of Zuora transaction amounts organized by accounting code and general ledger segments. A segment adds more reporting granularity through business dimensions, such as country or product.

For more information, see Summary Journal Entries Introduction

Operations

Journal Runs

Use journal runs to automatically create summary journal entities that are suitable for importing into your general ledger system.

For more information about journal runs, see Journal Runs.

Operations

Mass Updater

Use mass updater to perform mass actions more easily.

For more information about mass updater, see Mass Updater.

Operations

Notifications

Notifications are the actions taken to inform users or call third-party endpoints when a certain event happens. Typical actions include emails and callouts. Callouts typically refer to HTTP invocations, such as HTTP calls to REST services.

Zuora notification system processes the events in the same order in which they are triggered. The timing and delivery of notifications can still vary based on factors such as retries, concurrency, and network latency. But Zuora guarantees the best performance possible with the right performance boosters and tuning.

Notifications are associated with Communication Profiles, which allow you to send specific event-driven notifications to targeted customers. Zuora provides the following Settings API to access the settings of Communication Profiles:* Get all Communication Profiles

Operations

Custom Event Triggers

The Event Trigger service manages the business events and trigger conditions that are defined on Zuora Business Object Model or custom objects. When a Zuora object changes, the trigger conditions defined on the object are evaluated, and if any condition qualifies, a business event will be triggered and turned into a notification.

Note: Event Triggers operations are only applicable to custom events.

Operations

Custom Scheduled Events

A custom scheduled event notification is evaluated at the scheduled time of the related scheduled event on a daily basis. If the date meets the combination of the base field and the notification parameters, the notification will be triggered immediately.

For more information about Custom Scheduled Events, see Custom Scheduled Events.

Operations

Custom Object Definitions

With Custom Objects service, you can define custom objects, extending the Zuora data model to accommodate your specific use cases.

If you use Postman, you can import the custom objects endpoints as a collection into your Postman app and try out different requests to learn how the API works.

You can sign up for a free account on the Postman website and download the app in case you do not use Postman yet.

Note that the Custom Object Definitions API is versioned by Zuora-Version in the request header. The response may be different for the same request with a different API version. Specify Zuora-Version in the request header if you expect a specific response schema.

Operations

Custom Object Records

With Custom Objects service, you can create, update, delete and find custom object records.

If you use Postman, you can import the custom objects endpoints as a collection into your Postman app and try out different requests to learn how the API works.

You can sign up for a free account on the Postman website and download the app in case you do not use Postman yet.

Note that the Custom Object Records API is versioned by Zuora-Version in the request header. The response may be different for the same request with a different API version. Specify Zuora-Version in the request header if you expect a specific response schema.

Operations

Custom Object Jobs

With Custom Objects service, you can submit a bulk job request to create, update, or delete custom object records in a batch.

If you use Postman, you can import the custom objects endpoints as a collection into your Postman app and try out different requests to learn how the API works.

You can sign up for a free account on the Postman website and download the app in case you do not use Postman yet.

Note that the Custom Object Jobs API is versioned by Zuora-Version in the request header. The response may be different for the same request with a different API version. Specify Zuora-Version in the request header if you expect a specific response schema.

Operations

API Health

Zuora System Health dashboard for API (API dashboard) collects and displays data about API usage, failure, performance, and concurrency limit in near real time. It enables you to view all the APIs in your Zuora tenant within the last 14 days. For more information, see APIs dashboard.

Operations

Bill Run Health

Zuora System Health dashboard for Bill Run (Bill Run dashboard) collects and displays data about bill run usage, failure, and performance in near real time. Through the Bill Run dashboard, you can view data about all the bill runs in your Zuora tenant within the last 30 days. For more information, see Bill Run dashboard.

Operations

Electronic Payments Health

Zuora System Health dashboard for Electronic Payments (Electronic Payment dashboard) collects and displays usage, failure, and performance data about electronic payments in near real time. It enables you to view all the electronic payments in your Zuora tenant within the last 30 days. For more information, see Electronic Payments dashboard.

Operations

Tax Health

Zuora System Health dashboard for Tax Health (Tax Health dashboard) collects and displays usage, failure, and performance data about Tax in near real time. It enables you to view all the tax details in your Zuora tenant within the last 30 days. For more information, see Tax Health Dashboard.

Operations

Workflows

A workflow is a sequence of tasks that are performed based on predefined logic. A workflow improves efficiency and reduces errors by automating a series of complex tasks that otherwise need to be performed manually and repetitively.

For more information, see Workflow.

Operations

Data Queries

The Data Query feature enables you to perform SQL queries in your Zuora tenant. To learn how to get started with Data Query, see Overview of Data Query.

Operations

Aggregate Queries

The Aggregate Query API (AQuA) is a REST API that executes multiple Export ZOQL or ZOQL queries. The queries are performed in a sequential order and in a single read-only database transaction.

AQuA enforces the following limits:

  • The maximum processing time per query is 3 hours. If a query in an AQuA job is executed for longer than 3 hours, this job will be killed automatically. See the best practices for bulk data extraction with AQuA.

  • AQuA enforces limits on both the stateful concurrent AQuA jobs and the stateless concurrent AQuA jobs per tenant:

    • The maximum number of stateful concurrent AQuA jobs per tenant is 50. - The maximum number of stateless concurrent AQuA jobs per tenant is 50. AQuA jobs in the following status are counted towards your concurrent AQuA job limits:
    • Submitted - Executing Zuora system will reject the subsequent stateful or stateless job requests once the corresponding concurrent job limit is reached.

For more information about the Aggregate Query API(AQuA), see Aggregate Query.

Operations

Configuration Templates

Configuration Templates in Zuora Deployment Manager enable you to configure your tenants in minutes by importing a templated metadata configuration file. This feature eliminates the need for long manual configuration processes that would have previously taken hours. You will be able to access a comprehensive repository of industry-specific templates. It will be easier for you to deploy and release. To use this API for migrating metadata from a source tenant to a destination tenant, you should authenticate using credentials of the source tenant The user will have to provide the client id and secret key from the sou.rce tenant. To understand the known behavior of configuration templates and APIs, see the following sections: Product Catalog deployment known facts and system behavior Product Catalog deployment FAQs Deployment Manager Known Facts and Limitations

Operations

Metadata

The Metadata API in Zuora promotes a programmatic way to retrieve, compare, and validate metadata within Zuora tenants for performing create and update actions between the source and the target. To use this API for migrating metadata from a source tenant to a destination tenant, you should authenticate using credentials of the source tenant. The user will have to provide the client id and secret key from the source tenant. To understand the known behavior of configuration templates and APIs, see the following sections: Product Catalog deployment known facts and system behavior Product Catalog deployment FAQs Deployment Manager Known Facts and Limitations

Operations

Bulk Data

The Bulk Data API operations allow you to manage bulk data loader services and perform programmatic CRUD (Create, Update, Read/export, Delete) operations.
To perform data ingestion with a CSV file in Zuora Billing using the Data Loader Bulk Data APIs, see Tutorial for Bulk job API with CSV. For more information, see Process Bulk Job with JSON-lines in Data Loader.

Operations

SCIM

System for Cross-domain Identity Management, or SCIM, is an API specification created to facilitate the management of people and groups of people in cloud-based applications and services. Universal Identity SCIM API is built on top of the SCIM 2.0 specification and can be integrated with major Identity Providers like Okta, Microsoft Entra ID and OneLogin.

Zuora recommends that you use OAuth v2.0 to authenticate to the Zuora REST API.

You must first create an OAuth client in the Zuora UI before using the Create an OAuth token operation to create an OAuth token. See Authentication for more information.

Operations

Data Labeling

The Data Labeling APIs help you to label your existing data with organization(s) in Zuora.

Once you turned on Multi Org feature, if you don't label your existing data, they are simply unlabeled, and unlabeled data can be accessed by all organizations in your tenant.

To limit the access of your existing data, you need to label them with organization(s) you defined in the organization hierarchy management setting page. Once labeled, the data can only be accessed by users who have been granted with the labeled organization(s).

Note that you have to enable the "Multi Org" feature before using the Data Labeling APIs.

Operations

Data Backfill

If you are an Order to Revenue user, you can use the data backfill operations to perform, view or stop data backfill tasks.

Operations

Regenerate

If you are an Order to Revenue user, you can use the Regenerate operations to regenerate transactions objects.

Operations

Test Environments

A Test Environment is a dedicated sandbox tenant designed for development, integration, and user acceptance testing of your system configurations and business processes.

Operations

Test Environment Jobs

A Test Environment Job represents an asynchronous operation initiated to refresh a Test Environment. These jobs track the status and progress of environment provisioning and refresh.

Operations

Test Environment Notifications

A Test Environment Notification is an automated email dispatched to inform stakeholders when a Test Environment Job is completed or cancelled.

Operations

Actions

Actions are operations that are batch in nature. For example, the "create", "update", "delete", and other operations allow changes to up-to 50 objects at a time. The "query" operation will return up-to 2000 result records back at a time, before requiring additional pages of data to be returned via a subsequent "queryMore" operation.

The default WSDL version for Actions is 79. If you want to change the WSDL version, set the X-Zuora-WSDL-Version header. To find out in which WSDL version a particular object or field was introduced, see Zuora SOAP API Version History.

Note: Actions do not support the Invoice Settlement feature. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. Actions also do not support the Orders feature.

Operations

Settings

The Setting API provides a central API for managing settings in your Zuora tenant.

If you use Postman, you can import the Settings API endpoints as a collection into your Postman app and try out different requests to learn how the API works. You can sign up for a free account on the Postman website and download the app in case you do not use Postman yet.

Operations

Files

You can use the operations contained in this section to retrieve files such as export results, invoices, accounting period reports, and so on.

Operations

Imports

An import uploads content, especially when you have a large amount of content. The Import object contains all of the information you need to upload content, such as a large number of usage records.

Operations

Custom Exchange Rates

If you use a custom exchange rate provider and upload rates with the Import Foreign Exchange Rates mass action, you can query custom foreign exchange rates from Zuora through API.

This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.

Operations

Attachments

Use attachments in Zuora to upload documents of various formats to associate additional information with accounts, subscriptions, invoices, credit memos, or debit memos. Example attachments could be purchase orders (PO's), tax exemption document, or ownership transfer forms.

For more information about attachments, see Attachments.

Operations

Describe

You can use the Describe an object operation to get a reference listing of each object that is available in your Zuora tenant.

By default, the information returned by the "Describe an object" operation corresponds to the latest version of the Zuora WSDL.

Operations

Products

Note - The APIs in this section are legacy APIs. Zuora recommends using the newer, faster APIs for managing products and catalogs more efficiently instead. For more information, see our latest Commerce API.

A product is an item or service that your company sells. In the subscription economy, a product is generally a service that your customers subscribe to rather than a physical item that they purchase one time. For example, customers subscribe to a service that provides them a car when and where they need a car rather than buying a car outright.

A Product object contains all of the items in a specific product, especially product rate plans and product rate plan charges. Each Product object can have multiple rate plans, which in turn can each have multiple rate plan charges. Each rate plan charge can have multiple tiers. Taken together, all of these items create a single product.

Customers subscribe to products that are in your product catalog. Product objects collectively compose your product catalog. You create your product catalog by creating products. As soon as you create your first product, you create your product catalog.

Operations

Catalog

Note - The APIs in this section are legacy APIs. Zuora recommends using the newer, faster APIs for managing products and catalogs more efficiently instead. For more information, see our latest Commerce API.

The Zuora Billing product catalog is where you define your products and pricing. The product catalog's ability to handle sophisticated pricing models gives you the power to easily adapt your pricing to customer and market needs, to grow your business and drive more revenue.

Operations

Catalog Groups

Note - The APIs in this section are legacy APIs. Zuora recommends using the newer, faster APIs for managing products and catalogs more efficiently instead. For more information, see our latest Commerce API.

A catalog group is used to group a list of product rate plans with a specific grade.

Operations

Product Rate Plans

Note - The APIs in this section are legacy APIs. Zuora recommends using the newer, faster APIs for managing products and catalogs more efficiently instead. For more information, see our latest Commerce API.

A product rate plan is the part of a product that your customers subscribe to. Each product can have multiple product rate plans, and each product rate plan can have multiple product rate plan charges, which are fees for products and their product rate plans.

Operations

Product Rate Plan Definitions

Note - The APIs in this section are legacy APIs. Zuora recommends using the newer, faster APIs for managing products and catalogs more efficiently instead. For more information, see our latest Commerce API.

Use product rate plan definitions to reuse charges in different product rate plans. The Product Rate Plan Definition object 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 are interested, please reach out to your CSM.

Operations

Product Rate Plan Charges

Note - The APIs in this section are legacy APIs. Zuora recommends using the newer, faster APIs for managing products and catalogs more efficiently instead. For more information, see our latest Commerce API.

A product rate plan charge represents a charge model or a set of fees associated with a product rate plan, which is the part of a product that your customers subscribe to. Each product rate plan can have multiple product rate plan charges.

Product rate plan charges can be of three types: one-time fees, recurring fees, and usage fees. For example, the $50 activation fee for the Topaz product rate plan is a one-time product rate plan charge.

Operations

CRUD: Retrieve a product rate plan charge

Request

Retrieves a specific product rate plan charge.

Security
bearerAuth
Path
idstringrequired

The unique ID of a product rate plan charge to be retrieved. For example, 2c93808457d787030157e031fcd34e19.

Query
fieldsstring

Object fields to return

Headers
Accept-Encodingstring

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-Encodingstring

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-Entity-Idsstring

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-Idsstring

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-Track-Idstring<= 64 characters

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 (').

X-Zuora-WSDL-Versionstring

Zuora WSDL version number.

Default 79
Zuora-Versionstring

The minor API version.

For a list of available minor versions, see API upgrades.

curl -i -X GET \
  'https://developer.zuora.com/_mock/v1-api-reference/api/v1/object/product-rate-plan-charge/{id}?fields=string' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Encoding: string' \
  -H 'X-Zuora-WSDL-Version: 79' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Org-Ids: string' \
  -H 'Zuora-Track-Id: string' \
  -H 'Zuora-Version: string'

Responses

OK

Headers
Content-Encodingstring

This header is returned if you specify the Accept-Encoding: gzip request header and the response contains over 1000 bytes of data.

Note that only the following MIME types support gzipped responses:

  • application/json
  • application/xml
  • text/html
  • text/csv
  • text/plain
RateLimit-Limitstring

The request limit quota for the time window closest to exhaustion. See rate limits for more information.

RateLimit-Remainingnumber

The number of requests remaining in the time window closest to quota exhaustion. See rate limits for more information.

RateLimit-Resetnumber

The number of seconds until the quota resets for the time window closest to quota exhaustion. See rate limits for more information.

Zuora-Request-Idstring= 36 characters

The Zuora internal identifier of the API call. You cannot control the value of this header.

Zuora-Track-Idstring<= 64 characters

A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

Concurrency-Limit-Typestring

The type of the concurrency limit, which can be Default, High-volume transactions, or Object Query.

For more information, see Concurrent request limits.

Concurrency-Limit-Limitinteger

The total number of the permitted concurrent requests.

For more information, see Concurrent request limits.

Concurrency-Limit-Remaininginteger

The remaining number of the permitted concurrent requests.

For more information, see Concurrent request limits.

Bodyapplication/json
AccountingCodestring<= 100 characters

The accounting code for the charge. Accounting codes group transactions that contain similar accounting attributes.

ApplyDiscountTostring

Specifies the type of charges that you want a specific discount to apply to. All field values are case sensitive and in all-caps.

Enum"ONETIME (1)""RECURRING (2)""USAGE (4)""ONETIMERECURRING (3)""ONETIMEUSAGE (5)""RECURRINGUSAGE (6)""ONETIMERECURRINGUSAGE (7)"
BillCycleDayinteger(int32)

Sets the bill cycle day (BCD) for the charge. The BCD determines which day of the month customer is billed. The BCD value in the account can override the BCD in this object.

Character limit: 2

Values: a valid BCD integer, 1 - 31

BillCycleTypestring

Specifies how to determine the billing day for the charge.

Enum"DefaultFromCustomer""SpecificDayofMonth""SubscriptionStartDay""ChargeTriggerDay""SpecificDayofWeek""TermStartDay""TermEndDay"
BillingPeriodstring

The billing period for the charge. The start day of the billing period is also called the bill cycle day (BCD).

Enum"Month""Quarter""Annual""Semi-Annual""Specific Months""Subscription Term""Week""Specific Weeks""Specific Days"
BillingPeriodAlignmentstring

Aligns charges within the same subscription if multiple charges begin on different dates.

Enum"AlignToCharge""AlignToSubscriptionStart""AlignToTermStart""AlignToTermEnd"
BillingTimingstring

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.

This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.

Enum"In Advance""In Arrears"
ChargeFunctionstring

Note: This field is only available if you have the Prepaid with Drawdown or Minimum Commitment feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 141 or higher. Otherwise, an error occurs.

This field defines what type of charge it is:

  • Standard: Normal charge with no Prepayment or Commitment or Drawdown.
  • Prepayment: For recurring charges. Unit or currency based prepaid charge.
  • CommitmentTrueUp: For recurring charges. Currency based minimum commitment charge.
  • Drawdown: For usage charges. Drawdown from prepaid funds.
  • DrawdownAndCreditCommitment: For usage charges. Drawdown from prepaid funds and then credit to minimum commitment funds.
  • CreditCommitment: For usage charges. Credit to minimum commitment funds.
Enum"Standard""Prepayment""CommitmentTrueUp""Drawdown""CreditCommitment""DrawdownAndCreditCommitment"
CommitmentTypestring

Note: This field is only available if you have the Prepaid with Drawdown 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"
ChargeModelstring

Determines how to calculate charges. Charge models must be individually activated in Zuora Billing administration.

Enum"Discount-Fixed Amount""Discount-Percentage""Flat Fee Pricing""Per Unit Pricing""Overage Pricing""Tiered Pricing""Tiered with Overage Pricing""Volume Pricing""Delivery Pricing""MultiAttributePricing"
ChargeTypestring

Specifies the type of charge.

Enum"OneTime""Recurring""Usage"
CreatedByIdstring<= 32 characters

The automatically generated ID of the Zuora user who created the ProductRatePlanCharge object.

CreatedDatestring(date-time)<= 29 characters

The date when the ProductRatePlanCharge object was created.

DefaultQuantitynumber(double)

The default quantity of units, such as the number of authors in a hosted wiki service. This field is required if you use a per-unit pricing model.

Character limit: 16

Values: a valid quantity value.

Note: When ChargeModel is Tiered Pricing or Volume Pricing, if this field is not specified, the value will default to 0.

DeferredRevenueAccountstring<= 100 characters

The name of the deferred revenue account for this charge.

This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.

Descriptionstring<= 500 characters

A description of the charge.

DiscountLevelstring

Specifies if the discount applies to just the product rate plan, the entire subscription, or to any activity in the account.

Enum"rateplan""subscription""account"
EndDateConditionstring

Defines when the charge ends after the charge trigger date.

Values:

  • SubscriptionEnd: The charge ends on the subscription end date after a specified period based on the trigger date of the charge.
  • FixedPeriod: The charge ends after a specified period based on the trigger date of the charge. If you set this field to FixedPeriod, you must specify the length of the period and a period type by defining the UpToPeriods and UpToPeriodsType fields.

Note: If the subscription ends before the charge 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 charge end date.

Default "SubscriptionEnd"
Enum"SubscriptionEnd""FixedPeriod"
ExcludeItemBillingFromRevenueAccountingboolean

The flag to exclude the related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting.

Notes:

  • To use this field, you must set the X-Zuora-WSDL-Version request header to 115 or later. Otherwise, an error occurs.
  • This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.
ExcludeItemBookingFromRevenueAccountingboolean

The flag to exclude the related rate plan charges and order line items from revenue accounting.

Notes:

  • To use this field, you must set the X-Zuora-WSDL-Version request header to 115 or later. Otherwise, an error occurs.
  • This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.
Idstring

Object identifier.

IncludedUnitsnumber(double)

Specifies the number of units in the base set of units.

Character limit: 16

Values: a positive decimal value

LegacyRevenueReportingboolean
ListPriceBasestring

The list price base for the product rate plan charge.

Enum"Per Billing Period""Per Month""Per Week""Per Year""Per Specific Months"
MaxQuantitynumber(double)

Specifies the maximum number of units for this charge. Use this field and the MinQuantity field to create a range of units allowed in a product rate plan charge.

Character limit: 16

Values: a positive decimal value

MinQuantitynumber(double)

Specifies the minimum number of units for this charge. Use this field and the MaxQuantity field to create a range of units allowed in a product rate plan charge.

Character limit: 16

Values: a positive decimal value

Namestring<= 100 characters

The name of the product rate plan charge.

NumberOfPeriodinteger(int64)

Specifies the number of periods to use when calculating charges in an overage smoothing charge model. The valid value is a positive whole number.

OverageCalculationOptionstring or null

Determines when to calculate overage charges. If the value of the SmoothingMode field is not specified, the value of this field is ignored.

Values:

  • EndOfSmoothingPeriod: This option is used by default. The overage is charged at the end of the smoothing period.
  • PerBillingPeriod: The overage is charged on-demand rather than waiting until the end of the smoothing period.
Enum"EndOfSmoothingPeriod""PerBillingPeriod"null
OverageUnusedUnitsCreditOptionstring or null

Determines whether to credit the customer with unused units of usage.

Enum"NoCredit""CreditBySpecificRate"null
PriceChangeOptionstring or null

Applies an automatic price change when a termed subscription is renewed.

Default "NoChange"
Enum"NoChange""SpecificPercentageValue""UseLatestProductCatalogPricing"null
PriceIncreasePercentagenumber or null(double)

Specifies the percentage to increase or decrease the price of a termed subscription's renewal. Use this field if you set the value to SpecificPercentageValue.

Character limit: 16

Values: a decimal value between -100 and 100

ProductRatePlanIdstring<= 32 characters

The ID of the product rate plan associated with this product rate plan charge.

ProrationOptionstring

Note: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Usage charge proration and Charge level proration option for a recurring charge.

To use this field, you must set the X-Zuora-WSDL-Version request header to 135 or higher. Otherwise, an error occurs.

You can use this field to specify the charge-level proration option for a usage charge or recurring charge. The tenant-level proration option will be overridden.

  • NoProration: charge-level proration option that you can set for a usage charge. This option means to not use any proration, which is the default current system behavior for a usage charge.
  • TimeBasedProration: charge-level proration option that you can set for a usage charge. This option means to prorate the usage charge amount using the actual number of days if the billing period is a partial period.
  • DefaultFromTenantSetting: charge-level proration option that you can set for a recurring charge. This option means to follow the customer billing rule proration setting.
  • ChargeFullPeriod: charge-level proration option that you can set for a recurring charge. This options means to charge the full period amount for a partial billing period. Note that this setting means that there is no proration for either collecting or refunding. Even if you cancel the recurring charge in the middle of a billing period, there is no refund for this billing period.
Enum"NoProration""TimeBasedProration""DefaultFromTenantSetting""ChargeFullPeriod"
RatingGroupstring or null

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.

Enum"ByBillingPeriod""ByUsageStartDate""ByUsageRecord""ByUsageUpload""ByGroupId"null
RecognizedRevenueAccountstring<= 100 characters

The name of the recognized revenue account for this charge.

  • Required when the Allow Blank Accounting Code setting is No.
  • Optional when the Allow Blank Accounting Code setting is Yes.

This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.

RevRecCodestring or null<= 70 characters

Associates this product rate plan charge with a specific revenue recognition code.

RevRecTriggerConditionstring or null

Specifies when revenue recognition begins.

Enum"ContractEffectiveDate""ServiceActivationDate""CustomerAcceptanceDate"null
RevenueRecognitionRuleNamestring

Determines when to recognize the revenue for this charge.

Enum"Recognize upon invoicing""Recognize daily over time"
SmoothingModelstring or null

Specifies the smoothing model for an overage smoothing charge model.

Enum"RollingWindow""Rollover"null
SpecificBillingPeriodinteger or null(int64)

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. The valid value is a positive integer.

SpecificListPriceBaseinteger or null

The number of months for the list price base of the charge. The value of this field is null if you do not 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.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 129 or later. Otherwise, an error occurs.
  • The value of this field is null if you do not set the value of the ListPriceBase field to Per Specific Months.
TaxCodestring<= 64 characters

Specifies the tax code for taxation rules. Required when the Taxable field is set to True.

Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.

TaxModestring or null

Determines how to define taxation for the charge. Required when the Taxable field is set to True.

Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.

Enum"TaxExclusive""TaxInclusive"null
Taxableboolean

Determines whether the charge is taxable. When set to True, the TaxMode and TaxCode fields are required when creating or updating th ProductRatePlanCharge object.

Character limit: 5

Values: True, False

Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.

TriggerEventstring

Specifies when to start billing the customer for the charge.

Values:

  • ContractEffective is the date when the subscription's contract goes into effect and the charge is ready to be billed.
  • ServiceActivation is the date 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.
Enum"ContractEffective""ServiceActivation""CustomerAcceptance"
UOMstring or null<= 25 characters

Specifies the units to measure usage.

Note: You must specify this field when creating the following charge models:

  • Per Unit Pricing
  • Volume Pricin
  • Overage Pricing
  • Tiered Pricing
  • Tiered with Overage Pricing
UpToPeriodsinteger or null(int64)

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.

Character limit: 5

Values: a whole number between 0 and 65535, exclusive

Notes:

  • You must use this field together with the UpToPeriodsType field to specify the time period. This field is applicable only when the EndDateCondition field is set to FixedPeriod.
  • 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.
UpToPeriodsTypestring or null

The period type used to define when the charge ends.

Notes:

  • You must use this field together with the UpToPeriods field to specify the time period.
  • This field is applicable only when the EndDateCondition field is set to FixedPeriod.
Default "Billing Periods"
Enum"Billing Periods""Days""Weeks""Months""Years"null
UpdatedByIdstring<= 32 characters

The ID of the last user to update the object.

UpdatedDatestring(date-time)<= 29 characters

The date when the object was last updated.

UseDiscountSpecificAccountingCodeboolean or null

Determines whether to define a new accounting code for the new discount charge.

Character limit: 5

Values: True, False

UseTenantDefaultForPriceChangeboolean

Applies the tenant-level percentage uplift value for an automatic price change to a termed subscription's renewal.

Character limit: 5

Values: true, false

WeeklyBillCycleDaystring

Specifies which day of the week as the bill cycle day (BCD) for the charge.

This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.

Enum"Sunday""Monday""Tuesday""Wednesday""Thursday""Friday""Saturday"
IsAllocationEligibleboolean

Indicates whether the charge segment is allocation eligible in revenue recognition. The default value is False.

Values: True, False

Notes:

  • The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
IsUnbilledboolean

Specifies how to perform the accounting during revenue recognition. The default value is False.

Values: True, False

Notes:

  • The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
ProductCategorystring

This field is used to maintain the product category for integration with Zuora Revenue.

Notes:

  • This field is available only if you have the Additional Revenue Fields property enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
ProductClassstring

This field is used to maintain the product class for integration with Zuora Revenue.

Notes:

  • This field is available only if you have the Additional Revenue Fields property enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
ProductFamilystring

This field is used to maintain the product family for integration with Zuora Revenue.

Notes:

  • This field is available only if you have the Additional Revenue Fields property enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
ProductLinestring

This field is used to maintain the product line for integration with Zuora Revenue.

Notes:

  • This field is available only if you have the Additional Revenue Fields property enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
ReflectDiscountInNetAmountboolean

When you apply percentage discounts to either of the following charges, you need to set the ReflectDiscountInNetAmount field on your discount charge to true, to enable calculating and displaying the net amount of the following charges in Zuora Revenue.

  • delivery pricing charge
  • prepayment charge
  • drawdown charge

Note the following:

  • If you are an Order to Revenue customer, when you set the ReflectDiscountInNetAmount field to true, you must also set both the ExcludeItemBookingFromRevenueAccounting and ExcludeItemBillingFromRevenueAccounting fields to true.
  • If you are a Billing - Revenue Integration customer, you must set the ReflectDiscountInNetAmount field to false, otherwise an error will be returned. Billing - Revenue Integration customers are not supported with net amount.
  • If you are a Zuora Billing customer who does not enable the Order to Revenue or Billing - Revenue Integration feature, when you apply percentage discounts to the preceding charges, you also need to set the ReflectDiscountInNetAmount field to true.
Default false
RevenueRecognitionTimingstring<= 200 characters

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"
RevenueAmortizationMethodstring<= 200 characters

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"
ApplyToBillingPeriodPartiallyboolean

Allow the discount duration to be aligned with the billing period partially.

Note: You must enable the Enhanced Discount feature to access this field.

Formulastring

The price lookup formula defined for the product rate plan charge, which is used to identify the correct and relevant charge definition based on the context.

For more information, see Price lookup in Attribute-based Pricing.

Notes:

  • This field is available only if the Attribute-based Pricing feature is enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 138 or higher.
Class__NSstring<= 255 characters

Class associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

DeferredRevAccount__NSstring<= 255 characters

Deferrred revenue account associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

Department__NSstring<= 255 characters

Department associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

IncludeChildren__NSstring

Specifies whether the corresponding item in NetSuite is visible under child subsidiaries. Only available if you have installed the Zuora Connector for NetSuite.

Enum"Yes""No"
IntegrationId__NSstring<= 255 characters

ID of the corresponding object in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

IntegrationStatus__NSstring<= 255 characters

Status of the product rate plan charge's synchronization with NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

ItemType__NSstring

Type of item that is created in NetSuite for the product rate plan charge. Only available if you have installed the Zuora Connector for NetSuite.

Enum"Inventory""Non Inventory""Service"
Location__NSstring<= 255 characters

Location associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

RecognizedRevAccount__NSstring<= 255 characters

Recognized revenue account associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

RevRecEnd__NSstring

End date condition of the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

Enum"Charge Period Start""Rev Rec Trigger Date""Use NetSuite Rev Rec Template"
RevRecStart__NSstring

Start date condition of the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

Enum"Charge Period Start""Rev Rec Trigger Date""Use NetSuite Rev Rec Template"
RevRecTemplateType__NSstring<= 255 characters

Only available if you have installed the Zuora Connector for NetSuite.

Subsidiary__NSstring<= 255 characters

Subsidiary associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

SyncDate__NSstring<= 255 characters

Date when the product rate plan charge was synchronized with NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

property name*anyadditional property

Custom fields of the Product Rate Plan Charge object. The name of each custom field has the form customField__c. Custom field names are case sensitive. See Custom Fields for more information.

Response
application/json
{ "AccountingCode": "name_1476935155610", "BillCycleDay": 1, "BillCycleType": "DefaultFromCustomer", "BillingPeriod": "Month", "BillingPeriodAlignment": "AlignToCharge", "BillingTiming": "In Advance", "ChargeModel": "Flat Fee Pricing", "ChargeType": "Recurring", "CreatedById": "2c93808457d787030157e031dd264c85", "CreatedDate": "2016-10-20T05:45:55.000+02:00", "DefaultQuantity": 1, "DeferredRevenueAccount": "name_1476935155610", "Description": "Recurring Flat Fee Pricing", "EndDateCondition": "SubscriptionEnd", "Id": "2c93808457d787030157e032002b4e21", "IncludedUnits": 0, "LegacyRevenueReporting": false, "ListPriceBase": "Per Billing Period", "Name": "Recurring_Flat Fee Pricing1476935155610", "NumberOfPeriod": 1, "OverageCalculationOption": "EndOfSmoothingPeriod", "OverageUnusedUnitsCreditOption": "NoCredit", "PriceChangeOption": "NoChange", "PriceIncreasePercentage": 0, "ProductRatePlanId": "2c93808457d787030157e031ff054e1e", "RecognizedRevenueAccount": "name_1476935155610", "RevenueRecognitionRuleName": "Recognize upon invoicing", "Taxable": false, "TriggerEvent": "ContractEffective", "UpToPeriodsType": "Billing Periods", "UpdatedById": "2c93808457d787030157e031dd264c85", "UpdatedDate": "2016-10-20T05:45:55.000+02:00", "UseTenantDefaultForPriceChange": true, "Formula": "" }

CRUD: Update a product rate plan charge

Request

Updates the information about a product rate plan charge.

Security
bearerAuth
Path
idstringrequired

The unique ID of the product rate plan charge to be updated. For example, 2c93808457d787030157e031fcd34e19.

Query
rejectUnknownFieldsboolean

Specifies whether the call fails if the request body contains unknown fields. With rejectUnknownFields set to true, Zuora returns a 400 response if the request body contains unknown fields. The body of the 400 response is:

{
    "message": "Error - unrecognised fields"
}

By default, Zuora ignores unknown fields in the request body.

Default false
Headers
Accept-Encodingstring

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-Encodingstring

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-Entity-Idsstring

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-Idsstring

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-Track-Idstring<= 64 characters

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 (').

X-Zuora-WSDL-Versionstring

Zuora WSDL version number.

Default 79
Zuora-Versionstring

The minor API version.

For a list of available minor versions, see API upgrades.

Bodyapplication/jsonrequired
AccountingCodestring<= 100 characters

The accounting code for the charge. Accounting codes group transactions that contain similar accounting attributes.

ApplyDiscountTostring

Specifies the type of charges that you want a specific discount to apply to. All field values are case sensitive and in all-caps.

Enum"ONETIME (1)""RECURRING (2)""USAGE (4)""ONETIMERECURRING (3)""ONETIMEUSAGE (5)""RECURRINGUSAGE (6)""ONETIMERECURRINGUSAGE (7)"
BillCycleDayinteger(int32)

Sets the bill cycle day (BCD) for the charge. The BCD determines which day of the month customer is billed. The BCD value in the account can override the BCD in this object.

Character limit: 2 Values: a valid BCD integer, 1 - 31

BillCycleTypestringrequired

Specifies how to determine the billing day for the charge.

Notes:

  • If you set this field to SpecificDayofMonth, you must specify which day of the month as the billing day for the charge in the BillCycleDay field.
  • If you set this field to SpecificDayofWeek, you must specify which day of the week as the billing day for the charge in the WeeklyBillCycleDay field.
  • By default, TermStartDay and TermEndDay are only available for prepayment charges. But you can reach out to Zuora Global Support to request enabling it for non-prepaid recurring charges. Meanwhile, note the following rules applies to these options:
    • The Term End Day option of the Billing Day field must be coupled with the Align to Term End option of the Billing Period Alignment field.
    • For prepaid charges, the Term Start Day option of the Billing Day field must be coupled with the existing Align to Term Start option of the Billing Period Alignment field.
    • For non-prepaid recurring charges: If Billing Day is set to Term Start Day, Billing Period Alignment must be Align to Term Start; If Billing Day is set to Term End Day, Billing Period Alignment can be set to other values.
Enum"DefaultFromCustomer""SpecificDayofMonth""SubscriptionStartDay""ChargeTriggerDay""SpecificDayofWeek""TermStartDay""TermEndDay"
BillingPeriodstringrequired

The billing period for the charge. The start day of the billing period is also called the bill cycle day (BCD).

Notes:

  • Specify the number of months or weeks in the SpecificBillingPeriod field if you set this field to Specific Months or Specific Weeks.
  • The Subscription Term value is in Limited Availability.
Enum"Month""Quarter""Annual""Semi-Annual""Specific Months""Subscription Term""Week""Specific Weeks""Specific Days"
BillingPeriodAlignmentstring

Aligns charges within the same subscription if multiple charges begin on different dates.

Note: The AlignToTermEnd value is only available for prepayment charges by default. Reach out to Zuora Global Support to enable it for non-prepaid recurring charges.

Enum"AlignToCharge""AlignToSubscriptionStart""AlignToTermStart""AlignToTermEnd"
BillingTimingstring

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.

This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.

Enum"In Advance""In Arrears"
ChargeFunctionstring

Note: This field is only available if you have the Prepaid with Drawdown or Minimum Commitment feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 141 or higher. Otherwise, an error occurs.

This field defines what type of charge it is:

  • Standard: Normal charge with no Prepayment or Commitment or Drawdown.
  • Prepayment: For recurring charges. Unit or currency based prepaid charge.
  • CommitmentTrueUp: For recurring charges. Currency based minimum commitment charge.
  • Drawdown: For usage charges. Drawdown from prepaid funds.
  • DrawdownAndCreditCommitment: For usage charges. Drawdown from prepaid funds and then credit to minimum commitment funds.
  • CreditCommitment: For usage charges. Credit to minimum commitment funds.
Enum"Standard""Prepayment""CommitmentTrueUp""Drawdown""CreditCommitment""DrawdownAndCreditCommitment"
CommitmentTypestring

Note: This field is only available if you have the Prepaid with Drawdown 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"
ChargeModelstringrequired

Determines how to calculate charges. Charge models must be individually activated in Zuora Billing administration.

Notes:

  • The Delivery Pricing value is available only if you have the Delivery Pricing charge model enabled.
  • The MultiAttributePricing value is available only if you have the Multi-Attribute Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see Zuora Editions for pricing information.
  • The PreratedPerUnit and value is available only if you have the Pre-rated Per Unit Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see Zuora Editions for pricing information.
  • The PreratedPricing value is available only if you have the Pre-rated Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see Zuora Editions for pricing information.
  • The HighWatermarkVolumePricingvalue is available only if you have the High Water Mark Volume Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see Zuora Editions for pricing information.
  • The HighWatermarkTieredPricing value is available only if you have the High Water Mark Tiered Pricing charge model enabled. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see Zuora Editions for pricing information.
Enum"Discount-Fixed Amount""Discount-Percentage""Flat Fee Pricing""Per Unit Pricing""Overage Pricing""Tiered Pricing""Tiered with Overage Pricing""Volume Pricing""Delivery Pricing""MultiAttributePricing"
ChargeModelConfigurationobject(ChargeModelConfiguration)

Container for charge model configuration data.

Notes:

  • This field is only available if you have the Pre-Rated Pricing or Multi-Attribute Pricing charge models enabled. These charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see Zuora Editions for pricing information.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 102 or later. Otherwise, an error occurs with "Code: INVALID_VALUE".
CreditOptionstring

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

The way to calculate credit. See Credit Option for more information.

Enum"TimeBased""ConsumptionBased""FullCreditBack"
DefaultQuantitynumber(double)

The default quantity of units, such as the number of authors in a hosted wiki service. This field is required if you use a per-unit pricing model.

Character limit: 16

Values: a valid quantity value.

Note: When the ChargeModel field is set to Tiered Pricing or Volume Pricing, if this field is not specified, the value will default to 0.

DeferredRevenueAccountstring<= 100 characters

The name of the deferred revenue account for this charge.

Note: AccountingCode value is mandatory to update this field. Specify the same accounting code name as given in the AccountingCode.

DeliveryScheduleobject(DeliverySchedule)
Descriptionstring<= 500 characters

A description of the charge.

DiscountLevelstring

Specifies if the discount applies to just the product rate plan, the entire subscription, or to any activity in the account.

Enum"rateplan""subscription""account"
DrawdownRatenumber

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

The conversion rate between Usage UOM and Drawdown UOM for a drawdown charge. See Fields related to Prepaid with Drawdown for more information.

DrawdownUomstring

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

Unit of measurement for a drawdown charge.

EndDateConditionstring

Defines when the charge ends after the charge trigger date.

Values:

  • SubscriptionEnd: The charge ends on the subscription end date after a specified period based on the trigger date of the charge.
  • FixedPeriod: The charge ends after a specified period based on the trigger date of the charge. If you set this field to FixedPeriod, you must specify the length of the period and a period type by defining the UpToPeriods and UpToPeriodsType fields.

Note: If the subscription ends before the charge 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 charge end date.

Default "SubscriptionEnd"
Enum"SubscriptionEnd""FixedPeriod"
ExcludeItemBillingFromRevenueAccountingboolean

The flag to exclude the related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting.

Notes:

  • To use this field, you must set the X-Zuora-WSDL-Version request header to 115 or later. Otherwise, an error occurs.
  • This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.
Default false
ExcludeItemBookingFromRevenueAccountingboolean

The flag to exclude the related rate plan charges and order line items from revenue accounting.

Notes:

  • To use this field, you must set the X-Zuora-WSDL-Version request header to 115 or later. Otherwise, an error occurs.
  • This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.
Default false
IncludedUnitsnumber(double)

Specifies the number of units in the base set of units.

Character limit: 16

Values: a positive decimal value

IsAllocationEligibleboolean

Indicates whether the charge segment is allocation eligible in revenue recognition. The default value is False.

Values: True, False

Notes:

  • The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
IsPrepaidboolean

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

Indicates whether this charge is a prepayment (topup) charge or a drawdown charge.

Values: true or false.

IsRolloverboolean

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

The value is either "True" or "False". It determines whether the rollover fields are needed.

IsStackedDiscountboolean

Note: This field is only applicable to the Discount - Percentage charge model.

To use this field, you must set the X-Zuora-WSDL-Version request header to 130 or higher. Otherwise, an error occurs.

This field indicates whether the discount is to be calculated as stacked discount. Possible values are as follows:

  • True: This is a stacked discount, which should be calculated by stacking with other discounts.
  • False: This is not a stacked discount, which should be calculated in sequence with other discounts.

For more information, see Stacked discounts.

IsUnbilledboolean

Specifies how to perform the accounting during revenue recognition. The default value is False.

Values: True, False

Notes:

  • The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
LegacyRevenueReportingboolean
ListPriceBasestring

The list price base for the product rate plan charge.

Enum"Per Billing Period""Per Month""Per Week""Per Year""Per Specific Months"
MaxQuantitynumber(double)

Specifies the maximum number of units for this charge. Use this field and the MinQuantity field to create a range of units allowed in a product rate plan charge.

Character limit: 16

Values: a positive decimal value

MinQuantitynumber(double)

Specifies the minimum number of units for this charge. Use this field and the MaxQuantity field to create a range of units allowed in a product rate plan charge.

Character limit: 16

Values: a positive decimal value

Namestring<= 100 characters

The name of the product rate plan charge.

Example: "One-Time charge"
NumberOfPeriodinteger(int64)

Specifies the number of periods to use when calculating charges in an overage smoothing charge model. The valid value must be a positive whole number.

OverageCalculationOptionstring or null

Determines when to calculate overage charges. If the value of the SmoothingMode field is not specified, the value of this field is ignored.

Values:

  • EndOfSmoothingPeriod: This option is used by default. The overage is charged at the end of the smoothing period.
  • PerBillingPeriod: The overage is charged on-demand rather than waiting until the end of the smoothing period.
Enum"EndOfSmoothingPeriod""PerBillingPeriod"null
OverageUnusedUnitsCreditOptionstring or null

Determines whether to credit the customer with unused units of usage.

Enum"NoCredit""CreditBySpecificRate"null
PrepaidQuantitynumber

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

The number of units included in a prepayment charge. Must be a positive number.

PrepaidUomstring

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

Unit of measurement for a prepayment charge.

PriceChangeOptionstring or null

Applies an automatic price change when a termed subscription is renewed.

Default "NoChange"
Enum"NoChange""SpecificPercentageValue""UseLatestProductCatalogPricing"null
PriceIncreaseOptionstring

Applies an automatic price change when a termed subscription is renewed.

Enum"FromTenantPercentageValue""SpecificPercentageValue"
PriceIncreasePercentagenumber or null(double)

Specifies the percentage to increase or decrease the price of a termed subscription's renewal. Use this field if you set the value to SpecificPercentageValue.

Character limit: 16

Values: a decimal value between -100 and 100

ProductCategorystring

This field is used to maintain the product category for integration with Zuora Revenue.

Notes:

  • This field is available only if you have the Additional Revenue Fields property enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
ProductClassstring

This field is used to maintain the product class for integration with Zuora Revenue.

Notes:

  • This field is available only if you have the Additional Revenue Fields property enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
ProductFamilystring

This field is used to maintain the product family for integration with Zuora Revenue.

Notes:

  • This field is available only if you have the Additional Revenue Fields property enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
ProductLinestring

This field is used to maintain the product line for integration with Zuora Revenue.

Notes:

  • This field is available only if you have the Additional Revenue Fields property enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 132 or later.
ProrationOptionstring

Note: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Usage charge proration and Charge level proration option for a recurring charge.

To use this field, you must set the X-Zuora-WSDL-Version request header to 135 or higher. Otherwise, an error occurs.

You can use this field to specify the charge-level proration option for a usage charge or recurring charge. The tenant-level proration option will be overridden.

  • NoProration: charge-level proration option that you can set for a usage charge. This option means to not use any proration, which is the default current system behavior for a usage charge.
  • TimeBasedProration: charge-level proration option that you can set for a usage charge. This option means to prorate the usage charge amount using the actual number of days if the billing period is a partial period.
  • DefaultFromTenantSetting: charge-level proration option that you can set for a recurring charge. This option means to follow the customer billing rule proration setting.
  • ChargeFullPeriod: charge-level proration option that you can set for a recurring charge. This options means to charge the full period amount for a partial billing period. Note that this setting means that there is no proration for either collecting or refunding. Even if you cancel the recurring charge in the middle of a billing period, there is no refund for this billing period.
Enum"NoProration""TimeBasedProration""DefaultFromTenantSetting""ChargeFullPeriod"
RevenueRecognitionTimingstring<= 200 characters

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.

To use this field, you must set the X-Zuora-WSDL-Version request header to 140 or higher. Otherwise, an error occurs.

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"
RevenueAmortizationMethodstring<= 200 characters

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.

To use this field, you must set the X-Zuora-WSDL-Version request header to 140 or higher. Otherwise, an error occurs.

Note: This field is only available if you have the Order to Revenue feature enabled.

Enum"Immediate""Ratable Using Start And End Dates"
ProductRatePlanChargeNumberstring<= 100 characters

The natural key of the product rate plan charge.

For existing Product Rate Plan Charge objects that are created before this field is introduced, this field will be null. Use this field to specify a value for only these objects. Zuora also provides a tool to help you automatically backfill this field with tenant ID for your existing product catalog. If you want to use this backfill tool, contact Zuora Global Support.

Note: This field is only available if you set the X-Zuora-WSDL-Version request header to 133 or later.

ProductRatePlanChargeTierDataobject(productRatePlanChargeTierData)required

Container for pricing information associated with the product rate plan charge.

ProductRatePlanChargeTierData.​ProductRatePlanChargeTierArray of objects

Array of product rate plan charge tiers.

You should specify all relevant fields of all tiers, including pricing information for each currency.

For each currency, ensure that the tiers appear in ascending order of StartingUnit.

For example:

[
  {
    "StartingUnit": "1",
    "EndingUnit": "150",
    "Currency": "USD",
    "Price": 1.95,
    "PriceFormat": "Per Unit"
  },
  {
    "StartingUnit": "151",
    "EndingUnit": "300",
    "Currency": "USD",
    "Price": 1.45,
    "PriceFormat": "Per Unit"
  },
  {
    "StartingUnit": "1",
    "EndingUnit": "150",
    "Currency": "EUR",
    "Price": 1.75,
    "PriceFormat": "Per Unit"
  },
  {
    "StartingUnit": "151",
    "EndingUnit": "300",
    "Currency": "EUR",
    "Price": 1.30,
    "PriceFormat": "Per Unit"
  }
]
ProductRatePlanIdstring<= 32 charactersrequired

The ID of the product rate plan associated with this product rate plan charge.

RatingGroupstring or null

Specifies a rating group based on which usage records are rated.

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.

Note:

  • The ByBillingPeriod value can be applied for all charge models.
  • The ByUsageStartDate, ByUsageRecord, and ByUsageUpload values can only be applied for per unit, volume pricing, and tiered pricing charge models.
  • The ByGroupId value is only available if you have the Active Rating feature enabled.
  • Use this field only for Usage charges. One-Time Charges and Recurring Charges return NULL.
Default "ByBillingPeriod"
Enum"ByBillingPeriod""ByUsageStartDate""ByUsageRecord""ByUsageUpload""ByGroupId"null
RecognizedRevenueAccountstring<= 100 characters

The name of the recognized revenue account for this charge.

  • Required when the Allow Blank Accounting Code setting is No.
  • Optional when the Allow Blank Accounting Code setting is Yes.

This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.

RevRecCodestring or null<= 70 characters

Associates this product rate plan charge with a specific revenue recognition code.

RevRecTriggerConditionstring or null

Specifies when revenue recognition begins.

Enum"ContractEffectiveDate""ServiceActivationDate""CustomerAcceptanceDate"null
RevenueRecognitionRuleNamestring

Determines when to recognize the revenue for this charge.

Enum"Recognize upon invoicing""Recognize daily over time"
RolloverApplystring

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

This field defines the priority of rollover, which is either first or last.

Enum"ApplyFirst""ApplyLast"
RolloverPeriodsnumber

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

This field defines the number of rollover periods, it is restricted to 3.

SmoothingModelstring or null

Specifies the smoothing model for an overage smoothing charge model.

Enum"RollingWindow""Rollover"null
SpecificBillingPeriodinteger or null(int64)

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. The valid value is a positive integer.

SpecificListPriceBaseinteger or null(int32)[ 1 .. 200 ]

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.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 129 or later. Otherwise, an error occurs.
  • The value of this field is null if you do not set the value of the ListPriceBase field to Per Specific Months.
TaxCodestring<= 64 characters

Specifies the tax code for taxation rules. Required when the Taxable field is set to True.

Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.

TaxModestring or null

Determines how to define taxation for the charge. Required when the Taxable field is set to True.

Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.

Enum"TaxExclusive""TaxInclusive"null
Taxableboolean

Determines whether the charge is taxable. When set to True, the TaxMode and TaxCode fields are required when creating or updating th ProductRatePlanCharge object.

Character limit: 5

Values: True, False

Note: This value affects the tax calculation of rate plan charges that come from the ProductRatePlanCharge.

TriggerEventstringrequired

Specifies when to start billing the customer for the charge.

Values:

  • ContractEffective is the date when the subscription's contract goes into effect and the charge is ready to be billed.
  • ServiceActivation is the date 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.
Enum"ContractEffective""ServiceActivation""CustomerAcceptance"
UOMstring or null<= 25 characters

Specifies the units to measure usage.

Note: You must specify this field when creating the following charge models:

  • Per Unit Pricing
  • Volume Pricing
  • Overage Pricing
  • Tiered Pricing
  • Tiered with Overage Pricing
UpToPeriodsinteger or null(int64)

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.

Character limit: 5

Values: a whole number between 0 and 65535, exclusive

Notes:

  • You must use this field together with the UpToPeriodsType field to specify the time period. This field is applicable only when the EndDateCondition field is set to FixedPeriod.
  • 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.
UpToPeriodsTypestring or null

The period type used to define when the charge ends.

Notes:

  • You must use this field together with the UpToPeriods field to specify the time period.
  • This field is applicable only when the EndDateCondition field is set to FixedPeriod.
Default "Billing Periods"
Enum"Billing Periods""Days""Weeks""Months""Years"null
UsageRecordRatingOptionstring or null

Determines how Zuora processes usage records for per-unit usage charges.

Default "EndOfBillingPeriod"
Enum"EndOfBillingPeriod""OnDemand"null
UseDiscountSpecificAccountingCodeboolean or nullrequired

Determines whether to define a new accounting code for the new discount charge.

Character limit: 5

Values: True, False

UseTenantDefaultForPriceChangeboolean

Applies the tenant-level percentage uplift value for an automatic price change to a termed subscription's renewal.

Character limit: 5

Values: true, false

ValidityPeriodTypestring

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 114 or higher. Otherwise, an error occurs.

The period in which the prepayment units are valid to use as defined in a prepayment charge.

Enum"SUBSCRIPTION_TERM""ANNUAL""SEMI_ANNUAL""QUARTER""MONTH"
WeeklyBillCycleDaystring

Specifies which day of the week as the bill cycle day (BCD) for the charge.

This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.

Enum"Sunday""Monday""Tuesday""Wednesday""Thursday""Friday""Saturday"
ApplyToBillingPeriodPartiallyboolean

Allow the discount duration to be aligned with the billing period partially.

Note: You must enable the Enhanced Discount feature to access this field.

RolloverPeriodLengthinteger

Note: This field is only available if you have the Prepaid with Drawdown feature enabled.

To use this field, you must set the X-Zuora-WSDL-Version request header to 137 or higher. Otherwise, an error occurs.

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.

Default null
Formulastring

The price lookup formula defined for the product rate plan charge, which is used to identify the correct and relevant charge definition based on the context.

For more information, see Price lookup in Attribute-based Pricing.

Notes:

  • This field is available only if the Attribute-based Pricing feature is enabled.
  • To use this field, you must set the X-Zuora-WSDL-Version request header to 138 or higher.
Class__NSstring<= 255 characters

Class associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

DeferredRevAccount__NSstring<= 255 characters

Deferrred revenue account associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

Department__NSstring<= 255 characters

Department associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

IncludeChildren__NSstring

Specifies whether the corresponding item in NetSuite is visible under child subsidiaries. Only available if you have installed the Zuora Connector for NetSuite.

Enum"Yes""No"
IntegrationId__NSstring<= 255 characters

ID of the corresponding object in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

IntegrationStatus__NSstring<= 255 characters

Status of the product rate plan charge's synchronization with NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

ItemType__NSstring

Type of item that is created in NetSuite for the product rate plan charge. Only available if you have installed the Zuora Connector for NetSuite.

Enum"Inventory""Non Inventory""Service"
Location__NSstring<= 255 characters

Location associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

RecognizedRevAccount__NSstring<= 255 characters

Recognized revenue account associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

RevRecEnd__NSstring

End date condition of the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

Enum"Charge Period Start""Rev Rec Trigger Date""Use NetSuite Rev Rec Template"
RevRecStart__NSstring

Start date condition of the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

Enum"Charge Period Start""Rev Rec Trigger Date""Use NetSuite Rev Rec Template"
RevRecTemplateType__NSstring<= 255 characters

Only available if you have installed the Zuora Connector for NetSuite.

Subsidiary__NSstring<= 255 characters

Subsidiary associated with the corresponding item in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

SyncDate__NSstring<= 255 characters

Date when the product rate plan charge was synchronized with NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

property name*anyadditional property

Custom fields of the Product Rate Plan Charge object. The name of each custom field has the form customField__c. Custom field names are case sensitive. See Custom Fields for more information.

curl -i -X PUT \
  'https://developer.zuora.com/_mock/v1-api-reference/api/v1/object/product-rate-plan-charge/{id}?rejectUnknownFields=false' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Encoding: string' \
  -H 'Content-Type: application/json' \
  -H 'X-Zuora-WSDL-Version: 79' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Org-Ids: string' \
  -H 'Zuora-Track-Id: string' \
  -H 'Zuora-Version: string' \
  -d '{
    "Name": "One-Time charge"
  }'

Responses

OK

Headers
Content-Encodingstring

This header is returned if you specify the Accept-Encoding: gzip request header and the response contains over 1000 bytes of data.

Note that only the following MIME types support gzipped responses:

  • application/json
  • application/xml
  • text/html
  • text/csv
  • text/plain
RateLimit-Limitstring

The request limit quota for the time window closest to exhaustion. See rate limits for more information.

RateLimit-Remainingnumber

The number of requests remaining in the time window closest to quota exhaustion. See rate limits for more information.

RateLimit-Resetnumber

The number of seconds until the quota resets for the time window closest to quota exhaustion. See rate limits for more information.

Zuora-Request-Idstring= 36 characters

The Zuora internal identifier of the API call. You cannot control the value of this header.

Zuora-Track-Idstring<= 64 characters

A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

Concurrency-Limit-Typestring

The type of the concurrency limit, which can be Default, High-volume transactions, or Object Query.

For more information, see Concurrent request limits.

Concurrency-Limit-Limitinteger

The total number of the permitted concurrent requests.

For more information, see Concurrent request limits.

Concurrency-Limit-Remaininginteger

The remaining number of the permitted concurrent requests.

For more information, see Concurrent request limits.

Bodyapplication/json
Idstring
Successboolean
Response
application/json
{ "Id": "2c93808457d787030157e03197714910", "Success": true }

CRUD: Delete a product rate plan charge

Request

Deletes a product rate plan charge.

Security
bearerAuth
Path
idstringrequired

The unique ID of the product rate plan charge to be deleted. For example, 2c93808457d787030157e031fcd34e19.

Headers
Accept-Encodingstring

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-Encodingstring

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-Entity-Idsstring

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-Idsstring

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-Track-Idstring<= 64 characters

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-Versionstring

The minor API version.

For a list of available minor versions, see API upgrades.

curl -i -X DELETE \
  'https://developer.zuora.com/_mock/v1-api-reference/api/v1/object/product-rate-plan-charge/{id}' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Encoding: string' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Org-Ids: string' \
  -H 'Zuora-Track-Id: string' \
  -H 'Zuora-Version: string'

Responses

OK

Headers
Content-Encodingstring

This header is returned if you specify the Accept-Encoding: gzip request header and the response contains over 1000 bytes of data.

Note that only the following MIME types support gzipped responses:

  • application/json
  • application/xml
  • text/html
  • text/csv
  • text/plain
RateLimit-Limitstring

The request limit quota for the time window closest to exhaustion. See rate limits for more information.

RateLimit-Remainingnumber

The number of requests remaining in the time window closest to quota exhaustion. See rate limits for more information.

RateLimit-Resetnumber

The number of seconds until the quota resets for the time window closest to quota exhaustion. See rate limits for more information.

Zuora-Request-Idstring= 36 characters

The Zuora internal identifier of the API call. You cannot control the value of this header.

Zuora-Track-Idstring<= 64 characters

A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

Concurrency-Limit-Typestring

The type of the concurrency limit, which can be Default, High-volume transactions, or Object Query.

For more information, see Concurrent request limits.

Concurrency-Limit-Limitinteger

The total number of the permitted concurrent requests.

For more information, see Concurrent request limits.

Concurrency-Limit-Remaininginteger

The remaining number of the permitted concurrent requests.

For more information, see Concurrent request limits.

Bodyapplication/json
idstring
successboolean
Response
application/json
{ "id": "2c93808457d787030157e031fcd34e19", "success": true }

Product Charge Definitions

Note - The APIs in this section are legacy APIs. Zuora recommends using the newer, faster APIs for managing products and catalogs more efficiently instead. For more information, see our latest Commerce API.

Use product charge definitions to define the attributes that can determine the charge behavior, such as billing attributes, pricing attributes, taxation attributes, or accounting attributes.\n\nThe Product Charge Definition object 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 are interested, please reach out to your CSM.

Operations

Product Rate Plan Charge Tiers

Note - The APIs in this section are legacy APIs. Zuora recommends using the newer, faster APIs for managing products and catalogs more efficiently instead. For more information, see our latest Commerce API.

To manage product rate plan charge tiers, use the Product Rate Plan Charges operations instead to update the corresponding product rate plan charge with all the tiers.

Operations

Zuora Revenue Integration

Note: You can only use the operations in this section if you have the Billing - Revenue Integration feature enabled. See Billing - Revenue Integration for more information. The APIs in this section are legacy APIs. Zuora recommends using the newer, faster APIs for managing products and catalogs more efficiently instead. For more information, see our latest Commerce API.

Operations