Welcome to Zuora Product Documentation

Explore our rich library of product information

Renew subscriptions using the REST API

Learn how to renew subscriptions using the REST API by creating an order.

You can use the Create an order operation to renew a subscription. Before the Orders feature is enabled, you have to use the Renew a subscription operation.

  1. Determine the values of the following variables:

    Variable

    Description

    $SubscriptionNum

    The number of the subscription to update. For example, A-S00000001.

    $AccountNum

    The number of the account that will own the order. For example, A00000001.

    $Today

    Today's date. For example, 2017-09-30.

  2. Use the Create an order operation:
    1. To create an order under an existing account without creating any contact information: To create the order under a new account instead of an existing account, specify the newAccount field instead of the existingAccountNumber field.

      Request

      POST /v1/orders/

      Request Body

      {
        "orderDate": "$Today",
        "existingAccountNumber": "$AccountNum",
        "subscriptions": [
          {
            "subscriptionNumber": "$SubscriptionNum",
            "orderActions": [
              {
                "type": "RenewSubscription",
                "triggerDates": [
                  {
                    "name": "ContractEffective",
                    "triggerDate": "$Today"
                  },
                  {
                    "name": "ServiceActivation",
                    "triggerDate": "$Today"
                  },
                  {
                    "name": "CustomerAcceptance",
                    "triggerDate": "$Today"
                  }
                ]
              }
            ]
          }
        ],
        "processingOptions": {
          "runBilling": false,
          "collectPayment": false
        }
      }
    2. To create an order under an existing account by creating the new contact information for this subscription:

      Request

      POST /v1/orders/

      Request Body

      {
        "orderNumber": "O-example-renew-001",
        "orderDate": "2025-01-01",
        "existingAccountNumber": "A-example-001",
        "subscriptions": [
          {
            "subscriptionNumber": "S-example-001",
            "orderActions": [
              {
                "type": "RenewSubscription",
                "triggerDates": [
                  {
                    "name": "ContractEffective",
                    "triggerDate": "2025-01-01"
                  },
                  {
                    "name": "ServiceActivation",
                    "triggerDate": "2025-01-01"
                  },
                  {
                    "name": "CustomerAcceptance",
                    "triggerDate": "2025-01-01"
                  }
                ],
                "renewSubscription": {
                  "billToContact": {
                    "firstName": "Sub",
                    "lastName": "BillTo",
                    "workEmail": "sub.billto@test.com",
                    "address1": "123 Main St",
                    "city": "San Francisco",
                    "state": "CA",
                    "country": "United States",
                    "zipCode": "94105"
                  },
                  "soldToContact": {
                    "firstName": "Sub",
                    "lastName": "SoldTo",
                    "workEmail": "sub.soldto@test.com",
                    "address1": "456 Oak Ave",
                    "city": "New York",
                    "state": "NY",
                    "country": "United States",
                    "zipCode": "10001"
                  },
                  "shipToContact": {
                    "firstName": "Sub",
                    "lastName": "ShipTo",
                    "workEmail": "sub.shipto@test.com",
                    "address1": "789 Pine Rd",
                    "city": "Seattle",
                    "state": "WA",
                    "country": "United States",
                    "zipCode": "98101"
                  },
                  "paymentTerm": "Net 30",
                  "invoiceTemplateId": "<your-invoice-template-id>",
                  "invoiceGroupNumber": "<your-invoice-group-number>",
                  "sequenceSetId": "<your-sequence-set-id>",
                  "communicationProfileId": "<your-communication-profile-id>"
                }
              }
            ]
          }
        ],
        "processingOptions": {
          "runBilling": false,
          "billingOptions": {
            "targetDate": "2025-02-01"
          },
          "collectPayment": false,
          "documentDate": "2024-12-01"
        }
      }
      

To preview invoices for the updated subscription, use the Preview an order operation.