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

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

CRUD: Retrieve a subscription

Request

Path
idstringrequired

Object id

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.

Authorizationstring

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

X-Zuora-WSDL-Versionstring

Zuora WSDL version number.

Default 79
curl -i -X GET \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/v1/object/subscription/{id}?fields=string' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'X-Zuora-WSDL-Version: 79' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: string'

Responses

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
AccountIdstring

This field can be updated when Status is Draft. The ID of a valid account ID.

AutoRenewboolean

This field can be updated when Status is Draft. Indicates if the subscription automatically renews at the end of the term. Values: true, false

CancelledDatestring(date)

The date on which the subscription was canceled.

ContractAcceptanceDatestring(date)

The date when the customer accepts the contract. This field can be updated when Status is Draft.

ContractEffectiveDatestring(date)

The date when the contract takes effect. This field can be updated when Status is Draft. Note: This field is required in the subscribe call. If you set the value of this field to null and both the ServiceActivationDate and ContractAcceptanceDate fields are not required, the subscribe call still returns success, but the new subscription is in DRAFT status. To activate the subscription, you must set a valid date to this field.

CreatedByIdstring

The user ID of the person who created the subscription. Character limit: 32 Values: automatically generated

CreatedDatestring(date-time)

The date the subscription was created. This value is the same as the OriginalCreatedDate value until the subscription is amended. Values: automatically generated

CreatorAccountIdstring

The account ID that created the subscription or the amended subscription. Character limit: 32 Values: automatically generated

CreatorInvoiceOwnerIdstring

The account ID that owns the invoices associated with the subscription or the amended subscription. Character limit: 32 Values: automatically generated

CurrentTerminteger(int32)

The length of the period for the current subscription term. If TermType is set to TERMED, this field is required and must be greater than 0. If TermType is set to EVERGREEN, this value is ignored. Default is 0. Character limit: 20 Values: automatically generated

CurrentTermPeriodTypestring

The period type for the current subscription term. This field is used with the CurrentTerm field to specify the current subscription term. Values:

  • Month (default)
  • Year
  • Day
  • Week
ExternallyManagedBystring

An enum field on the Subscription object to indicate the name of a third-party store. This field is used to represent subscriptions created through third-party stores.

Enum"Amazon""Apple""Google""Roku"
Idstring

Object identifier.

InitialTerminteger(int32)

The length of the period for the first subscription term. This field can be updated when Status is Draft. Required: If TermType is Termed Character limit: 20 Values: any valid number. The default value is 0.

InitialTermPeriodTypestring

The period type for the first subscription term. Values:

  • Month (default)

  • Year

  • Day

  • Week Note:

  • This field can be updated when Status is Draft.

  • This field is used with the InitialTerm field to specify the initial subscription term.

InvoiceOwnerIdstring

This field can be updated when Status is Draft. A valid account ID.

IsInvoiceSeparateboolean

Determines if the subscription is invoiced separately. If TRUE, then all charges for this subscription are collected into the subscription's own invoice. Values: TRUE, FALSE (default)

IsLatestVersionboolean

Determines if the subscription is the latest version. If the value of this field is TRUE, the subscription is the latest version. Values: TRUE, FALSE (default)

Namestring

The unique identifier of the subscription. If you don't specify a value, then Zuora generates a name automatically. Whether auto-generated or manually specified, the subscription name must be unique. Otherwise an error will occur. Character limit: 100 Values: one of the following:

  • leave null to automatically generate
  • a string of 100 characters or fewer
Notesstring

Use this field to record comments about the subscription. Character limit: 500 Values: a string of 500 characters or fewer

OriginalCreatedDatestring(date-time)

The date when the subscription was originally created. This value is the same as the CreatedDate value until the subscription is amended. Values: automatically generated

OriginalIdstring

The original ID of this subscription. Values: automatically generated

PaymentTermstring

The name of the payment term associated with the subscription. For example, Net 30. The payment term determines the due dates of invoices.

Note: This field is only available if you set the X-Zuora-WSDL-Version header parameter to 115 or later. The value of this field is null if you have the Flexible Billing Attributes feature disabled.

PreviousSubscriptionIdstring

The subscription ID immediately prior to the current subscription. Character limit: 32 Values: automatically generated

RenewalSettingstring

This field can be updated when Status is Draft. Specifies whether a termed subscription will remain termed or change to evergreen when it is renewed. Required: If TermType is Termed Values: RENEW_WITH_SPECIFIC_TERM (default), RENEW_TO_EVERGREEN

RenewalTerminteger(int32)

The length of the period for the subscription renewal term. This field can be updated when Status is Draft. Required: If TermType is Termed. Character limit: 20 Values: one of the following:

  • leave null to default to 0
  • any number
