Skip to content

Older API Reference (2025-12-17)

This API Reference contains the API operations that we no longer recommend you use.

Although we do not recommend these API operations, you can continue to use these API operations if you have integrated with them. You are not required to make changes to your existing integration.

For more information about this change, see this Community post.

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://developer.zuora.com/_mock/v1-api-reference/older-api
https://rest.zuora.com

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

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 Create account operation is used to create an account with a credit card payment method, a bill-to contact, and optionally an sold-to contact or an associated subscription. If you want to create an account without creating any associated objects such as subscriptions, use CRUD: Create Account instead.

If you want to create an account and the associated subscription at the same time without providing credit card information, use the Subscribe action.

Operations

Amendments

You can use amendments to modify subscriptions. However, Zuora recommends you to use the Create an order operation to do so.

Operations

Bill Runs

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

Catalog

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

Charge Metrics

Charge Metrics provides a service to access key metrics for rate plan charges in Zuora, for example, Gross MRR, Net MRR, Gross TCV, and Net TCV.

Operations

Charge Revenue Summaries

Operations

Communication Profiles

Operations

Connections

Establishes a connection to the Zuora REST API service based on a valid user credentials.

Note: This is a legacy REST API. Zuora recommends you to use OAuth for authentication instead.

Operations

Credit Balance Adjustments

A credit balance adjustment represents one adjustment made to the credit balance.

'

Operations

Document Properties

You can create, update, and retrieve custom document properties for a billing document. For example, a document property can be a custom name used for files generated for billing documents. Billing documents include invoices, credit memos, and debit memos.

Note: You can manage document properties for credit memos and debit memos only if you have the <a href="https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement" target="_blank">Invoice Settlement</a> feature enabled.

Operations

Entities

An entity represents a business unit that operates independently and can sell products to multiple countries. Each entity has its own Zuora environment in which the entity users can perform business operations independent of the other entities. In a multi-entity hierarchy, an entity can share certain business objects with the other entities. Users that are created in an entity can be granted access to the other entities with different roles and permissions.

Note: Entities are available only if you have the <a href="https://knowledgecenter.zuora.com/Billing/Tenant_Management/Multi-entity" target="_blank">Multi-entity</a> feature enabled. If you want to have access to the Multi-entity feature, submit a request at <a href=“http://support.zuora.com/” target=“_blank”>Zuora Global Support</a>.

Operations

Entity Connections

If you want to share business objects across entities, you have to set up a connection between the source entity and the target entity first.

Note: Entity connections are available only if you have the <a href="https://knowledgecenter.zuora.com/Billing/Tenant_Management/Multi-entity" target="_blank">Multi-entity</a> feature enabled. If you want to have access to the Multi-entity feature, submit a request at <a href=“http://support.zuora.com/” target=“_blank”>Zuora Global Support</a>.

Operations

Exports

You can export items from Zuora to CSV or HTML files, such as large data sets, invoices, payments, and so on. Use the Export object and Export ZOQL queries to create an export file that you can download and use for charting, reporting, accounting, or for other business intelligence uses.

When you export data from Zuora, each exported file is available for download for 7 days. Export objects older than 90 days are automatically deleted.

Operations

Features

After you have created a feature, you can add features to the products and subscriptions to enhance your product offerings.

To create features in the product catalog and use them in subscriptions and Zuora Quotes, you need to enable the following:

  • The Entitlements setting in your tenant. Access to the Entitlements feature requires a specific edition of Zuora. For more information, see <a href="https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/C_Zuora_Editions" target="_blank">Zuora Editions</a>.
  • The <a href="https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Billing_Settings/Define_Default_Subscription_and_Order_Settings#Enable_Feature_Specification_in_Products_and_Subscriptions.3F" target="_blank">Enable Feature Specification in Product and Subscriptions</a> setting in the Billing Settings.
Operations

HMAC Signatures

