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

Amend

Request

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.

Example: [{"Amendments":[{"Name":"Enable auto-renewal","SubscriptionId":"8ad08ad590a1d7900190a56d87634f5a","Type":"TermsAndConditions","ContractEffectiveDate":"2024-07-12","AutoRenew":true}]}]
curl -i -X POST \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/v1/action/amend?rejectUnknownFields=false' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'X-Zuora-WSDL-Version: 79' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: string' \
  -d '{
    "requests": [
      {
        "Amendments": [
          {
            "Name": "Enable auto-renewal",
            "SubscriptionId": "8ad08ad590a1d7900190a56d87634f5a",
            "Type": "TermsAndConditions",
            "ContractEffectiveDate": "2024-07-12",
            "AutoRenew": 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
resultsArray of objects(AmendResult)
Response
application/json
{ "results": [ {} ] }

Execute

Request

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 access this feature, see Enable Splitting Invoices for steps.

To split a draft invoice into multiple split invoices:

  1. Use the create call to create a single InvoiceSplit object to collect all of the InvoiceSplitItem objects.
  2. Use the create call to create a separate InvoiceSplitItem object for each split invoice that you want to create from the original draft invoice.
  3. 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

typestringrequired

Specifies the type of executed item.

Value"InvoiceSplit"
Example: "InvoiceSplit"
curl -i -X POST \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/v1/action/execute?rejectUnknownFields=false' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'X-Zuora-WSDL-Version: 79' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: string' \
  -d '{
    "ids": [
      "2c93808457d787030157e031d5844c53"
    ],
    "synchronous": false,
    "type": "InvoiceSplit"
  }'

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

]
Response
application/json
[ { "Success": true, "Id": "2c93808457d787030157e031d5844c53" } ]

Generate

Request

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

X-Zuora-WSDL-Versionstring

Zuora WSDL version number.

Default 79
Bodyapplication/jsonrequired
objectsArray of objects(zObject)required
Example: [{"AccountId":"2c93808457d787030157e0306be53a75","InvoiceDate":"2016-10-20","TargetDate":"2016-10-20"}]
objects[].​property name*anyadditional property

Field of the object.

typestringrequired
Value"Invoice"
Example: "Invoice"
curl -i -X POST \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/v1/action/generate?rejectUnknownFields=false' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'X-Zuora-WSDL-Version: 79' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: string' \
  -d '{
    "objects": [
      {
        "AccountId": "2c93808457d787030157e0306be53a75",
        "InvoiceDate": "2016-10-20",
        "TargetDate": "2016-10-20"
      }
    ],
    "type": "Invoice"
  }'

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/jsonArray [
ErrorsArray of objects(ActionsErrorResponse)
Idstring
Successboolean
]
Response
application/json
[ { "Success": true, "Id": "2c93808457d787030157e0306cd13a86" } ]

Subscribe

Request

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.

See Invoicing Subscriptions Separately for more information.

Subscriptions and Draft Invoices

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
Example: [{"Account":{"Name":"Amy Lawrence","Currency":"USD","BillCycleDay":1,"Batch":"Batch1","PaymentTerm":"Net 30"},"BillToContact":{"FirstName":"Amy","LastName":"Lawrence","Country":"United States","State":"CA"},"PaymentMethod":{"Type":"CreditCard","CreditCardType":"Visa","CreditCardNumber":"4111111111111111","CreditCardExpirationYear":2030,"CreditCardExpirationMonth":12,"CreditCardHolderName":"Amy Lawrence"},"SubscriptionData":{"Subscription":{"ContractEffectiveDate":"2024-07-01","TermType":"TERMED","InitialTerm":12,"RenewalTerm":12},"RatePlanData":[{"RatePlan":{"ProductRatePlanId":"8ad081dd9096ef9501909b40bb4e74a4"}}]}}]
subscribes[].​Accountobject(accountFieldsCustom)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
subscribes[].​Account.​AdditionalEmailAddressesstring

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.

subscribes[].​Account.​BcdSettingOptionstring

Billing cycle day setting option.

Character limit: 9

Values: AutoSet, ManualSet

subscribes[].​Account.​BillCycleDayinteger(int32)required

Billing cycle day (BCD) on which bill runs generate invoices for the account.

Character limit: 2

Values: any activated system-defined bill cycle day (1 - 31)

subscribes[].​Account.​CommunicationProfileIdstring

Associates the account with a specified communication profile.

Character limit: 32

Values: a valid communication profile ID

subscribes[].​Account.​CrmIdstring

CRM account ID for the account. A CRM is a customer relationship management system, such as Salesforce.com.

Character limit: 100

Values: a string of 100 characters or fewer

subscribes[].​Account.​Currencystringrequired
subscribes[].​Account.​CustomerServiceRepNamestring

Name of the account's customer service representative, if applicable.

Character limit: 50

Values: a string of 50 characters or fewer

subscribes[].​Account.​DefaultPaymentMethodIdstring

ID of the default payment method for the account. This field is only required if the AutoPay field is set to true.

Character limit: 32

Values: A valid ID for an existing payment method. This field does not support external payment methods.

subscribes[].​Account.​Idstring

Internal identifier of an existing account. Only set this field if you want to assign the subscription to an existing account.

subscribes[].​Account.​InvoiceDeliveryPrefsEmailboolean

Indicates if the customer wants to receive invoices through email. Character limit: 5

Values: true, false (default if left null)

subscribes[].​Account.​InvoiceDeliveryPrefsPrintboolean

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.

subscribes[].​Account.​LastInvoiceDatestring(date)

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
subscribes[].​Account.​PurchaseOrderNumberstring

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.

Character limit: 50

Values: a valid company code

subscribes[].​Account.​TaxExemptCertificateIDstring

ID of your customer's tax exemption certificate.

Character limit: 32

Values: a string of 32 characters or fewer

subscribes[].​Account.​TaxExemptCertificateTypestring

Type of the tax exemption certificate that your customer holds. Character limit: 32

Values: a string of 32 characters or fewer

subscribes[].​Account.​TaxExemptDescriptionstring

Description of the tax exemption certificate that your customer holds.

Character limit: 500

Values: a string of 500 characters or fewer

subscribes[].​Account.​TaxExemptEffectiveDatestring(date)

Date when the the customer's tax exemption starts.

Character limit: 29 Version notes: requires Z-Tax

subscribes[].​Account.​TaxExemptExpirationDatestring(date)

Date when the customer's tax exemption certificate expires Character limit: 29 Version notes: requires Z-Tax

subscribes[].​Account.​TaxExemptIssuingJurisdictionstring

Indicates the jurisdiction in which the customer's tax exemption certificate was issued.

Character limit: 32

Values: a string of 32 characters or fewer

subscribes[].​Account.​TaxExemptStatusstring

Status of the account's tax exemption. This field is only required if you use Zuora Tax. This field is not available if you do not use Zuora Tax.

Character limit: 19

Values: one of the following:

  • Yes
  • No
  • PendingVerification
subscribes[].​Account.​TotalInvoiceBalancenumber(double)

Total balance of the account's invoices.

Character limit: 16

Values: a valid currency value

subscribes[].​Account.​VATIdstring

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

Character limit: 25

Values: a valid Value Added Tax ID

subscribes[].​Account.​Class__NSstring<= 255 characters

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.

Enum"Company""Individual"
subscribes[].​Account.​Department__NSstring<= 255 characters

Value of the Department field for the corresponding customer account in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

subscribes[].​Account.​IntegrationId__NSstring<= 255 characters
subscribes[].​Account.​IntegrationStatus__NSstring<= 255 characters
subscribes[].​Account.​Location__NSstring<= 255 characters

Value of the Location field for the corresponding customer account in NetSuite. Only available if you have installed the Zuora Connector for NetSuite.

subscribes[].​Account.​Subsidiary__NSstring<= 255 characters

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.

subscribes[].​Account.​SyncDate__NSstring<= 255 characters
subscribes[].​Account.​SynctoNetSuite__NSstring
Enum"Yes""No"
subscribes[].​Account.​property name*anyadditional property

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.

subscribes[].​BillToContactobject(contactFieldsCustom)

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.

subscribes[].​SoldToContactobject(contactFieldsCustom)

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
subscribes[].​SubscriptionData.​RatePlanData[].​RatePlanobject(ratePlanFieldsCustom)required

Container for custom fields of a Rate Plan object.

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​AmendmentIdstring

The ID of the amendment associated with the rate plan. This field only applies to amendment rate plans.

Character limit: 32

Values: a valid amendment ID

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​AmendmentSubscriptionRatePlanIdstring

The ID of the subscription rate plan modified by the amendment. This field only applies to amendment rate plans.

Character limit: 32

Values: a valid rate plan ID

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​AmendmentTypestring

The type of amendment associated with the rate plan. This field only applies to amendment rate plans.

Character limit: 18

Values: inherited from Amendment.Type

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​CreatedByIdstring

The ID of the Zuora user who created the RatePlan object.

Character limit: 32

Values: automatically generated

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​CreatedDatestring(date-time)

The date when the RatePlan object was last updated.

Character limit: 29

Values: automatically generated

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​ExternallyManagedPlanIdstring

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.

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​Namestring

The name of the rate plan. Leave this null in a subscribe call to inherited the ProductRatePlan.Name field value.

Character limit: 100

Values: a string of 100 characters or fewer or inherited from ProductRatePlan.Name

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​ProductRatePlanIdstringrequired

The ID of the associated product rate plan.

Character limit: 32

Values: a valid product rate plan ID

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​SubscriptionIdstring

The ID of the subscription that the rate plan belongs to.

Character limit: 32

Values: a valid subscription ID

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​UpdatedByIdstring

The ID of the user who last updated the rate plan.

Character limit: 32

Values: automatically generated

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​UpdatedDatestring(date-time)

The date when the rate plan was last updated.

Character limit: 29

Values: automatically generated

subscribes[].​SubscriptionData.​RatePlanData[].​RatePlan.​property name*anyadditional property

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)
subscribes[].​SubscriptionData.​RatePlanData[].​SubscriptionProductFeatureListobject
subscribes[].​SubscriptionData.​Subscriptionobject(subscriptionFieldsCustom)required

