This Recommendations AI documentation references the Recommendations console. We recommend switching to the Retail console and using the Retail documentation, which documents Recommendations AI, the Retail console, and Retail Search.

If you are using the v1beta version of Recommendations AI, migrate to the Retail API version.

Retail API

Cloud Retail service enables customers to build end-to-end personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud.

Service: retail.googleapis.com

To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery documents:

Service endpoint

A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://retail.googleapis.com

REST Resource: v2beta.projects.locations.catalogs

Methods
completeQuery GET /v2beta/{catalog=projects/*/locations/*/catalogs/*}:completeQuery
Completes the specified prefix with keyword suggestions.
getAttributesConfig GET /v2beta/{name=projects/*/locations/*/catalogs/*/attributesConfig}
Gets an AttributesConfig.
getCompletionConfig GET /v2beta/{name=projects/*/locations/*/catalogs/*/completionConfig}
Gets a CompletionConfig.
getDefaultBranch GET /v2beta/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch
Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog.
list GET /v2beta/{parent=projects/*/locations/*}/catalogs
Lists all the Catalogs associated with the project.
patch PATCH /v2beta/{catalog.name=projects/*/locations/*/catalogs/*}
Updates the Catalogs.
setDefaultBranch POST /v2beta/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch
Set a specified branch id as default branch.
updateAttributesConfig PATCH /v2beta/{attributesConfig.name=projects/*/locations/*/catalogs/*/attributesConfig}
Updates the AttributesConfig.
updateCompletionConfig PATCH /v2beta/{completionConfig.name=projects/*/locations/*/catalogs/*/completionConfig}
Updates the CompletionConfigs.

REST Resource: v2beta.projects.locations.catalogs.attributesConfig

Methods
addCatalogAttribute POST /v2beta/{attributesConfig=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute
Adds the specified CatalogAttribute to the AttributesConfig.
removeCatalogAttribute POST /v2beta/{attributesConfig=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute
Removes the specified CatalogAttribute from the AttributesConfig.
replaceCatalogAttribute POST /v2beta/{attributesConfig=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute
Replaces the specified CatalogAttribute in the AttributesConfig by updating the catalog attribute with the same CatalogAttribute.key.

REST Resource: v2beta.projects.locations.catalogs.branches.operations

Methods
get GET /v2beta/{name=projects/*/locations/*/catalogs/*/branches/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource: v2beta.projects.locations.catalogs.branches.products

Methods
addFulfillmentPlaces POST /v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces
Incrementally adds place IDs to Product.fulfillment_info.place_ids.
addLocalInventories POST /v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories
Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field.
create POST /v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products
Creates a Product.
delete DELETE /v2beta/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}
Deletes a Product.
get GET /v2beta/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}
Gets a Product.
import POST /v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import
Bulk import of multiple Products.
list GET /v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products
Gets a list of Products.
patch PATCH /v2beta/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}
Updates a Product.
removeFulfillmentPlaces POST /v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces
Incrementally removes place IDs from a Product.fulfillment_info.place_ids.
removeLocalInventories POST /v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories
Remove local inventory information for a Product at a list of places at a removal timestamp.
setInventory POST /v2beta/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory
Updates inventory information for a Product while respecting the last update timestamps of each inventory field.

REST Resource: v2beta.projects.locations.catalogs.completionData