RenewalTermPeriodTypestring

The period type for the subscription renewal term. Values:

  • Month (default)

  • Year

  • Day

  • Week Note:

  • This field is used with the RenewalTerm field to specify the subscription renewal term.

  • This field can be updated when Status is Draft.

Revisionstring

An auto-generated decimal value uniquely tagged with a subscription. The value always contains one decimal place, for example, the revision of a new subscription is 1.0. If a further version of the subscription is created, the Revision value will be increased by 1. Also, the Revision value is always incremental regardless of deletion of subscription versions. Note: To get this field, you must set the Zuora WSDL version to 107.0 or over in the X-Zuora-WSDL-Version header parameter.

ServiceActivationDatestring(date)

The date when the subscription is activated. This field can be updated when Status is Draft.

Statusstring

The status of the subscription. Character limit: 18 Values: automatically generated Possible values: one of the following:

  • Draft
  • PendingActivation
  • PendingAcceptance
  • Active
  • Cancelled
  • Expired
  • Suspended (This value is in Limited Availability.)
SubscriptionBillToIdstring

The bill-to contact ID of the subscription.

Note: This field is only available if you set the X-Zuora-WSDL-Version header parameter to 121 or later. The value of this field is null if you have the Flexible Billing Attributes feature disabled.

SubscriptionBillToSnapshotIdstring

The snapshot ID of the subscription's bill-to contact. The snapshot ID will not change after the subscription version is created.

Note: This field is only available if you set the X-Zuora-WSDL-Version header parameter to 121 or later. The value of this field is null if you have the Flexible Billing Attributes feature disabled.

SubscriptionEndDatestring(date)

The date when the subscription term ends, where the subscription ends at midnight the day before. For example, if the SubscriptionEndDate is 12/31/2016, the subscriptions ends at midnight (00:00:00 hours) on 12/30/2016. This date is the same as the term end date or the cancelation date, as appropriate. Character limit: 29 Values: automatically generated

SubscriptionStartDatestring(date)

The date when the subscription term starts. This date is the same as the start date of the original term, which isn't necessarily the start date of the current or new term. Character limit: 29 Values: automatically generated

TermEndDatestring(date)

This field can be updated when Status is Draft. The date when the subscription term ends. If the subscription is evergreen, the TermEndDate value is null or is the cancelation date, as appropriate. Character limit: 29 Values: automatically generated

TermStartDatestring(date)

This field can be updated when Status is Draft. The date when the subscription term begins. If this is a renewal subscription, then this date is different from the subscription start date. Character limit: 29 Version notes: --

TermTypestring

This field can be updated when Status is Draft. Indicates if a subscription is termed or evergreen. Character limit: 9 Values: TERMED, EVERGREEN

UpdatedByIdstring

The ID of the user who last updated the subscription. Character limit: 32 **Values: **automatically generated

UpdatedDatestring(date-time)

The date when the subscription was last updated. Character limit: 29 Values: automatically generated

Versioninteger(int32)

The version number of the subscription. Values: automatically generated

lastBookingDatestring(date)

The last booking date of the subscription object. This field is writable only when the subscription is newly created as a first version subscription. You can override the date value when creating a subscription through the Subscribe and Amend API or the subscription creation UI (non-Orders). Otherwise, the default value today is set per the user's timezone. The value of this field is as follows:

  • For a new subscription created by the Subscribe and Amend APIs, this field has the value of the subscription creation date.
  • For a subscription changed by an amendment, this field has the value of the amendment booking date.
  • For a subscription created or changed by an order, this field has the value of the order date.
Currencystring

The code of currency that is used for this subscription. If the currency is not selected, the default currency from the account will be used.

All subscriptions in the same order must use the same currency. The currency for a subscription cannot be changed.

Note: This field is available only if you have the <a href="https://knowledgecenter.zuora.com/Zuora_Billing/Bill_your_customers/Bill_customers_at_subscription_level/Multiple_Currencies" target="_blank">Multiple Currencies</a> feature enabled and set the X-Zuora-WSDL-Version header parameter to 137 or later.

CpqBundleJsonId__QTstring<= 32 characters

The Bundle product structures from Zuora Quotes if you utilize Bundling in Salesforce. Do not change the value in this field.

OpportunityCloseDate__QTstring(date)

The closing date of the Opportunity. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

OpportunityName__QTstring<= 100 characters

The unique identifier of the Opportunity. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

QuoteBusinessType__QTstring<= 32 characters

The specific identifier for the type of business transaction the Quote represents such as New, Upsell, Downsell, Renewal or Churn. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

QuoteNumber__QTstring<= 32 characters

The unique identifier of the Quote. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

QuoteType__QTstring<= 32 characters

