# Recommendations AI (Beta) API

> Recommendations AI (Beta) API on Apizie: 17 endpoints (Lists all the catalog configurations associated with the project., Gets the latest state of a long-running operation. Clients can use this method to poll the operation result…, Updates a catalog item. Partial updating is supported. Non-existing items will be created., Unregister an apiKey from using for predict method., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/analytics:googleapis-recommendationengine/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-recommendationengine`
- Category: Analytics
- Status: byok
- Source: https://cloud.google.com/recommendations-ai/docs
- Page: https://apizie.tech/api/analytics/googleapis-recommendationengine
- OpenAPI: https://apizie.tech/api/analytics/googleapis-recommendationengine/openapi.json

Note that we now highly recommend new customers to use Retail API, which incorporates the GA version of the Recommendations AI funtionalities. To enable Retail API, please visit…

## Endpoints

### Lists all the catalog configurations associated with the project.
`GET https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. |
| pageToken | string | no | Optional. A page token, received from a previous `ListCatalogs` call. Provide this to retrieve the subsequent page. |
| parent | string | yes | Required. The account resource name with an associated location. |

### Gets the latest state of a long-running operation. Clients can use this method to poll the operation result…
`GET https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-operations` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The name of the operation resource. |

### Updates a catalog item. Partial updating is supported. Non-existing items will be created.
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-catalog-ite` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Full resource name of catalog item, such as… |
| updateMask | string | no | Optional. Indicates which fields in the provided 'item' to update. If not set, will by default update all fields. |
| body | object | yes | JSON request body |

### Unregister an apiKey from using for predict method.
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The API key to unregister including full resource path.… |

### Gets a list of catalog items.
`GET https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-catalog-ite-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. Use of this field is not supported by version v1beta1. |
| pageSize | integer | no | Optional. Maximum number of results to return per page. If zero, the service will choose a reasonable default. |
| pageToken | string | no | Optional. The previous ListCatalogItemsResponse.next_page_token. |
| parent | string | yes | Required. The parent catalog resource name, such as `projects/*/locations/global/catalogs/default_catalog`. |

### Creates a catalog item.
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-catalog-ite-3` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent catalog resource name, such as `projects/*/locations/global/catalogs/default_catalog`. |
| body | object | yes | JSON request body |

### Bulk import of multiple catalog items. Request processing may be synchronous. No partial updating supported.…
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-catalog-ite-4` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. `projects/1234/locations/global/catalogs/default_catalog` If no updateMask is specified, requires catalogItems.create… |
| body | object | yes | JSON request body |

### Lists operations that match the specified filter in the request. If the server doesn't support this method,…
`GET https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-operations-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | The standard list filter. |
| name | string | yes | The name of the operation's parent resource. |
| pageSize | integer | no | The standard list page size. |
| pageToken | string | no | The standard list page token. |
| returnPartialSuccess | boolean | no | When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the… |

### Makes a recommendation prediction. If using API Key based authentication, the API Key must be registered…
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes |  |
| body | object | yes | JSON request body |

### List the registered apiKeys for use with predict method.
`GET https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store-3` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Optional. Maximum number of results to return per page. If unset, the service will choose a reasonable default. |
| pageToken | string | no | Optional. The previous `ListPredictionApiKeyRegistration.nextPageToken`. |
| parent | string | yes | Required. The parent placement resource name such as… |

### Register an API key for use with predict method.
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store-4` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent resource path. `projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store`. |
| body | object | yes | JSON request body |

### Writes a single user event from the browser. This uses a GET request to due to browser restriction of…
`GET https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store-5` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ets | string | no | Optional. The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated… |
| parent | string | yes | Required. The parent eventStore name, such as `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`. |
| uri | string | no | Optional. The url including cgi-parameters but excluding the hash fragment. The URL must be truncated to 1.5K bytes to conservatively be… |
| userEvent | string | no | Required. URL encoded UserEvent proto. |

### Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped.…
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store-6` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store` |
| body | object | yes | JSON request body |

### Gets a list of user events within a time range, with potential filtering. The method does not list unjoined…
`GET https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store-7` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. Filtering expression to specify restrictions over returned events. This is a sequence of terms, where each term applies some… |
| pageSize | integer | no | Optional. Maximum number of results to return per page. If zero, the service will choose a reasonable default. |
| pageToken | string | no | Optional. The previous ListUserEventsResponse.next_page_token. |
| parent | string | yes | Required. The parent eventStore resource name, such as `projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store`. |

### Deletes permanently all user events specified by the filter provided. Depending on the number of events…
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store-8` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The resource name of the event_store under which the events are created. The format is… |
| body | object | yes | JSON request body |

### Triggers a user event rejoin operation with latest catalog data. Events will not be annotated with detailed…
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store-9` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. Full resource name of user event, such as `projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store`. |
| body | object | yes | JSON request body |

### Writes a single user event.
`POST https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-event-store-10` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent eventStore resource name, such as… |
| body | object | yes | JSON request body |

## Example
```
curl "https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-list" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Recommendations AI (Beta) API?
Create a free Apizie key, then send GET https://apizie.tech/v1/analytics:googleapis-recommendationengine/recommendationengine-projects-locations-catalogs-list with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Recommendations AI (Beta) API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Recommendations AI (Beta) itself also needs your own key from googleapis.com.

### Can AI agents use the Recommendations AI (Beta) API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-recommendationengine.

### What is the status of the Recommendations AI (Beta) API?
Needs your own provider key (bring your own key)
