This is the documentation for Recommendations AI only. To try Retail Search and the unified Retail console in the restricted GA phase, contact Cloud sales. If you are not planning to use Retail Search, remain on the Recommendations console until further notice.

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.
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.

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.
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.
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.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.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
Triggers 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: 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.
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.
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
Triggers 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.