Method: accounts.customers.entitlements.changeOffer

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

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
name

string

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:

JSON representation
{
  "offer": string,
  "parameters": [
    {
      object (Parameter)
    }
  ],
  "purchaseOrderId": string,
  "requestId": string,
  "billingAccount": string,
  "priceReferenceId": string
}
Fields
offer

string

Required. New Offer. Format: accounts/{account_id}/offers/{offer_id}.

parameters[]

object (Parameter)

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. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order.

Not yet implemented: if populated in a request, this field isn't evaluated in the API.

Response body

If successful, the response body contains an instance of Operation.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/apps.order

For more information, see the Authentication Overview.