Methods
import POST /v2beta/{parent=projects/*/locations/*/catalogs/*}/completionData:import
Bulk import of processed completion dataset.

REST Resource: v2beta.projects.locations.catalogs.controls

Methods
create POST /v2beta/{parent=projects/*/locations/*/catalogs/*}/controls
Creates a Control.
delete DELETE /v2beta/{name=projects/*/locations/*/catalogs/*/controls/*}
Deletes a Control.
get GET /v2beta/{name=projects/*/locations/*/catalogs/*/controls/*}
Gets a Control.
list GET /v2beta/{parent=projects/*/locations/*/catalogs/*}/controls
Lists all Controls linked to this catalog.
patch PATCH /v2beta/{control.name=projects/*/locations/*/catalogs/*/controls/*}
Updates a Control.

REST Resource: v2beta.projects.locations.catalogs.operations

Methods
get GET /v2beta/{name=projects/*/locations/*/catalogs/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v2beta/{name=projects/*/locations/*/catalogs/*}/operations
Lists operations that match the specified filter in the request.

REST Resource: v2beta.projects.locations.catalogs.placements

Methods
predict POST /v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict
Makes a recommendation prediction.
search POST /v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:search
Performs a search.

REST Resource: v2beta.projects.locations.catalogs.servingConfigs

Methods
addControl POST /v2beta/{servingConfig=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl
Enables a Control on the specified ServingConfig.
create POST /v2beta/{parent=projects/*/locations/*/catalogs/*}/servingConfigs
Creates a ServingConfig.
delete DELETE /v2beta/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}
Deletes a ServingConfig.
get GET /v2beta/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}
Gets a ServingConfig.
list GET /v2beta/{parent=projects/*/locations/*/catalogs/*}/servingConfigs
Lists all ServingConfigs linked to this catalog.
patch PATCH /v2beta/{servingConfig.name=projects/*/locations/*/catalogs/*/servingConfigs/*}
Updates a ServingConfig.
removeControl POST /v2beta/{servingConfig=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl
Disables a Control on the specified ServingConfig.

REST Resource: v2beta.projects.locations.catalogs.userEvents

Methods
collect GET /v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect
Writes a single user event from the browser.
import POST /v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:import
Bulk import of User events.
purge POST /v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge
Deletes permanently all user events specified by the filter provided.
rejoin POST /v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin
Starts a user event rejoin operation with latest product catalog.
write POST /v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:write
Writes a single user event.

REST Resource: v2beta.projects.locations.operations

Methods
get GET /v2beta/{name=projects/*/locations/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v2beta/{name=projects/*/locations/*}/operations
Lists operations that match the specified filter in the request.

REST Resource: v2beta.projects.operations

Methods
get GET /v2beta/{name=projects/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v2beta/{name=projects/*}/operations
Lists operations that match the specified filter in the request.

REST Resource: v2.projects.locations.catalogs

Methods
completeQuery GET /v2/{catalog=projects/*/locations/*/catalogs/*}:completeQuery
Completes the specified prefix with keyword suggestions.
getDefaultBranch GET /v2/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch
Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog.
list GET /v2/{parent=projects/*/locations/*}/catalogs
Lists all the Catalogs associated with the project.
patch PATCH /v2/{catalog.name=projects/*/locations/*/catalogs/*}
Updates the Catalogs.
setDefaultBranch POST /v2/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch
Set a specified branch id as default branch.

REST Resource: v2.projects.locations.catalogs.branches.operations

Methods
get GET /v2/{name=projects/*/locations/*/catalogs/*/branches/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource: v2.projects.locations.catalogs.branches.products

Methods
addFulfillmentPlaces POST /v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces
Incrementally adds place IDs to Product.fulfillment_info.place_ids.
addLocalInventories POST /v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories
Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field.
create POST /v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products
Creates a Product.
delete DELETE /v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}
Deletes a Product.
get GET /v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}
Gets a Product.
import POST /v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import
Bulk import of multiple Products.
list GET /v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products
Gets a list of Products.
patch PATCH /v2/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}
Updates a Product.
removeFulfillmentPlaces POST /v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces
Incrementally removes place IDs from a Product.fulfillment_info.place_ids.
removeLocalInventories POST /v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories
Remove local inventory information for a Product at a list of places at a removal timestamp.
setInventory POST /v2/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory
Updates inventory information for a Product while respecting the last update timestamps of each inventory field.

REST Resource: v2.projects.locations.catalogs.completionData

Methods
import POST /v2/{parent=projects/*/locations/*/catalogs/*}/completionData:import
Bulk import of processed completion dataset.

REST Resource: v2.projects.locations.catalogs.operations

Methods
get GET /v2/{name=projects/*/locations/*/catalogs/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v2/{name=projects/*/locations/*/catalogs/*}/operations
Lists operations that match the specified filter in the request.

REST Resource: v2.projects.locations.catalogs.placements

Methods
predict POST /v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict
Makes a recommendation prediction.
search POST /v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:search
Performs a search.

REST Resource: v2.projects.locations.catalogs.userEvents

Methods
collect GET /v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect
Writes a single user event from the browser.
import POST /v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:import
Bulk import of User events.
purge POST /v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge
Deletes permanently all user events specified by the filter provided.
rejoin POST /v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin
Starts a user event rejoin operation with latest product catalog.
write POST /v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:write
Writes a single user event.

REST Resource: v2.projects.locations.operations

Methods
get GET /v2/{name=projects/*/locations/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v2/{name=projects/*/locations/*}/operations
Lists operations that match the specified filter in the request.

REST Resource: v2.projects.operations

Methods
get GET /v2/{name=projects/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v2/{name=projects/*}/operations
Lists operations that match the specified filter in the request.