> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Sample code for the subscribe call

> This reference provides the sample code for the subscribe() call.

This reference provides the sample code for the subscribe() call.

To invoke the subscribe() call, begin by populating all of the data (account, contact, payment method), then call subscribe().

## Calling subscribe() for a new account

```
<ns1:subscribe>
 <ns1:subscribes>
 <!-- Option 1: Subscribe call that creates an account, contacts and payment method. -->
    <ns1:Account xsi:type="ns2:Account">
      <ns2:AccountNumber></ns2:AccountNumber>
      <ns2:AutoPay>true</ns2:AutoPay>
      <ns2:Batch>Batch1</ns2:Batch>
      <ns2:BcdSettingOption>AutoSet</ns2:BcdSettingOption>
      <ns2:BillCycleDay>0</ns2:BillCycleDay>
      <ns2:Currency>USD</ns2:Currency>
      <ns2:Name>Account from API subscribe 3</ns2:Name>
      <ns2:PaymentGateway>Test Gateway</ns2:PaymentGateway>
      <ns2:PaymentTerm>Due Upon Receipt</ns2:PaymentTerm>
      <ns2:CommunicationProfileId>2c92c0f852f2ebec0152f4b12284551e</ns2:CommunicationProfileId>
      <ns2:InvoiceDeliveryPrefsEmail>true</ns2:InvoiceDeliveryPrefsEmail>
      <ns2:InvoiceDeliveryPrefsPrint>true</ns2:InvoiceDeliveryPrefsPrint>
      <ns2:InvoiceTemplateId>2c92c0f952a680540152a935aeff57b4</ns2:InvoiceTemplateId>
    </ns1:Account>
    <ns1:PaymentMethod xsi:type="ns2:PaymentMethod">
      <ns2:Id>2c92c0f953131e1f015333e63a414bb2</ns2:Id>
    </ns1:PaymentMethod>
    <ns1:BillToContact xsi:type="ns2:Contact">
      <ns2:Address1>100 Main Street</ns2:Address1>
      <ns2:City>Detroit</ns2:City>
      <ns2:Country>United States</ns2:Country>
      <ns2:FirstName>John</ns2:FirstName>
      <ns2:LastName>Jones</ns2:LastName>
      <ns2:PostalCode>48205</ns2:PostalCode>
      <ns2:State>MI</ns2:State>
      <ns2:WorkEmail>test@zzztest.com</ns2:WorkEmail>
      <ns2:WorkPhone>5555555555</ns2:WorkPhone>
     </ns1:BillToContact>
     <ns1:PreviewOptions>
       <ns1:EnablePreviewMode>false</ns1:EnablePreviewMode>
       <ns1:NumberOfPeriods>1</ns1:NumberOfPeriods>
     </ns1:PreviewOptions>
     <ns1:SoldToContact xsi:type="ns2:Contact">
       <ns2:Address1>100 Main Street</ns2:Address1>
       <ns2:City>Detroit</ns2:City>
       <ns2:Country>United States</ns2:Country>
       <ns2:FirstName>John</ns2:FirstName>
       <ns2:LastName>Jones</ns2:LastName>
       <ns2:PostalCode>48205</ns2:PostalCode>
       <ns2:State>MI</ns2:State>
       <ns2:WorkEmail>test@zzztest.com</ns2:WorkEmail>
       <ns2:WorkPhone>5555555555</ns2:WorkPhone>
     </ns1:SoldToContact>
     <!-- End of Option 1 -->
     <ns1:SubscribeOptions>
       <ns1:GenerateInvoice>false</ns1:GenerateInvoice>
       <ns1:ProcessPayments>false</ns1:ProcessPayments>
     </ns1:SubscribeOptions>
       <ns1:SubscriptionData>
         <ns1:Subscription xsi:type="ns2:Subscription">
           <ns2:AutoRenew>true</ns2:AutoRenew>
           <ns2:ContractEffectiveDate>2016-02-26</ns2:ContractEffectiveDate>
           <ns2:InitialTerm>12</ns2:InitialTerm>
           <ns2:Name></ns2:Name>
           <ns2:RenewalTerm>12</ns2:RenewalTerm>
           <ns2:ServiceActivationDate>2016-02-26</ns2:ServiceActivationDate>
           <ns2:TermStartDate>2016-02-26</ns2:TermStartDate>
           <ns2:TermType>TERMED</ns2:TermType>
         </ns1:Subscription>
         <ns1:RatePlanData>
           <ns1:RatePlan xsi:type="ns2:RatePlan">
              <ns2:ProductRatePlanId>2c92c0f9518a922b01518da5ceca173b</ns2:ProductRatePlanId>
           </ns1:RatePlan>
           <ns1:RatePlanChargeData>
             <ns1:RatePlanCharge xsi:type="ns2:RatePlanCharge">
               <ns2:ProductRatePlanChargeId>2c92c0f94468a922b01518da5cf10173d</ns2:ProductRatePlanChargeId>
               <ns2:Quantity>5</ns2:Quantity>
             </ns1:RatePlanCharge>
           </ns1:RatePlanChargeData>
         </ns1:RatePlanData>
     </ns1:SubscriptionData>
   </ns1:subscribes>
 </ns1:subscribe>
```

