Transfer Google Workspace and Google Chrome entitlements using the Cloud Channel API

This page helps you transfer entitlements for existing Google Workspace and Chrome accounts from their previous reseller.

For help transferring customers in the Partner Sales Console, see our guides on transferring customers to a reseller account or a Google account.

Google Workspace customers can only purchase entitlements from a single reseller.

During the transfer, existing entitlements are automatically canceled before they are created again under the new reseller. If a customer has commitment plan entitlements, those will start a new commitment term after the transfer.

Before you begin

To manage entitlements for a customer, you need a customer-generated transfer token. Contact the customer and provide your Reseller Public Identifier so they can generate a transfer token. After they create a token, the customer needs to send their transfer token back to you to complete the process. These tokens expire 14 days after creation. You also need the customer's domain or Cloud Identity ID.

When the customer creates their transfer token, they select the entitlements they want to transfer to their new reseller. You need to transfer all the selected entitlements during the process.

Transfer steps

If you only have the customer's domain, you can use the Cloud Channel API to return their Cloud Identity ID. Call checkCloudIdentityAccountsExist with the customer's domain and, if the domain exists, the API will return the customer's Cloud Identity ID.

  1. With the customer's Cloud Identity ID, call listTransferableSkus to retrieve a list of the customer's TransferableSku SKUs. Check each object's transferEligibility to make sure you can purchase the associated SKU.
  2. For each TransferableSku you can purchase, use the listTransferableOffers method to find its corresponding offers. At this point you should have the customer's transferable SKUs, their new offer IDs, and you should know if you can purchase these SKUs.
  3. Begin the transfer by using the customers.import method to import the customer's data.
  4. For each TransferableOffer, create a new corresponding Entitlement object and call the transferEntitlements method to perform the transfer. Each Entitlement needs an offer, commitmentSettings, and any required parameters.