A Hash-based Message Authentication Code (HMAC) signature is a form of a digital signature. HMAC signatures start with a secret key that is shared between the sender and the recipient.

You can use the operation contained in this section to generate the unique signature and token values that are used to process CORS-enabled API calls.

Operations

Invoice Adjustments

An invoice adjustment modifies an existing invoice. You use an invoice adjustment to change the entire invoice. For example, you can apply a late fee to the invoice balance.

An invoice adjustment differs from an invoice item adjustment. An invoice item adjustment affects an individual charge or line item on an invoice. An invoice adjustment affects the invoice at the header-level.

Note: Invoice Adjustment is deprecated on Production in WSDL version 64.0. Zuora recommends that you use the Invoice Item Adjustment to adjust invoices. If you have the <a href="https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement" target="_blank">Invoice Settlement</a> feature enabled, this object is deprecated and only available for backward compatibility.

Operations

Invoice Item Adjustments

Invoice item adjustments allow you to adjust the invoice details, including taxes at the charge level, and have those adjustments reported in the system under the same accounting code as the items that are being adjusted.

Note: The <a href="https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement" target="_blank">Invoice Settlement</a> feature is a replacement for Invoice Item Adjustments. We recommend that you enable Invoice Settlement to take advantage of the improved functionalities. If you have the Invoice Settlement feature enabled, the Invoice Item Adjustments feature is deprecated and invoice item adjustments are not presented in the UI. If you have to export data for invoice item adjustments, use <a href="https://knowledgecenter.zuora.com/Billing/Reporting/D_Data_Sources_and_Exports/D_Generate_a_Data_Source_Export" target="_blank">Data Source</a>, <a href="https://knowledgecenter.zuora.com/Central_Platform/Query/Data_Query" target="_blank">Data Query</a>, or REST API.

Operations

Invoice Items

Invoice items are the line items contained in the invoices that you send to your customers. For more information about invoices, see <a href="https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/IA_Invoices" target="_blank">Invoices</a>.

Operations

Invoice Payments

Use invoice payments to tie a payment to an invoice and indicate how much of the payment was applied to the invoice.

Operations

Invoice Split Items

Use invoice split items to split the original invoice into multiple invoices.

Operations

Invoice Splits

Use invoice splits to hold two or more invoice split items.

Operations

Invoices

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

For more information about invoices, see <a href="https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/IA_Invoices/A1_Invoice_Introduction" target="_blank">Invoice</a>.

Operations

Orders

Orders are contractual agreements between merchants and customers.

For more information about Orders, see <a href="https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders" target="_blank">Orders</a>.

Operations

Payment Gateway Transaction Logs

Operations

Payment Methods

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

Operations

Payments

Use payments to process payments, for example, automate recurring payments, manage overpayments, and create refunds. For more information about payments, see <a href="https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/K_Payment_Operations" target="_blank">Payments</a>.

Operations

Product Features

You can add features to products through the Zuora UI. However, you can retrieve or delete product features through the UI or API.

Operations

Quotes Document

This section contains the Generate a quote document operation that should be only used from Zuora Quotes.

This operation generates a quote document and returns the generated document URL. You can directly access the generated quote file through the returned URL.

Operations

Rate Plan Charge Tiers

A rate plan charge tier is part of a subscription or an amendment to a subscription, and it comes from a product rate plan charge tier. A rate plan charge tier holds the prices for a rate plan charge. Each rate plan charge has at least one tier associated with it.

Rate plan charge tiers are sometimes called subscription rate plan charge tiers to distinguish them from product rate plan charge tiers. Rate plan charge tiers that are part of an amendment are sometimes called amendment rate plan charge tiers for the same reason. However, the object name is RatePlanChargeTier, not SubscriptionRatePlanChargeTier nor AmendmentRatePlanChargeTier: these latter two names don't exist.

Operations

Rate Plan Charges