Container for Subscription fields provided by Zuora Quotes.

subscribes[].​SubscriptionData.​Subscription.​AccountIdstring

This field can be updated when Status is Draft.

subscribes[].​SubscriptionData.​Subscription.​AncestorAccountIdstring

A filter option for querying all subscriptions under the same account hierarchy.

Character limit: 32

Values: a valid account ID

subscribes[].​SubscriptionData.​Subscription.​AutoRenewboolean

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.

Values: true, false

subscribes[].​SubscriptionData.​Subscription.​CancelledDatestring(date)

The date of the amendment that canceled the subscription.

Values: inherited from Amendment.EffectiveDate

subscribes[].​SubscriptionData.​Subscription.​ContractAcceptanceDatestring(date)

The date when the customer accepts the contract. 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.
subscribes[].​SubscriptionData.​Subscription.​ContractEffectiveDatestring(date)required

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.

subscribes[].​SubscriptionData.​Subscription.​CreatedByIdstring

The user ID of the person who created the subscription.

Character limit: 32

Values: automatically generated

subscribes[].​SubscriptionData.​Subscription.​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

subscribes[].​SubscriptionData.​Subscription.​CreatorAccountIdstring

The account ID that created the subscription or the amended subscription.

Character limit: 32

Values: automatically generated

