Method: projects.locations.catalogs.servingConfigs.addControl

Enables a Control on the specified ServingConfig. The control is added in the last position of the list of controls it belongs to (e.g. if it's a facet spec control it will be applied in the last position of servingConfig.facetSpecIds) Returns a ALREADY_EXISTS error if the control has already been applied. Returns a FAILED_PRECONDITION error if the addition could exceed maximum number of control allowed for that type of control.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. The source ServingConfig resource name . Format: projects/{projectNumber}/locations/{locationId}/catalogs/{catalogId}/servingConfigs/{servingConfigId}

Request body

The request body contains data with the following structure:

JSON representation
  "controlId": string


Required. The id of the control to apply. Assumed to be in the same catalog as the serving config - if id is not found a NOT_FOUND error is returned.

Response body

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

Authorization scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the servingConfig resource:

  • retail.servingConfigs.update

For more information, see the IAM documentation.