A rate plan charge is part of a subscription or an amendment to a subscription, and it comes from a product rate plan charge. Like a product and its product rate plan charges, a subscription can have one or more rate plan charges. Rate plan charges represent the actual charges for the rate plans or services that you sell.

Rate plan charges are sometimes called subscription rate plan charges to distinguish them from product rate plan charges. Rate plan charges that are part of an amendment are sometimes called amendment rate plan charges for the same reason. The object name is RatePlanCharge – not SubscriptionRatePlanCharge nor AmendmentRatePlanCharge.

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

Refund Invoice Payments

This section contains the CRUD: Retrieve a refund invoice payment operation. You can use this operation to retrieve information from Refund Invoice Payment and associated invoices, payments, and accounts.

Operations

Refund Transaction Logs

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

Reporting

The Zuora Reporting API enables you to access reports that you have created in the Zuora UI, manage report runs, and export the results of report runs.

The endpoints of the Reporting API are the same as the endpoints of Zuora REST API. The following table provides some endpoints as reference:

EnvironmentAPI Endpoint
API Sandbox (US Cloud Data Center 1)https://rest.sandbox.na.zuora.com
Production (US Cloud Data Center 1)https://rest.na.zuora.com
API Sandbox (US Cloud Data Center 2)https://rest.apisandbox.zuora.com
Production (US Cloud Data Center 2)https://rest.zuora.com
API Sandbox (EU Data Center)https://rest.sandbox.eu.zuora.com
Production (EU Data Center)https://rest.eu.zuora.com
US Central Sandboxhttps://rest.test.zuora.com
EU Central Sandboxhttps://rest.test.eu.zuora.com
APAC Developer & Central Sandboxhttps://rest.test.ap.zuora.com
APAC Productionhttps://rest.ap.zuora.com

Historically, the endpoints of the Reporting API were different from the endpoints of the Zuora REST API.

Note that you are still able to use the following endpoints, but it is unrecommended and you can only use username and password to authenticate to the Reporting API. We recommend you to use OAuth to authenticate to the Reporting API. OAuth only works with new endpoints. The endpoints of the Reporting API were:

EnvironmentAPI Endpoint
API Sandbox (US Cloud Data Center 1)https://zconnect.sandbox.na.zuora.com/api/rest/v1
Production (US Cloud Data Center 1)https://zconnect.na.zuora.com/api/rest/v1
API Sandbox (US Cloud Data Center 2)https://zconnectsandbox.zuora.com/api/rest/v1
Production (US Cloud Data Center 2)https://zconnect.zuora.com/api/rest/v1
API Sandbox (EU Data Center)https://zconnect.sandbox.eu.zuora.com/api/rest/v1
Production (EU Data Center)https://zconnect.eu.zuora.com/api/rest/v1
US Central Sandboxhttps://zconnect-services0001.test.zuora.com/api/rest/v1
EU Central Sandboxhttps://zconnect-services0002.test.eu.zuora.com/api/rest/v1
APAC Developer & Central Sandboxhttps://zconnect-services0003.test.ap.zuora.com
APAC Productionhttp://zconnect-prod05.ap.zuora.com
Operations

Retrieve a report run

Request

Retrieves details of the specific report run.

Path
reportRunIdstringrequired

The ID of the report run. You can get the ID from the JSON response to Run a Report.

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.

Authorizationstringrequired

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

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 do not need to set this header.

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

curl -i -X GET \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/reporting/api/rest/v1/reportruns/{reportRunId}' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: 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.

Bodyapplication/json
idstring

The ID of the report run. This value matches the value of the reportRunId request parameter.

statusstring

Status of the report run.

  • started - The report run has started. The query has not been submitted.
  • querydata - The query has been submitted. The results have not been received.
  • processingdata - The results have been received. The results are being processed.
  • completed - The report run has finished successfully. The results are available for download using Get Report Data or Export Report Run.
  • cancelled - The report run was canceled by the user.
  • invalid - The report definition or data is invalid.
  • error - The report run has finished with an error.
