Skip to main content

Deprecated call: subscribeWithExistingAccount()


Deprecated call: subscribeWithExistingAccount()


The subscribeWithExistingAccount() is deprecated in versions 11.0+. Please use subscribe() to create subscriptions for accounts that already exist if you are using version 11.0+.


If you have already created an account, use this call to create a subscription for that account. The call takes an account ID, creates a new subscription, and, optionally, generates an invoice on that account and applies a payment immediately.

If you use this call on an account with an existing subscription, the new subscription will be created and, if options are set to generate an invoice and apply payment, the invoice will include outstanding charges for all existing subscriptions for that account (including the previous subscriptions as well as the new one being created).

The payment would then be applied to the outstanding balance for the newly created invoice.

Syntax and Arguments



Argument Description
SubscribeWithExistingAccountRequest[] An array of one or more objects of type zObject.

Using This Call

There are two common scenarios for which you can use this call:

  • The most common use case is if one of your customers has created an account for a free trial and now wants to activate that subscription. Use this call to activate the subscription, provide payment information, and apply a payment.
  • A second less common case is to create a second subscription for an existing account.

Using subscribe() and subscribeWithExistingAccount()

As of version 11.0, subscribeWithExistingAccount() has been deprecated. Use subscribe() to create a new account with the subscription or to create a subscription for an existing account.

Using the subscribe() Call

Use the subscribe() call to create a new account and subscription at the same time. The subscribe() call requires an electronic payment method, such as a credit card, to be passed in as a parameter.

Using the subscribeWithExistingAccount() Call

Use the subscribeWithExistingAccount() call to create a new subscription for an existing account.

The subscribeWithExistingAccount() call can also be used for creating a new an account and subscription when you do not want to capture an electronic payment method (such as a credit card). If you want to create subscriptions without capturing an electronic payment method, Zuora recommends using subscribeWithExistingAccount() in the following process:

  1. Create a new account using the create() call, specifying the default payment method to an "active" PaymentMethod (such as "Cash" or "Other").
  2. Create a new subscription for this account using subscribeWithExistingAccount().