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.
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.
Modifies a subscription by creating Amendment objects. However, to modify a subscription, Zuora recommends that you use the Create an order operation instead of this action.
The Amend action cannot modify the custom fields on the Subscription object. You can use the Create an order operation to modify the custom fields on the Subscription object. You can use this action to create up to 10 Amendment objects.
You must specify the following fields for each Amendment object:
ContractEffectiveDate
Name
SubscriptionId
Type
Additionally, the value of SubscriptionId must be the same for each Amendment object. You cannot use this operation to update multiple subscriptions. When you call this operation, Zuora modifies the subscription in the order that you specify Amendment objects in the request body. If Zuora is unable to create an Amendment object when you call this operation, the entire call fails.
Amendment Preview To view taxation item data for invoices and credit memos in the amendment preview response, you need to set the X-Zuora-WSDL-Version request header to 120 or later.
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
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.
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
Bodyapplication/jsonrequired
requestsArray of objects(AmendRequest)
The value of this field must be an array that contains a single AmendRequest object. To specify multiple Amendment objects, use the Amendments field of the AmendRequest object.
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.
Use the execute call to execute a process to split an invoice into multiple invoices. The original invoice must be in draft status. The resulting invoices are called split invoices.
To split a draft invoice into multiple split invoices:
Use the create call to create a single InvoiceSplit object to collect all of the InvoiceSplitItem objects.
Use the create call to create a separate InvoiceSplitItem object for each split invoice that you want to create from the original draft invoice.
Use the execute call to split the draft invoice into multiple split invoices.
You need to create InvoiceSplitItem objects and an InvoiceSplit object before you can use the execute call.
Supported objects: InvoiceSplit
Asynchronous process: yes
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
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.
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
Bodyapplication/jsonrequired
idsArray of stringsrequired
The ID of the object. Values: a valid InvoiceSplit object ID.
Example: ["2c93808457d787030157e031d5844c53"]
synchronousbooleanrequired
Indicates if the call is synchronous or asynchronous. Values:false
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/jsonArray [
ErrorsArray of objects(ActionsErrorResponse)
Idstring
The ID of the object in the call. The value is the same as the value you provide in the ids field for the request.
Successboolean
Returns true if the call was processed successfully, otherwise false.
Generates an on-demand invoice for a specific customer. This is similar to creating an ad-hoc bill run for a specific customer account in the Zuora UI.
Supported objects: Invoice
Asynchronous process: yes
The ID of the generated invoice is returned in the response. If multiple invoices are generated, only the id of the first invoice generated is returned. This occurs when an account has multiple subscriptions with the invoice subscription separately option enabled.
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
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.
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 (').
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.
This call performs many actions. Use the subscribe call to bundle information required to create at least one new subscription. The call takes in an array of SubscribeRequests. Because it takes an array, you can submit a batch of subscription requests at once. You can create up to 50 different subscriptions in a single subscribe call. This is a combined call that you can use to perform all of the following tasks in a single call:
Create accounts
Create contacts
Create payment methods, including external payment options
Create an invoice for the subscription
Apply the first payment to a subscription
Object Limits
50 objects are supported in a single call.
The subscribe call for subscription preview will not consolidate invoices. Subscriptions are previewed separately. There is not any workaround without Orders enabled. For more information, see Preview an Order.
Effective Date
If the effective date is in the future, the invoices will not be generated, and there will be no invoice number.
Subscription
Name, Number, and ID
Subscription Name and Number
The subscription name is a unique identifier for the subscription. If you do not specify a value for the name, Zuora will create one automatically. The automatically generated value is known as the subscription number, such as A-S00000080. You cannot change the subscription name or number after creating the subscription.
Subscription name: The name that you set for the subscription.
Subscription number: The value generated by Zuora automatically if you do not specify a subscription name.
Both the subscription name and numbermust be unique. If they are not, an error will occur.
Subscription ID
The subscription ID is a 32-digit ID in the format 4028xxxx. This is also the unique identifier for a subscription. This value is automatically generated by the system and cannot be edited or updated, but it can be queried. One subscription can have only one subscription name or number, but it can have multiple IDs: Each version of a subscription has a different ID.
The Subscription object contains the fields OriginalId and PreviousSubscriptionId. OriginalId is the ID for the first version of a subscription. PreviousSubscriptionId is the ID of the version created immediately prior to the current version.
Subscription Preview
You can preview invoices that would be generated by the subscribe call. When previewing invoices with the subscribe call, the correspondinig Contract Effective, Service Activation, or Customer Acceptance date is required if the subscription contains a charge with its trigger event being set as ContractEffectiveDate, ServiceActivationDate, or CustomerAcceptanceDate.
To view taxation item data for invoices and credit memos in the subscription preview response, you need to set the X-Zuora-WSDL-Version request header to 120 or later.
Invoice Subscriptions Separately
If you have enabled the invoice subscriptions separately feature, a subscribe call will generate an invoice for each subscription for every subscription where the field IsInvoiceSeparate is set to true.
If the invoice subscriptions separately feature is disabled, a subscribe call will generate a single invoice for all subscriptions.
If a draft invoice that includes charges exists in a customer account, using the subscribe call to create a new subscription and generate an invoice will cause the new subscription to be added to the existing draft invoice. Zuora will then post the invoice.
When to Use Subscribe and Create Calls
You can use either the subscribe call or the create call to create the objects associated with a subscription (accounts, contacts, and so on). There are differences between these calls, however, and some situations are better for one or the other.
Use the Subscribe Call
The subscribe call bundles up all the information you need for a subscription. Use the subscribe call to create new subscriptions when you have all the information you need.
Subscribe calls cannot update BillTo, SoldTo, and Account objects. Payment information objects cannot be updated if there is an existing account ID in the call. These objects are not supported in a subscribe call.
Use the Create Call
The create call is more useful when you want to develop in stages. For example, if you want to first create an account, then a contact, and so on. If you do not have all information available, use the create call. To create a subscription, you must activate the account from Draft status to Active by calling the subscribe call.
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
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.
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
Bodyapplication/jsonrequired
subscribesArray of objects(SubscribeRequest)required
This is the Account object containing the information for this particular subscription. It has all the information needed to create an account for a subscription.
Values: A valid account.
subscribes[].Account.AccountNumberstring
Unique account number assigned to the account.
Character limit: 50
Values: one of the following:
null to auto-generate
a string of 50 characters or fewer that doesn't begin with the default account number prefix
List of additional email addresses to receive emailed invoices.
Character limit: 120
Values: comma-separated list of email addresses
subscribes[].Account.AllowInvoiceEditboolean
Indicates if associated invoices can be edited.
Character limit: 5
Values: true, false (default if left null)
subscribes[].Account.AutoPayboolean
Indicates if future payments are automatically collected when they're due during a Payment Run.
Character limit: 5
Values: true, false (default)
subscribes[].Account.Batchstringrequired
Organizes your customer accounts into groups to optimize \ your billing and payment operations.\n\n\nCharacter limit: 20\n\n \nValues:any system-defined batch (Batch1 - Batch50 or by name).
Note: By default, you have 50 configurable account batches. To increase the limit to 200 batches, you must have the <a href="https://knowledgecenter.zuora.com/Zuora_Central_Platform/Performance_Booster_Elite" target="_blank">Performance Booster Elite</a> package.
Indicates if the customer wants to receive printed invoices, such as through postal mail.
Character limit: 5
Values: true, false (default if left null)
subscribes[].Account.InvoiceTemplateIdstring
The ID of the invoice template. Each customer account can use a specific invoice template for invoice generation.
Character limit: 32
Values: a valid template ID configured in Z-Billing Settings To find the ID of your current invoice template: In Zuora, navigate to Settings > Z-Billing > Manage Invoice Rules and Templates and click **Show Id **next to the template you want to use.
The date when the previous invoice was generated for the account. The field value is null if no invoice has ever been generated for the account.
Character limit: 29
Values: automatically generated
subscribes[].Account.Namestringrequired
Name of the account as displayed in the Zuora UI.
Character limit: 255
Values: a string of 255 characters or fewer
subscribes[].Account.Notesstring
Comments about the account.
Character limit: 65,535
Values: a string of 65,535 characters
subscribes[].Account.ParentIdstring
Identifier of the parent customer account for this Account object. Use this field if you have customer hierarchy enabled.
Character limit: 32
Values: a valid account ID
subscribes[].Account.PaymentGatewaystring
Gateway used for processing electronic payments and refunds. This field is only required if there is no default payment gateway is defined in the tenant.
Character limit: 40
Values: one of the following:
a valid configured gateway name
Null to inherit the default value set in Z-Payment Settings
subscribes[].Account.PaymentTermstring
Indicates when the customer pays for subscriptions.
The number of the purchase order associated with this account. Purchase order information generally comes from customers.
Character limit: 100
Values: a string of 100 characters or fewer
subscribes[].Account.SalesRepNamestring
The name of the sales representative associated with this account, if applicable.
Character limit: 50
Values: a string of 50 characters or fewer
subscribes[].Account.TaxCompanyCodestring
Unique code that identifies a company account in Avalara. Use this field to calculate taxes based on origin and sold-to addresses in Avalara. This feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support.
Value of the Class field for the corresponding customer account in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.
subscribes[].Account.CustomerType__NSstring
Value of the Customer Type field for the corresponding customer account in NetSuite. The Customer Type field is used when the customer account is created in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.
Value of the Department field for the corresponding customer account in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.
Value of the Subsidiary field for the corresponding customer account in NetSuite. The Subsidiary field is required if you use NetSuite OneWorld. Only available if you have installed the Zuora Connector for NetSuite.
Custom fields of the Account 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.
This is the object that contains the contact associated with this account in the Account's BillToId field. This field is only required if the account does not exist. Values: A valid contact for the account.
subscribes[].PaymentMethodobject
This is the object defining the payment details for the Account. The Account will be updated with this payment as the default payment method. Use this field to create an electronic payment method for the account. A payment gateway must be enabled. Values: A valid electronic PaymentMethod.
subscribes[].PreviewOptionsobject
Only used if you want to call this operation in preview mode. After a call in preview mode is completed, Zuora will roll back the subscription and return only the temporary invoice data.
Unless otherwise specified, this field defaults to the information in the BillToContact field.
Values: A valid contact.
subscribes[].SubscribeOptionsobject
This optional object specifies parameters related to invoicing - whether to immediately generate an invoice and collect payment, and whether the invoice should cover all subscriptions or just this new subscription. The default behavior is to invoice immediately for all the account's subscriptions, with the current date as the target date, and immediately collect payment if the account's AutoPay flag is true.
Values: A valid SubscribeOptions object.
subscribes[].SubscriptionDataobjectrequired
This object contains the information on the contract's dates and terms.
Values: A valid SubscriptionData object.
subscribes[].SubscriptionData.RatePlanDataArray of objects(RatePlanData)required
The unique identifier for the rate plan purchased on a third-party store. This field is used to represent a subscription rate plan created through third-party stores.
Custom fields of the Rate Plan 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.
subscribes[].SubscriptionData.RatePlanData[].RatePlanChargeDataArray of objects(RatePlanChargeData)
This field can be updated when Status is Draft. Indicates if the subscription automatically renews at the end of the term. This field is only required if the TermType field is set to TERMED.
If ContractAcceptanceDate field is required, you must set this field, ContractAcceptanceDate, and ContractEffectiveDate fields in the subscribe call to activate a subscription.
If 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 DRAT status.
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.
The length of the period for the current subscription term. This field is only required If the TermType field is set to TERMED and its value must be greater than 0. If TermType is set to EVERGREEN, this value is ignored. Default is 0.
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.
The length of the period for the first subscription term. This field can be updated when Status is Draft. If you use the subscribe call, this field is required.
This field is only required if the TermType field is set to TERMED.
Determines if the subscription is invoiced separately. If TRUE, then all charges for this subscription are collected into the subscription's own invoice.
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.
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. You can change this value only when the subscription is in Draft status. Once the subscription is activated, you can't change this value, nor can you use this value for a different subscription.
The length of the period for the subscription renewal term. This field can be updated when Status is Draft. If you use the subscribe call, this field is required.
This field is only required if the TermType field is set to TERMED.
The date when the subscription is activated. This field can be updated when Status is Draft. This field is only required if the Require Service Activation of Orders? Setting is set to Yes. If this setting is set to Yes:
If ContractAcceptanceDate field is required, you must set this field, ContractAcceptanceDate, and ContractEffectiveDate fields in the subscribe call to activate a subscription.
If 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 DRAT status.
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.
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.
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.
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. If you don't specify a value, then Zuora uses ContractEffectiveDate automatically.
This field can be updated when Status is Draft. Indicates if a subscription is termed or evergreen. A termed subscription has a specific end date and requires manual renewal. An evergreen subscription doesn't have an end date and doesn't need renewal. This field can be updated when the subscription status is Draft.
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.
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.
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.
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.
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.
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.
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/jsonArray [
AccountIdstring
AccountNumberstring
ChargeMetricsDataobject
CreditMemoDataArray of objects(CreditMemoData)
Container for credit memo data.
Note: This field is only available if you have the Invoice Settlement feature enabled and set the X-Zuora-WSDL-Version request header to 107 or later.
CreditMemoIdstring
The ID of the credit memo.
Note: This field is only available if you have the Invoice Settlement feature enabled and set the X-Zuora-WSDL-Version request header to 107 or later.
CreditMemoNumberstring
The number of the credit memo.
Note: This field is only available if you have the Invoice Settlement feature enabled and set the X-Zuora-WSDL-Version request header to 107 or later.
CreditMemoResultobject(CreditMemoResult)
The result of the credit memo.
Note: This field is only available if you have the Invoice Settlement feature enabled and set the X-Zuora-WSDL-Version request header to 107 or later.
ErrorsArray of objects(ActionsErrorResponse)
GatewayResponsestring
GatewayResponseCodestring
InvoiceDataArray of objects(ActionSubscribeInvoiceData)
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.
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.
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.
The Charge Revenue Summary represents a summary of revenue amounts from all revenue schedules on the whole subscription charge. For example, revenue for one-time setup charges, recurring charges, and overages.
A communication profile enables you to send specific event-driven notifications to targeted customer accounts. For more information, see Communication profiles.
You can manage communication profiles using the REST API:
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.
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>.
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>.
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.
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.
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.
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.
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.
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>.
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>.
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>.
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.
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.
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.
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.
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.
This section contains the CRUD: Retrieve a refund transaction log operation. This operation allows you to export a log of all transactions from Zuora to the gateway for the refund.
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.
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:
Environment
API 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 Sandbox
https://rest.test.zuora.com
EU Central Sandbox
https://rest.test.eu.zuora.com
APAC Developer & Central Sandbox
https://rest.test.ap.zuora.com
APAC Production
https://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:
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.
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.
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.
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.
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>.
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.
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.
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>.