Enum"started""querydata""processingdata""completed""cancelled""invalid""error"
startedOnstring(date-time)

The timestamp of when the report run was started.

updatedOnstring(date-time)

The timestamp of when the status of the report run was last updated.

reportIDstring

The ID of the report that was run.

reportTypestring

The type of the report that was run.

Enum"detail""summary"
reportDefinitionstring

The definition of the report that was run.

Response
application/json
{ "success": true, "response": { "reportType": "Detail", "id": "ff808081529f4e3401529fd61f080074", "reportId": "ff808081529f4e3401529fd373730070", "startedOn": 1453166692000, "status": "COMPLETED", "reportDefinition": "...", "updatedOn": 1453166695000 } }

Cancel a report run

Request

Stops the specified report run.

Path
reportRunIdstringrequired

The unique identifier for a report run. You can get the reportRunId from the id value in the JSON response to Run a Report.

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.

Authorizationstringrequired

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

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 do not need to set this header.

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

curl -i -X DELETE \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/reporting/api/rest/v1/reportruns/{reportRunId}' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: 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.

Bodyapplication/json
Response
application/json
{ "success": true, "response": "The report run has been canceled" }

Run a report

Request

Starts a new report run and returns the ID of the report run.

Path
ReportIdstringrequired

The unique identifier for a report. You can obtain the ReportId from the id value in the JSON response to a call of Search by Report Names or you can get it definitively from the response to the Create a Report call.

Query
viewTypestringrequired

The value of viewType must be either Detail or Summary depending on the report definition.

Headers
Idempotency-Keystring<= 255 characters

Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types.

With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident.

Accept-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.

Authorizationstringrequired

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

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 do not need to set this header.

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

Bodyapplication/jsonrequiredArray [
logicalOperatorobject

Operator that defines the relationship between files.

filterClausesArray of objects

Defines the filters under a specific logicalOperator.

]
curl -i -X POST \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/reporting/api/rest/v1/reports/{ReportId}/reportrun?viewType=string' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: string' \
  -d '[
    {
      "logicalOperator": {
        "value": "AND"
      },
      "filterClauses": [
        {
          "field": {
            "id": "Account.Status",
            "type": "Text"
          },
          "operator": "=",
          "value": "Active"
        }
      ]
    }
  ]'

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.

Bodyapplication/json
Response
application/json
{ "success": true, "response": { "reportRunId": "ff808081529f4e3401529fd61f080074" } }

Search reports by name

Request

Retrieves all reports that match a query based on the report name, description, or data source name.

Reports are not required to have unique names or descriptions and so this search will typically return many report matches because of matches from multiple fields unless you specify a unique query keyword. Optionally you can specify sorting on either the name or the updated_on fields. The search is automatically limited to the first 50 results. If you want to query for the next 50, you have to set the searchStart parameter to 50 and submit another request to get the next 50 results.

Query
querystringrequired

The query parameter value sets the search string used to search through all report names, data source names, and descriptions. The value {string} can be any alpha-numeric string like: MyReport1.

  • Search is not case-sensitive.
  • Spaces in the query parameter must be replaced by %20.
  • Words smaller than three letters are excluded from matching.
  • Search results include matches from any position in the word. For example, if the search term is "count", the search results will include words such as "counted," "account," and "accounts."
orderBystring

Sorts the results by name or updated_on value. The value of the orderBy statement request path parameter must match the following syntax exactly: [{"field": "updated_on", "ascend": "true"}] Where the value of field can be either "name" or "updated_on" and the value of ascend is either "true" or "false."

searchStartstring

Skips and excludes a specified number of reports from the query.

namespacestring

Specifies whether to use Search by Report Name with Insights Analysis. Set this parameter to ADVANCED to use Search by Report Name with Insights Analysis. Contact Zuora Global Support if you would like to use the Reporting API with Insights Analysis.

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.