subscribes[].​SubscriptionData.​Subscription.​CreatorInvoiceOwnerIdstring

The account ID that owns the invoices associated with the subscription or the amended subscription.

Character limit: 32

Values: automatically generated

subscribes[].​SubscriptionData.​Subscription.​CurrentTerminteger(int32)

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.

Character limit: 20

Values: automatically generated

subscribes[].​SubscriptionData.​Subscription.​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
subscribes[].​SubscriptionData.​Subscription.​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"
subscribes[].​SubscriptionData.​Subscription.​InitialTerminteger(int32)

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.

Character limit: 20

Values: any valid number. The default value is 0.

subscribes[].​SubscriptionData.​Subscription.​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.
subscribes[].​SubscriptionData.​Subscription.​InvoiceOwnerIdstring

This field can be updated when Status is Draft.

subscribes[].​SubscriptionData.​Subscription.​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)

subscribes[].​SubscriptionData.​Subscription.​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.
subscribes[].​SubscriptionData.​Subscription.​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. 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.

Character limit: 100

Values: one of the following:

  • leave null to automatically generate
  • a string of 100 characters or fewer
subscribes[].​SubscriptionData.​Subscription.​Notesstring

Use this field to record comments about the subscription.

Character limit: 500

Values: a string of 500 characters or fewer

subscribes[].​SubscriptionData.​Subscription.​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

subscribes[].​SubscriptionData.​Subscription.​OriginalIdstring

The original ID of this subscription.

Values: automatically generated

subscribes[].​SubscriptionData.​Subscription.​PreviousSubscriptionIdstring

The subscription ID immediately prior to the current subscription.

Character limit: 32

Values: automatically generated

subscribes[].​SubscriptionData.​Subscription.​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.

This field is only required if the TermType field is set to TERMED.

Values: RENEW_WITH_SPECIFIC_TERM (default), RENEW_TO_EVERGREEN

subscribes[].​SubscriptionData.​Subscription.​RenewalTerminteger(int32)

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.

Character limit: 20

Values: one of the following:

  • leave null to default to 0
  • any number
subscribes[].​SubscriptionData.​Subscription.​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.
subscribes[].​SubscriptionData.​Subscription.​ServiceActivationDatestring(date)

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.

Character limit: 29

