INVALID_ARGUMENT: Required request parameters are missing or invalid.
NOT_FOUND: The customer or offer resource was not found.
ALREADY_EXISTS: The SKU was already transferred for the customer.
CONDITION_NOT_MET or FAILED_PRECONDITION:
The SKU requires domain verification to transfer, but the domain is not verified.
An Add-On SKU (example, Vault or Drive) is missing the pre-requisite SKU (example, G Suite Basic).
(Developer accounts only) Reseller and resold domain must meet the following naming requirements:
Domain names must start with goog-test.
Domain names must include the reseller domain.
Specify all transferring entitlements.
INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support.
UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support.
Return value: The ID of a long-running operation.
To get the results of the operation, call the operations.get method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.
HTTP request
POST https://cloudchannel.googleapis.com/v1/{parent=accounts/*/customers/*}:transferEntitlements
Required. The resource name of the reseller's customer account that will receive transferred entitlements. Parent uses the format: accounts/{account_id}/customers/{customer_id}
Request body
The request body contains data with the following structure:
Required. The new entitlements to create or transfer.
authToken
string
The super admin of the resold customer generates this token to authorize a reseller to access their Cloud Identity and purchase entitlements on their behalf. You can omit this token after authorization. See https://support.google.com/a/answer/7643790 for more details.
requestId
string
Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete.
For example, you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if it received the original operation with the same request ID. If it did, it will ignore the second request.
The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
Response body
If successful, the response body contains an instance of Operation.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-19 UTC."],[[["\u003cp\u003eThis endpoint allows transferring customer entitlements to a new reseller using a POST request to the specified URL.\u003c/p\u003e\n"],["\u003cp\u003eThe request requires a \u003ccode\u003eparent\u003c/code\u003e path parameter, which is the resource name of the reseller's customer account in the format \u003ccode\u003eaccounts/{account_id}/customers/{customer_id}\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe request body should contain an array of \u003ccode\u003eentitlements\u003c/code\u003e objects, along with an optional \u003ccode\u003eauthToken\u003c/code\u003e for authorization and a \u003ccode\u003erequestId\u003c/code\u003e for handling retries.\u003c/p\u003e\n"],["\u003cp\u003ePossible error codes include \u003ccode\u003ePERMISSION_DENIED\u003c/code\u003e, \u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e, \u003ccode\u003eNOT_FOUND\u003c/code\u003e, \u003ccode\u003eALREADY_EXISTS\u003c/code\u003e, \u003ccode\u003eCONDITION_NOT_MET\u003c/code\u003e, \u003ccode\u003eFAILED_PRECONDITION\u003c/code\u003e, \u003ccode\u003eINTERNAL\u003c/code\u003e, and \u003ccode\u003eUNKNOWN\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eA successful request returns the ID of a long-running operation that can be tracked using the CloudChannelOperationsService.\u003c/p\u003e\n"]]],[],null,["# Method: accounts.customers.transferEntitlements\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nTransfers customer entitlements to new reseller.\n\nPossible error codes:\n\n- PERMISSION_DENIED:\n - The customer doesn't belong to the reseller.\n - The reseller is not authorized to transact on this Product. See \u003chttps://support.google.com/channelservices/answer/9759265\u003e\n- INVALID_ARGUMENT: Required request parameters are missing or invalid.\n- NOT_FOUND: The customer or offer resource was not found.\n- ALREADY_EXISTS: The SKU was already transferred for the customer.\n- CONDITION_NOT_MET or FAILED_PRECONDITION:\n - The SKU requires domain verification to transfer, but the domain is not verified.\n - An Add-On SKU (example, Vault or Drive) is missing the pre-requisite SKU (example, G Suite Basic).\n - (Developer accounts only) Reseller and resold domain must meet the following naming requirements:\n - Domain names must start with goog-test.\n - Domain names must include the reseller domain.\n - Specify all transferring entitlements.\n- INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support.\n- UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support.\n\nReturn value: The ID of a long-running operation.\n\nTo get the results of the operation, call the operations.get method of CloudChannelOperationsService. The Operation metadata will contain an instance of `OperationMetadata`.\n\n### HTTP request\n\n`POST https://cloudchannel.googleapis.com/v1/{parent=accounts/*/customers/*}:transferEntitlements`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n### Request body\n\nThe request body contains data with the following structure:\n\n### Response body\n\nIf successful, the response body contains an instance of [Operation](/channel/docs/reference/rest/Shared.Types/ListOperationsResponse#Operation).\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/apps.order`\n\nFor more information, see the [Authentication Overview](/docs/authentication#authorization-gcp)."]]