Authorizationstringrequired

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

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 do not need to set this header.

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

curl -i -X GET \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/reporting/api/rest/v1/reports/search?query=string&orderBy=string&searchStart=string&namespace=string' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: 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.

Bodyapplication/json
Response
application/json
{ "success": true, "response": { "reports": [], "count": 1 } }

Retrieve the last completed report run

Request

Retieves the ID of the last completed run of a report by the current user in the last 60 days.

Path
reportIdstringrequired

The ID of the report. You can get the reportID from the JSON response to Search by Report Names.

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.

Authorizationstringrequired

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

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 do not need to set this header.

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

curl -i -X GET \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/reporting/api/rest/v1/reports/{reportId}/reportruns/latest' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: 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.

Bodyapplication/json
Response
application/json
{ "success": true, "response": { "reportType": "Detail", "id": "ff808081529f4e3401529fd61f080074", "reportId": "ff808081529f4e3401529fd373730070", "startedOn": 1453166692000, "status": "COMPLETED", "reportDefinition": "...", "updatedOn": 1453166695000 } }

Retrieve report data

Request

Returns the report run results for the specified report run.

Path
ReportRunIdstringrequired

The unique identifier for a report run. You can get the ReportRunId from the id value in the JSON response to Run a Report or get it from the response to the Get Last Completed Run call.

Query
offsetintegerrequired

Offset is usually set to a value of 1 to skip the header row. When implementing multiple pages of report result data, the value of offset becomes multiples of the pageSize to omit results displayed on previous pages.

pageSizeintegerrequired

Sets the number of records that will be retrieved by the GET call.

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.

Authorizationstringrequired

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

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 do not need to set this header.

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

curl -i -X GET \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/reporting/api/rest/v1/reportruns/reportdata/{ReportRunId}?offset=0&pageSize=0' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: 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.

Bodyapplication/json
Response
application/json
{ "success": true, "response": { "page": [], "size": 100, "offset": 1, "total": 4 } }

Export results of a report run

Request

Retrieves report run results as comma separated values.

Path
ReportRunIdstringrequired

The unique identifier for a report run. You can get the ReportRunId from the id value in the JSON response to Run a Report or get it from the response to the Get Last Completed Run call.

Query
pivotedbooleanrequired

Specifies the layout of summary report results. This parameter does not affect detail report results.

  • If true, the rows and columns in the CSV file are grouped in the same way as the report results displayed in the Zuora user interface.
  • If false (default), the CSV file is formatted as a flat table.
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.

Authorizationstringrequired

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

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 do not need to set this header.

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

curl -i -X GET \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/reporting/api/rest/v1/reportruns/export/{ReportRunId}?pivoted=true' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: 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.

Bodytext/csv
Response
text/csv
Account: Currency,Account: Name,SUM of 'Account: Account Balance' EUR,East Inc,-120.2 USD,North Services,1,430.5 USD,West Corp,279.75

Transfer report ownership

Request

Transfers ownership of one or more reports to a different user.

You can transfer ownership using either reportNames or reportIds.

Authorization requirement:
The user who obtains the OAuth token must have the Zuora Reporting Administrator role.

To get the userId of the new owner, navigate to:
Administration Settings > Manage Users > Click the new owner name > In the URL, locate the id value:
https://{zuora_endpoint}/apps/UserLogin.do?method=view&id=<userId>&...

That id is the newOwnerUserId.

For detailed usage examples including curl commands, see the <a href="https://knowledgecenter.zuora.com/Zuora_Platform/Data/Reporting/E_Reporting_API_Reference/Transfer_Report_Ownership" target="_blank">Transfer Report Ownership</a> Zuora Knowledge Center article.

Headers
Idempotency-Keystring<= 255 characters

Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types.

With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident.

Accept-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.

Authorizationstringrequired

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

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

Bodyapplication/jsonrequired
reportNamesArray of strings

List of report names to transfer.
Optional if reportIds is supplied.

