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/v1/{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.
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 by changing its associated offer, which is a long-running operation triggered by fulfillment.\u003c/p\u003e\n"],["\u003cp\u003eThe HTTP request is a \u003ccode\u003ePOST\u003c/code\u003e method to a specific URL structure, requiring a defined entitlement resource name as a path parameter.\u003c/p\u003e\n"],["\u003cp\u003eThe request body includes mandatory fields like the new \u003ccode\u003eoffer\u003c/code\u003e, along with optional details such as \u003ccode\u003eparameters\u003c/code\u003e, \u003ccode\u003epurchaseOrderId\u003c/code\u003e, and \u003ccode\u003erequestId\u003c/code\u003e.\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, and internal server errors, with guidance on contacting Cloud Channel support for the latter two.\u003c/p\u003e\n"],["\u003cp\u003eThe response returns the ID of a long-running operation, accessible via \u003ccode\u003eoperations.get\u003c/code\u003e, with authorization requiring the \u003ccode\u003ehttps://www.googleapis.com/auth/apps.order\u003c/code\u003e OAuth scope.\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/v1/{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)."]]