Updates the Offer for an existing customer entitlement.
An entitlement update is a long-running operation and it updates the entitlement as a result of fulfillment.
Possible error codes:
PERMISSION_DENIED: The customer doesn't belong to the reseller.
INVALID_ARGUMENT: Required request parameters are missing or invalid.
NOT_FOUND: Offer or Entitlement resource not found.
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/{name=accounts/*/customers/*/entitlements/*}:changeOffer
Required. The resource name of the entitlement to update. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
Request body
The request body contains data with the following structure:
Optional. Parameters needed to purchase the Offer. To view the available Parameters refer to the Offer.parameter_definitions from the desired offer.
externalCorrelationId
string
Optional. An optional identifier in the external system that partners can use to correlate a Channel Services purchase transaction for the entitlement.
purchaseOrderId
string
Optional. Purchase order id provided by the reseller.
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).
billingAccount
string
Optional. The billing account resource name that is used to pay for this entitlement when setting up billing on a trial subscription.
This field is only relevant for multi-currency accounts. It should be left empty for single currency accounts.
priceReferenceId
string
Optional. Price reference ID for the offer. Only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order.
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 updates an existing customer entitlement's offer through a long-running operation.\u003c/p\u003e\n"],["\u003cp\u003eThe request requires the entitlement's resource name in the path and a new offer specified within the request body.\u003c/p\u003e\n"],["\u003cp\u003eThe request body accepts optional parameters such as \u003ccode\u003eexternalCorrelationId\u003c/code\u003e, \u003ccode\u003epurchaseOrderId\u003c/code\u003e, \u003ccode\u003erequestId\u003c/code\u003e, \u003ccode\u003ebillingAccount\u003c/code\u003e, and \u003ccode\u003epriceReferenceId\u003c/code\u003e to customize the entitlement update, with offer and parameters being mandatory.\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\u003eINTERNAL\u003c/code\u003e, and \u003ccode\u003eUNKNOWN\u003c/code\u003e, indicating issues like incorrect permissions, invalid parameters, missing resources, or backend errors.\u003c/p\u003e\n"],["\u003cp\u003eThe response to a successful call will be the ID of the long running operation and the operation results can be obtained by calling operations.get method.\u003c/p\u003e\n"]]],[],null,["# Method: accounts.customers.entitlements.changeOffer\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\nUpdates the Offer for an existing customer entitlement.\n\nAn entitlement update is a long-running operation and it updates the entitlement as a result of fulfillment.\n\nPossible error codes:\n\n- PERMISSION_DENIED: The customer doesn't belong to the reseller.\n- INVALID_ARGUMENT: Required request parameters are missing or invalid.\n- NOT_FOUND: Offer or Entitlement resource not found.\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/{name=accounts/*/customers/*/entitlements/*}:changeOffer`\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)."]]