Welcome to Zuora Product Documentation

Explore our rich library of product information

Change owners of subscriptions using the REST API

Learn how to change the owner of a subscription using the "Create order" operation in the REST API.

You can use the Create an order operation to change the owner of a subscription.

Before the Orders feature is enabled, you would have used the Update a subscription, "Amend", or "CRUD: Create amendment" 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 .

    $TransferAccountNum

    The number of the account that will own the subscription and invoices. For example, A00000002 .

    $Today

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

  2. Use the "Create order" operation:
    1. To create an order under an existing account without creating new 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": "OwnerTransfer",
                "triggerDates": [
                  {
                    "name": "ContractEffective",
                    "triggerDate": "$Today"
                  },
                  {
                    "name": "ServiceActivation",
                    "triggerDate": "$Today"
                  },
                  {
                    "name": "CustomerAcceptance",
                    "triggerDate": "$Today"
                  }
                ],
                "ownerTransfer": {
                  "destinationAccountNumber": "$AccountNumNew",
                  "destinationInvoiceAccountNumber": "$AccountNumNew"
                }
              }
            ]
          }
        ],
        "processingOptions": {
          "runBilling": false,
          "collectPayment": false
        }
      }
    2. To create an order under an existing account with the contact information and also create new contacts on the destination account: soldto and shipto contacts will be created on the new subscription owner account, billto contact will be created on the new invoice account owner:

      Request

      POST /v1/orders/

      Request Body

       {
          "orderNumber": "O-ot-001",
          "orderDate": "2025-02-01",
          "existingAccountNumber": "A00000001",
          "subscriptions": [
            {
              "subscriptionNumber": "S-existing-001",
              "orderActions": [
                {
                  "type": "OwnerTransfer",
                  "triggerDates": [
                    {
                      "name": "ContractEffective",
                      "triggerDate": "2025-02-01"
                    }
                  ],
                  "ownerTransfer": {
                    "destinationAccountNumber": "A00000002",
                    "destinationInvoiceAccountNumber": "A00000001",
                    "billToContact": {
                      "firstName": "OT",
                      "lastName": "BillTo",
                      "workEmail": "ot.billto@test.com",
                      "address1": "600 Sixth St",
                      "city": "Denver",
                      "state": "CO",
                      "country": "United States",
                      "postalCode": "80201"
                    },
                    "soldToContact": {
                      "firstName": "OT",
                      "lastName": "SoldTo",
                      "workEmail": "ot.soldto@test.com",
                      "address1": "500 Fifth Ave",
                      "city": "Boston",
                      "state": "MA",
                      "country": "United States",
                      "postalCode": "02101"
                    },
                    "shipToContact": {
                      "firstName": "OT",
                      "lastName": "ShipTo",
                      "workEmail": "ot.shipto@test.com",
                      "address1": "700 Seventh Blvd",
                      "city": "Miami",
                      "state": "FL",
                      "country": "United States",
                      "postalCode": "33101"
                    }
                  }
                }
              ]
            }
          ]
        }

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