Note: The Subscribe and Amend features are approaching end of support on February 16, 2026. For more information, please refer to the Product and Feature End of Support page.
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:
If the effective date is in the future, the invoices will not be generated, and there will be no invoice number.
Name, Number, and ID
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.
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.
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.
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.
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.
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.
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.
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.
Idempotency-Key | string <= 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-Encoding | string Include the If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a |
Content-Encoding | string Include the |
Authorization | string The value is in the |
Zuora-Entity-Ids | string 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-Id | string <= 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 ( |
X-Zuora-WSDL-Version | string Default: 79 Zuora WSDL version number. |
required | Array of objects (SubscribeRequest) |
{- "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"
}
}
]
}
}
]
}
[- {
- "Success": true,
- "AccountId": "8ad09be4909fc0f80190a0b18f85137e",
- "AccountNumber": "A00000118",
- "SubscriptionId": "8ad09be4909fc0f80190a0b1906b13c4",
- "SubscriptionNumber": "A-S00000138",
- "InvoiceId": "8ad09be4909fc0f80190a0b192ca13f9",
- "InvoiceNumber": "INV00000152",
- "InvoiceResult": {
- "Invoice": [
- {
- "Id": "8ad09be4909fc0f80190a0b192ca13f9",
- "InvoiceNumber": "INV00000152"
}
]
}, - "TotalTcv": 179.88,
- "TotalMrr": 14.99,
- "PaymentId": "8ad09be4909fc0f80190a0b193951425",
- "PaymentTransactionNumber": "5687098.81309958",
- "GatewayResponse": "This transaction has been approved by Test gateway.",
- "GatewayResponseCode": "Approved"
}
]