subscribes[].​SubscriptionData.​Subscription.​Statusstring

The status of the subscription.

Character limit: 17

Values: automatically generated

Possible values: one of the following:

  • Draft
  • PendingActivation
  • PendingAcceptance
  • Active
  • Cancelled
  • Expired
  • Suspended
subscribes[].​SubscriptionData.​Subscription.​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

subscribes[].​SubscriptionData.​Subscription.​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

subscribes[].​SubscriptionData.​Subscription.​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

subscribes[].​SubscriptionData.​Subscription.​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. If you don't specify a value, then Zuora uses ContractEffectiveDate automatically.

Character limit: 29

subscribes[].​SubscriptionData.​Subscription.​TermTypestringrequired

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.

Character limit: 9

Values: TERMED, EVERGREEN

subscribes[].​SubscriptionData.​Subscription.​UpdatedByIdstring

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

subscribes[].​SubscriptionData.​Subscription.​UpdatedDatestring(date-time)

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

Values: automatically generated

subscribes[].​SubscriptionData.​Subscription.​Versioninteger(int32)

The version number of the subscription.

Values: automatically generated

subscribes[].​SubscriptionData.​Subscription.​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.

subscribes[].​SubscriptionData.​Subscription.​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.

subscribes[].​SubscriptionData.​Subscription.​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.

subscribes[].​SubscriptionData.​Subscription.​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.

subscribes[].​SubscriptionData.​Subscription.​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.

subscribes[].​SubscriptionData.​Subscription.​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.

subscribes[].​SubscriptionData.​Subscription.​IntegrationId__NSstring<= 255 characters
subscribes[].​SubscriptionData.​Subscription.​IntegrationStatus__NSstring<= 255 characters
subscribes[].​SubscriptionData.​Subscription.​Project__NSstring<= 255 characters
subscribes[].​SubscriptionData.​Subscription.​SalesOrder__NSstring<= 255 characters
subscribes[].​SubscriptionData.​Subscription.​SyncDate__NSstring<= 255 characters
subscribes[].​SubscriptionData.​Subscription.​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 POST \
  'https://developer.zuora.com/_mock/v1-api-reference/older-api/v1/action/subscribe?rejectUnknownFields=false' \
  -H 'Accept-Encoding: string' \
  -H 'Authorization: string' \
  -H 'Content-Encoding: string' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'X-Zuora-WSDL-Version: 79' \
  -H 'Zuora-Entity-Ids: string' \
  -H 'Zuora-Track-Id: string' \
  -d '{
    "subscribes": [
      {
        "Account": {
          "Name": "Amy Lawrence",
          "Currency": "USD",
          "BillCycleDay": 1,
          "Batch": "Batch1",
          "PaymentTerm": "Net 30"
        },
        "BillToContact": {
          "FirstName": "Amy",
          "LastName": "Lawrence",
          "Country": "United States",
          "State": "CA"
        },
        "PaymentMethod": {
          "Type": "CreditCard",
          "CreditCardType": "Visa",
          "CreditCardNumber": "4111111111111111",
          "CreditCardExpirationYear": 2030,
          "CreditCardExpirationMonth": 12,
          "CreditCardHolderName": "Amy Lawrence"
        },
        "SubscriptionData": {
          "Subscription": {
            "ContractEffectiveDate": "2024-07-01",
            "TermType": "TERMED",
            "InitialTerm": 12,
            "RenewalTerm": 12
          },
          "RatePlanData": [
            {
              "RatePlan": {
                "ProductRatePlanId": "8ad081dd9096ef9501909b40bb4e74a4"
              }
            }
          ]
        }
      }
    ]
  }'

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/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)
InvoiceIdstring
InvoiceNumberstring
InvoiceResultobject
PaymentIdstring
PaymentTransactionNumberstring
SubscriptionIdstring
SubscriptionNumberstring
Successboolean
TotalMrrnumber(double)
TotalTcvnumber(double)
]
Response
application/json
[ { "Success": true, "AccountId": "8ad09be4909fc0f80190a0b18f85137e", "AccountNumber": "A00000118", "SubscriptionId": "8ad09be4909fc0f80190a0b1906b13c4", "SubscriptionNumber": "A-S00000138", "InvoiceId": "8ad09be4909fc0f80190a0b192ca13f9", "InvoiceNumber": "INV00000152", "InvoiceResult": {}, "TotalTcv": 179.88, "TotalMrr": 14.99, "PaymentId": "8ad09be4909fc0f80190a0b193951425", "PaymentTransactionNumber": "5687098.81309958", "GatewayResponse": "This transaction has been approved by Test gateway.", "GatewayResponseCode": "Approved" } ]

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

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