Required request parameters are missing or invalid.
There is already a customer entitlement for a SKU from the same product family.
INVALID_VALUE: Make sure the OfferId is valid. If it is, contact Google Channel support for further troubleshooting.
NOT_FOUND: The customer or offer resource was not found.
ALREADY_EXISTS:
The SKU was already purchased for the customer.
The customer's primary email already exists. Retry after changing the customer's primary contact email.
CONDITION_NOT_MET or FAILED_PRECONDITION:
The domain required for purchasing a SKU has not been verified.
A pre-requisite SKU required to purchase an Add-On SKU is missing. For example, Google Workspace Business Starter is required to purchase Vault or Drive.
(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.
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/v1alpha1/{parent=accounts/*/customers/*}/entitlements
Required. The resource name of the reseller's customer account in which to create the entitlement. Parent uses the format: accounts/{account_id}/customers/{customer_id}
Request body
The request body contains data with the following structure:
Optional. If true, grants delegated admin rights to the channel partner for fulfilled entitlements. Applicable only if you provide Entitlement.channel_partner_id. Deprecated.
externalCorrelationId
string
Optional. An optional identifier in the external system that partners can use to correlate a Channel Services purchase transaction for the entitlement.
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).
Optional Cloud Identity information for the customer. Used when placing the first order for Cloud Identity and Google Workspace products. Defaults to DOMAIN customerType. Deprecated: Call ProvisionCloudIdentity before creating an entitlement.
Response body
If successful, the response body contains a newly created 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 API call creates a new entitlement for a specified customer within a reseller's account.\u003c/p\u003e\n"],["\u003cp\u003eThe HTTP request is a POST method to a specific URL that includes the reseller's account and customer IDs as path parameters.\u003c/p\u003e\n"],["\u003cp\u003eThe request body requires an entitlement object and includes optional fields such as an external correlation ID and request ID for tracking.\u003c/p\u003e\n"],["\u003cp\u003ePossible error codes include issues with permissions, invalid arguments, missing resources, pre-requisite conditions, and technical backend issues.\u003c/p\u003e\n"],["\u003cp\u003eUpon success, the API returns an operation ID, which can be used to track the status and results of the entitlement creation, using the CloudChannelOperationsService.\u003c/p\u003e\n"]]],[],null,["# Method: accounts.customers.entitlements.create\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\nCreates an entitlement for a customer.\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:\n - Required request parameters are missing or invalid.\n - There is already a customer entitlement for a SKU from the same product family.\n- INVALID_VALUE: Make sure the OfferId is valid. If it is, contact Google Channel support for further troubleshooting.\n- NOT_FOUND: The customer or offer resource was not found.\n- ALREADY_EXISTS:\n - The SKU was already purchased for the customer.\n - The customer's primary email already exists. Retry after changing the customer's primary contact email.\n- CONDITION_NOT_MET or FAILED_PRECONDITION:\n - The domain required for purchasing a SKU has not been verified.\n - A pre-requisite SKU required to purchase an Add-On SKU is missing. For example, Google Workspace Business Starter is required to purchase Vault or Drive.\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- 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/v1alpha1/{parent=accounts/*/customers/*}/entitlements`\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 a newly created 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)."]]