Example: ["Report 1","Report 2"]
reportIdsArray of strings

List of report IDs to transfer.
Optional if reportNames is supplied.

newOwnerUserIdstringrequired

Unique identifier of the new owner (see "Finding newOwnerUserId" in the description of this operation).

Example: "4c85f2b42ba949569a5d15e77c6b9742"
curl -i -X POST \
  https://developer.zuora.com/_mock/v1-api-reference/older-api/reporting/api/rest/v1/reports/transfer-ownership \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'Zuora-Track-Id: string' \
  -d '{
    "reportNames": [
      "Report 1",
      "Report 2"
    ],
    "newOwnerUserId": "4c85f2b42ba949569a5d15e77c6b9742"
  }'

Responses

Ownership transfer was successful.

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.

Supported MIME types for gzip:

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

The request limit quota for the time window closest to exhaustion.

RateLimit-Remainingnumber

The number of requests remaining in the time window closest to quota exhaustion.

RateLimit-Resetnumber

The number of seconds until the quota resets for the time window closest to quota exhaustion.

Zuora-Request-Idstring= 36 characters

The Zuora internal identifier of the API call.

Zuora-Track-Idstring<= 64 characters

A custom identifier for tracing the API call.

Bodyapplication/json
Response
application/json
{ "success": true, "response": "Transfer ownership successfully" }

Revenue Events

A revenue event is a record or audit trail about a change to a revenue schedule. When you manually distribute revenue schedule, if no change is made to the revenue schedule, no revenue events will not be created.

A revenue event is comprised of:

  • Date: The date when the event occurred.
  • Revenue Event Type: The action or activity triggering the revenue event.
  • Recognition Start and Recognition End: The start and end dates for the revenue recognition period.
  • Revenue Item: The distribution of revenue (or adjustments) into accounting periods.
Operations

Revenue Items

Revenue Item is a component of a revenue event, representing the distribution of revenue (or adjustments) into accounting periods.

Operations

Revenue Rules

Revenue rules are instances of revenue rule models. These rules are associated with product rate plan charges. Rules help manage revenue recognition on subscription charges.

Operations

Revenue Schedules

A revenue schedule represents how revenue amounts from a single charge are distributed over time and recognized in accounting periods. Revenue schedules maintain consistency with the currency used.

Operations

Subscription Product Features

The Entitlements settings must be enabled to use this operation. Access to the Entitlements feature requires a specific edition of Zuora. See Zuora Editions for details.

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 <a href="https://knowledgecenter.zuora.com/Billing/Subscriptions/Subscriptions" target="_blank">Subscriptions</a>.

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 <a href="https://knowledgecenter.zuora.com/Billing/Taxes/A_Zuora_Tax" target="_blank">Z-Tax</a> or a third-party tax engine such as <a href="https://knowledgecenter.zuora.com/Billing/Taxes/Direct_Avalara_Integration" target="_blank">Avalara</a> or <a href="https://knowledgecenter.zuora.com/Billing/Taxes/Additional_resources_on_taxes/AA_Connect_Tax_Engines" target="_blank">Connect tax engine</a>.

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

Operations

Transactions

Operations

Unit Of Measure

A unit of measure (UOM) is the definable unit that you measure when determining charges. For example, if a customer's subscription rate plan includes 20 licenses, then 20 is the quantity and license is the unit that the quantity measures.

You can customize the units of measure (UOM) your company uses to measure the use of your services; for example, minutes, people, seats, and licenses can all be units of measure.

Operations

Usage

This section contains the legacy API operations for Usage.

For the "Retrieve a usage record" operation, we recommend that you use the following Object Query operations instead:

Operations

Users

You can use the Users operations only if you have the Multi-entity feature enabled.

For detailed information about the Multi-entity feature, see <a href="https://knowledgecenter.zuora.com/Billing/Tenant_Management/Multi-entity" target="_blank">Multi-entity</a>.

Operations