The Quote type that represents the subscription lifecycle stage such as New, Amendment, Renew or Cancel. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

IntegrationId__NSstring<= 255 characters
IntegrationStatus__NSstring<= 255 characters
Project__NSstring<= 255 characters
SalesOrder__NSstring<= 255 characters
SyncDate__NSstring<= 255 characters
property name*anyadditional property

Custom fields of the Subscription object. The name of each custom field has the form <code>customField__c</code>. Custom field names are case sensitive. See Manage Custom Fields for more information.

Response
application/json
{ "TermStartDate": "2018-05-10", "Id": "2c92c0fa6343984c0163498b71fe04be", "UpdatedDate": "2018-05-11T11:38:03.000+08:00", "Version": 1, "Revision": "1.0", "AutoRenew": false, "SubscriptionStartDate": "2018-05-10", "InitialTerm": 12, "InitialTermPeriodType": "Month", "AccountId": "2c92c0fa6343984c0163498b71a604b2", "IsInvoiceSeparate": false, "IsLatestVersion": false, "CurrentTermPeriodType": "Month", "CurrentTerm": 12, "RenewalTermPeriodType": "Month", "ContractEffectiveDate": "2018-05-10", "UpdatedById": "2c92c0f9631b0084016323ec8720683d", "ContractAcceptanceDate": "2018-05-10", "CreatedById": "2c92c0f9631b0084016323ec8720683d", "CreatedDate": "2018-05-10T18:14:25.000+08:00", "Name": "A-S00000177", "Status": "Expired", "ServiceActivationDate": "2018-05-10", "OriginalId": "2c92c0fa6343984c0163498b71fe04be", "RenewalTerm": 12, "TermEndDate": "2019-05-10", "TermType": "TERMED", "RenewalSetting": "RENEW_WITH_SPECIFIC_TERM", "OriginalCreatedDate": "2018-05-10T18:14:25.000+08:00", "SubscriptionEndDate": "2019-05-10" }

CRUD: Update a subscription

Request

Path
idstringrequired

Object id

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.

Authorizationstring

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/jsonrequired
AccountIdstring

This field can be updated when Status is Draft. The ID of a valid account ID.

AutoRenewboolean

This field can be updated when Status is Draft. Indicates if the subscription automatically renews at the end of the term. Values: true, false

CancelledDatestring(date)

The date of the Amendment object. Values: inherited from Amendment.EffectiveDate

ContractAcceptanceDatestring(date)

The date when the customer accepts the contract.

This field can be updated when Status is Pending Acceptance.

Note : This field is only required in the Subscribe call if the Require Customer Acceptance of Orders? setting is set to Yes. If this setting is set to Yes:

  • If the ServiceActivationDate field is required, you must set this field, ServiceActivationDate, and ContractEffectiveDate fields in the Subscribe call to activate a subscription.
  • If the ServiceActivationDate field is not required, you must set both this field and the ContractEffectiveDate field in the Subscribe call to activate a subscription. If you only set a valid date in the ContractEffectiveDate field, the Subscribe call still returns success, but the subscription is in Pending Acceptance status.

This field can also be updated when the subscription is still on version one (has not been amended before) and the Allow update Subscription trigger dates? setting in Billing Settings is set to Yes.

ContractEffectiveDatestring(date)

The date when the contract takes effect.

This field can be updated when Status is Draft.

Note: This field is required in the Subscribe call. If you set the value of this field to null and both the ServiceActivationDate and ContractAcceptanceDate fields are not required, the Subscribe call still returns success, but the new subscription is in DRAFT status. To activate the subscription, you must set a valid date to this field.

This field can also be updated when the subscription is still on version one (has not been amended before) and the Allow update Subscription trigger dates? setting in Billing Settings is set to "Yes".

CurrentTermPeriodTypestring

The period type for the current subscription term. This field is used with the CurrentTerm field to specify the current subscription term. Values:

  • Month (default)
  • Year
  • Day
  • Week
ExternallyManagedBystring

An enum field on the Subscription object to indicate the name of a third-party store. This field is used to represent subscriptions created through third-party stores.

Enum"Amazon""Apple""Google""Roku"
InitialTerminteger(int32)

The length of the period for the first subscription term. This field can be updated when Status is Draft. Required: If TermType is Termed Character limit: 20 Values: any valid number.

InitialTermPeriodTypestring

The period type for the first subscription term. Values:

  • Month (default)

  • Year

  • Day

  • Week Note:

  • This field can be updated when Status is Draft.

  • This field is used with the InitialTerm field to specify the initial subscription term.

InvoiceOwnerIdstring

This field can be updated when Status is Draft. A valid account ID.

IsInvoiceSeparateboolean