## Calling subscribe() for an existing account

```
<!-- sample subscribe call for an account that already exists -->
<!-- Valid for version 11.0+ of the Zuora WSDL -->
<ns1:subscribe>
 <ns1:subscribes>
  <ns1:Account>
<!-- Set ID to the Account you want to create a subscription for-->
   <ns2:Id></ns2:Id>
  </ns1:Account>
  <ns1:SubscribeOptions>
   <ns1:GenerateInvoice>true</ns1:GenerateInvoice>
   <ns1:ProcessPayments>true</ns1:ProcessPayments>
  </ns1:SubscribeOptions>
  <ns1:SubscriptionData>
   <ns1:Subscription>
    <ns2:AutoRenew>true</ns2:AutoRenew>
<!-- See Working With Dates   - All datetimes are converted to GMT-08:00 -->
    <ns2:ContractAcceptanceDate>2009-07-03</ns2:ContractAcceptanceDate>
    <ns2:ContractEffectiveDate>2009-07-03</ns2:ContractEffectiveDate>
    <ns2:InitialTerm>12</ns2:InitialTerm>
    <ns2:Name>A-S00000020090703080755</ns2:Name>
    <ns2:RenewalTerm>12</ns2:RenewalTerm>
    <ns2:ServiceActivationDate>2009-07-03</ns2:ServiceActivationDate>
    <ns2:TermStartDate>2009-07-03</ns2:TermStartDate>
   </ns1:Subscription>
    <ns1:RatePlanData>
      <ns1:RatePlan xsi:type="ns1:RatePlan">
<!-- Set ID to the ProductRatePlan you want to subscribe to -->
        <ns2:ProductRatePlanId></ns2:ProductRatePlanId>
      </ns1:RatePlan>
<!-- example of how to set quantity of with RatePlanChargeData -->
      <ns1:RatePlanChargeData>
        <ns1:RatePlanCharge xsi:type="ns1:RatePlanCharge">
<!-- Set ID to the ProductRatePlan you want to subscribe to, and specify any other information you want to override or set- like quantity, charge number, etc -->
          <ns2:ProductRatePlanChargeId></ns2:ProductRatePlanChargeId>
          <ns2:Quantity>19</ns2:Quantity>
        </ns1:RatePlanCharge>
      </ns1:RatePlanChargeData>
    </ns1:RatePlanData>
  </ns1:SubscriptionData>
 </ns1:subscribes>
</ns1:subscribe>
```

## Notes and limitations

This call does not work when the Invoice Settlement feature is enabled in your tenant.