Determines if the subscription is invoiced separately. If TRUE, then all charges for this subscription are collected into the subscription's own invoice. Values: TRUE, FALSE (default)

Example: true
Namestring

The unique identifier of the subscription. If you don't specify a value, then Zuora generates a name automatically. Whether auto-generated or manually specified, the subscription name must be unique. Otherwise an error will occur. Character limit: 100 Values: one of the following:

  • leave null to automatically generate
  • a string of 100 characters or fewer
Notesstring

Use this field to record comments about the subscription. Character limit: 500 Values: a string of 500 characters or fewer

RenewalSettingstring

This field can be updated when Status is Draft. Specifies whether a termed subscription will remain termed or change to evergreen when it is renewed. Required: If TermType is Termed Values: RENEW_WITH_SPECIFIC_TERM (default), RENEW_TO_EVERGREEN

RenewalTerminteger(int32)

The length of the period for the subscription renewal term. This field can be updated when Status is Draft. Required: If TermType is Termed. Character limit: 20 Values: one of the following:

  • leave null to default to 0
  • any number
RenewalTermPeriodTypestring

The period type for the subscription renewal term. Values:

  • Month (default)

  • Year

  • Day

  • Week Note:

  • This field is used with the RenewalTerm field to specify the subscription renewal term.

  • This field can be updated when Status is Draft.

ServiceActivationDatestring(date)

The date when the subscription is activated.

Character limit: 29

This field can be updated when Status is Pending Activation.

Note: This field is only required in the Subscribe call if the Require Service Activation of Orders? setting is set to Yes. If this setting is set to Yes:

  • If the ContractAcceptanceDate field is required, you must set this field, ContractAcceptanceDate, and ContractEffectiveDate fields in the Subscribe call to activate a subscription.
  • If the ContractAcceptanceDate field is not required, you must set both this field and the ContractEffectiveDate field in the Subscribe call to activate a subscription. If you only set a valid date in the ContractEffectiveDate field, the Subscribe call still returns success, but the subscription is in Pending Activation status.

This field can also be updated when the subscription is still on version one (has not been amended before) and the Allow update Subscription trigger dates? setting in Billing Settings is set to "Yes".

Statusstring

The status of the subscription. Character limit: 18 Values: automatically generated Possible values: one of the following:

  • Draft
  • Pending Activation
  • Pending Acceptance
  • Active
  • Cancelled
  • Expired
  • Suspended (This value is in Limited Availability.)
TermStartDatestring(date)

This field can be updated when Status is Draft. The date when the subscription term begins. If this is a renewal subscription, then this date is different from the subscription start date. Character limit: 29 Version notes: --

TermTypestring

This field can be updated when Status is Draft. Indicates if a subscription is termed or evergreen. Character limit: 9 Values: TERMED, EVERGREEN

Versioninteger(int32)

The version number of the subscription. Values: automatically generated

CpqBundleJsonId__QTstring<= 32 characters

The Bundle product structures from Zuora Quotes if you utilize Bundling in Salesforce. Do not change the value in this field.

OpportunityCloseDate__QTstring(date)

The closing date of the Opportunity. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

OpportunityName__QTstring<= 100 characters

The unique identifier of the Opportunity. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

QuoteBusinessType__QTstring<= 32 characters

The specific identifier for the type of business transaction the Quote represents such as New, Upsell, Downsell, Renewal or Churn. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

QuoteNumber__QTstring<= 32 characters

The unique identifier of the Quote. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

QuoteType__QTstring<= 32 characters

The Quote type that represents the subscription lifecycle stage such as New, Amendment, Renew or Cancel. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.

IntegrationId__NSstring<= 255 characters
IntegrationStatus__NSstring<= 255 characters
Project__NSstring<= 255 characters
SalesOrder__NSstring<= 255 characters
SyncDate__NSstring<= 255 characters
property name*anyadditional property

Custom fields of the Subscription object. The name of each custom field has the form <code>customField__c</code>. Custom field names are case sensitive. See Manage Custom Fields for more information.

curl -i -X PUT \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/v1/object/subscription/{id}?rejectUnknownFields=false' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Content-Type: application/json' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: string' \
  -d '{
    "IsInvoiceSeparate": true
  }'

Responses

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
Example: "2c93808457d787030157e030232f3748"
Successboolean
Example: true
Response
application/json
{ "Success": true, "Id": "2c93808457d787030157e02ea04123cf" }

CRUD: Delete a subscription

Request

Path
idstringrequired

Object id

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.

Authorizationstring

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/v1/object/subscription/{id}' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: string'

Responses

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
successboolean
Response
application/json
{ "success": true, "id": "2c93808457d787030157e02ea04123cf" }

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