{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://recommendationengine.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Recommendations AI",
  "description": "Recommendations AI 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.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/recommendations/docs/",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "recommendationengine:v1beta1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://recommendationengine.mtls.googleapis.com/",
  "name": "recommendationengine",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "catalogs": {
              "methods": {
                "list": {
                  "description": "Lists all the catalog configurations associated with the project.",
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs",
                  "httpMethod": "GET",
                  "id": "recommendationengine.projects.locations.catalogs.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "pageSize": {
                      "description": "Optional. Maximum number of results to return. If unspecified, defaults\nto 50. Max allowed value is 1000.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "description": "Optional. A page token, received from a previous `ListCatalogs`\ncall. Provide this to retrieve the subsequent page.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "Required. The account resource name with an associated location.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1beta1/{+parent}/catalogs",
                  "response": {
                    "$ref": "GoogleCloudRecommendationengineV1beta1ListCatalogsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "patch": {
                  "description": "Updates the catalog configuration.",
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}",
                  "httpMethod": "PATCH",
                  "id": "recommendationengine.projects.locations.catalogs.patch",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "The fully qualified resource name of the catalog.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Optional. Indicates which fields in the provided 'recommendation_model' to\nupdate. If not set, will only update the catalog_item_level_config field.",
                      "format": "google-fieldmask",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v1beta1/{+name}",
                  "request": {
                    "$ref": "GoogleCloudRecommendationengineV1beta1Catalog"
                  },
                  "response": {
                    "$ref": "GoogleCloudRecommendationengineV1beta1Catalog"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              },
              "resources": {
                "catalogItems": {
                  "methods": {
                    "create": {
                      "description": "Creates a catalog item.",
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/catalogItems",
                      "httpMethod": "POST",
                      "id": "recommendationengine.projects.locations.catalogs.catalogItems.create",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent catalog resource name, such as\n\"projects/*/locations/global/catalogs/default_catalog\".",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1beta1/{+parent}/catalogItems",
                      "request": {
                        "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItem"
                      },
                      "response": {
                        "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItem"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "delete": {
                      "description": "Deletes a catalog item.",
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/catalogItems/{catalogItemsId}",
                      "httpMethod": "DELETE",
                      "id": "recommendationengine.projects.locations.catalogs.catalogItems.delete",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. Full resource name of catalog item, such as\n\"projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id\".",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/catalogItems/.*$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1beta1/{+name}",
                      "response": {
                        "$ref": "GoogleProtobufEmpty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "description": "Gets a specific catalog item.",
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/catalogItems/{catalogItemsId}",
                      "httpMethod": "GET",
                      "id": "recommendationengine.projects.locations.catalogs.catalogItems.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. Full resource name of catalog item, such as\n\"projects/*/locations/global/catalogs/default_catalog/catalogitems/some_catalog_item_id\".",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/catalogItems/.*$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1beta1/{+name}",
                      "response": {
                        "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItem"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "getGroupIdItems": {
                      "description": "Method for getting the catalog items associated with item group id.",
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/catalogItems:groupIdItems",
                      "httpMethod": "GET",
                      "id": "recommendationengine.projects.locations.catalogs.catalogItems.getGroupIdItems",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "itemGroupId": {
                          "description": "Required. Catalog item identifier for prediction results.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "description": "Required. Parent resource name of group id item, such as\n\"projects/*/locations/global/catalogs/default_catalog\".",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1beta1/{+parent}/catalogItems:groupIdItems",
                      "response": {
                        "$ref": "GoogleCloudRecommendationengineV1beta1GetCatalogItemsWithItemGroupIdResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "import": {
                      "description": "Bulk import of multiple catalog items. Request processing may be\nsynchronous. No partial updating supported. Non-existing items will be\ncreated.\n\nOperation.response is of type ImportResponse. Note that it is\npossible for a subset of the items to be successfully updated.",
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/catalogItems:import",
                      "httpMethod": "POST",
                      "id": "recommendationengine.projects.locations.catalogs.catalogItems.import",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "parent": {
                          "description": "Required. \"projects/1234/locations/global/catalogs/default_catalog\"\n\nIf no updateMask is specified, requires catalogItems.create permission.\nIf updateMask is specified, requires catalogItems.update permission.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1beta1/{+parent}/catalogItems:import",
                      "request": {
                        "$ref": "GoogleCloudRecommendationengineV1beta1ImportCatalogItemsRequest"
                      },
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "list": {
                      "description": "Gets a list of catalog items.",
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/catalogItems",
                      "httpMethod": "GET",
                      "id": "recommendationengine.projects.locations.catalogs.catalogItems.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "filter": {
                          "description": "Optional. A filter to apply on the list results.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Optional. Maximum number of results to return per page. If zero, the\nservice will choose a reasonable default.",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "pageToken": {
                          "description": "Optional. The previous ListCatalogItemsResponse.next_page_token.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "description": "Required. The parent catalog resource name, such as\n\"projects/*/locations/global/catalogs/default_catalog\".",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1beta1/{+parent}/catalogItems",
                      "response": {
                        "$ref": "GoogleCloudRecommendationengineV1beta1ListCatalogItemsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "patch": {
                      "description": "Updates a catalog item. Partial updating is supported. Non-existing\nitems will be created.",
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/catalogItems/{catalogItemsId}",
                      "httpMethod": "PATCH",
                      "id": "recommendationengine.projects.locations.catalogs.catalogItems.patch",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. Full resource name of catalog item, such as\n\"projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id\".",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/catalogItems/.*$",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Optional. Indicates which fields in the provided 'item' to update. If not\nset, will by default update all fields.",
                          "format": "google-fieldmask",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "v1beta1/{+name}",
                      "request": {
                        "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItem"
                      },
                      "response": {
                        "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItem"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  }
                },
                "eventStores": {
                  "resources": {
                    "operations": {
                      "methods": {
                        "get": {
                          "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/operations/{operationsId}",
                          "httpMethod": "GET",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.operations.get",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "The name of the operation resource.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+/operations/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+name}",
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "list": {
                          "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/operations",
                          "httpMethod": "GET",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.operations.list",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "filter": {
                              "description": "The standard list filter.",
                              "location": "query",
                              "type": "string"
                            },
                            "name": {
                              "description": "The name of the operation's parent resource.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "The standard list page size.",
                              "format": "int32",
                              "location": "query",
                              "type": "integer"
                            },
                            "pageToken": {
                              "description": "The standard list page token.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+name}/operations",
                          "response": {
                            "$ref": "GoogleLongrunningListOperationsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    },
                    "placements": {
                      "methods": {
                        "predict": {
                          "description": "Makes a recommendation prediction. If using API Key based authentication,\nthe API Key must be registered using the\nPredictionApiKeyRegistry\nservice. [Learn more](/recommendations-ai/docs/setting-up#register-key).",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/placements/{placementsId}:predict",
                          "httpMethod": "POST",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.placements.predict",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "Required. Full resource name of the format:\n{name=projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store/placements/*}\nThe id of the recommendation engine placement. This id is used to identify\nthe set of models that will be used to make the prediction.\n\nWe currently support three placements with the following IDs by default:\n\n* `shopping_cart`: Predicts items frequently bought together with one or\n  more catalog items in the same shopping session. Commonly displayed after\n  `add-to-cart` events, on product detail pages, or on the shopping cart\n  page.\n\n* `home_page`: Predicts the next product that a user will most likely\n  engage with or purchase based on the shopping or viewing history of the\n  specified `userId` or `visitorId`. For example - Recommendations for you.\n\n* `product_detail`: Predicts the next product that a user will most likely\n  engage with or purchase. The prediction is based on the shopping or\n  viewing history of the specified `userId` or `visitorId` and its\n  relevance to a specified `CatalogItem`. Typically used on product detail\n  pages. For example - More items like this.\n\n* `recently_viewed_default`: Returns up to 75 items recently viewed by the\n  specified `userId` or `visitorId`, most recent ones first. Returns\n  nothing if neither of them has viewed any items yet. For example -\n  Recently viewed.\n\nThe full list of available placements can be seen at\nhttps://console.cloud.google.com/recommendation/datafeeds/default_catalog/dashboard",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+/placements/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+name}:predict",
                          "request": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1PredictRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1PredictResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    },
                    "predictionApiKeyRegistrations": {
                      "methods": {
                        "create": {
                          "description": "Register an API key for use with predict method.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/predictionApiKeyRegistrations",
                          "httpMethod": "POST",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.predictionApiKeyRegistrations.create",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "Required. The parent resource path.\n\"projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store\".",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+parent}/predictionApiKeyRegistrations",
                          "request": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1CreatePredictionApiKeyRegistrationRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "delete": {
                          "description": "Unregister an apiKey from using for predict method.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/predictionApiKeyRegistrations/{predictionApiKeyRegistrationsId}",
                          "httpMethod": "DELETE",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.predictionApiKeyRegistrations.delete",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "Required. The API key to unregister including full resource path.\n\"projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store/predictionApiKeyRegistrations/\u003cYOUR_API_KEY\u003e\"",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+/predictionApiKeyRegistrations/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+name}",
                          "response": {
                            "$ref": "GoogleProtobufEmpty"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "list": {
                          "description": "List the registered apiKeys for use with predict method.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/predictionApiKeyRegistrations",
                          "httpMethod": "GET",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.predictionApiKeyRegistrations.list",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "pageSize": {
                              "description": "Optional. Maximum number of results to return per page. If unset, the\nservice will choose a reasonable default.",
                              "format": "int32",
                              "location": "query",
                              "type": "integer"
                            },
                            "pageToken": {
                              "description": "Optional. The previous `ListPredictionApiKeyRegistration.nextPageToken`.",
                              "location": "query",
                              "type": "string"
                            },
                            "parent": {
                              "description": "Required. The parent placement resource name such as\n\"projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store\"",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+parent}/predictionApiKeyRegistrations",
                          "response": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1ListPredictionApiKeyRegistrationsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    },
                    "userEvents": {
                      "methods": {
                        "collect": {
                          "description": "Writes a single user event from the browser. This uses a GET request to\ndue to browser restriction of POST-ing to a 3rd party domain.\n\nThis method is used only by the Recommendations AI JavaScript pixel.\nUsers should not call this method directly.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/userEvents:collect",
                          "httpMethod": "GET",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.userEvents.collect",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "ets": {
                              "description": "Optional. The event timestamp in milliseconds. This prevents browser caching of\notherwise identical get requests. The name is abbreviated to reduce the\npayload bytes.",
                              "format": "int64",
                              "location": "query",
                              "type": "string"
                            },
                            "parent": {
                              "description": "Required. The parent eventStore name, such as\n\"projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store\".",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "uri": {
                              "description": "Optional. The url including cgi-parameters but excluding the hash fragment. The URL\nmust be truncated to 1.5K bytes to conservatively be under the 2K bytes.\nThis is often more useful than the referer url, because many browsers only\nsend the domain for 3rd party requests.",
                              "location": "query",
                              "type": "string"
                            },
                            "userEvent": {
                              "description": "Required. URL encoded UserEvent proto.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+parent}/userEvents:collect",
                          "response": {
                            "$ref": "GoogleApiHttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "import": {
                          "description": "Bulk import of User events. Request processing might be\nsynchronous. Events that already exist are skipped.\nUse this method for backfilling historical user events.\n\nOperation.response is of type ImportResponse. Note that it is\npossible for a subset of the items to be successfully inserted.\nOperation.metadata is of type ImportMetadata.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/userEvents:import",
                          "httpMethod": "POST",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.userEvents.import",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "Required. \"projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store\"",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+parent}/userEvents:import",
                          "request": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1ImportUserEventsRequest"
                          },
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "list": {
                          "description": "Gets a list of user events within a time range, with potential filtering.\nThe method does not list unjoined user events.\n\nUnjoined user event definition: when a user event is ingested from\nRecommendations AI User Event APIs, the catalog item included in the user\nevent is connected with the current catalog. If a catalog item of the\ningested event is not in the current catalog, it could lead to degraded\nmodel quality. This is called an unjoined event.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/userEvents",
                          "httpMethod": "GET",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.userEvents.list",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "filter": {
                              "description": "Optional. Filtering expression to specify restrictions over\nreturned events. This is a sequence of terms, where each term applies some\nkind of a restriction to the returned user events. Use this expression to\nrestrict results to a specific time range, or filter events by eventType.\n   eg: eventTime \u003e \"2012-04-23T18:25:43.511Z\" eventsMissingCatalogItems\n   eventTime\u003c\"2012-04-23T18:25:43.511Z\" eventType=search\n\n  We expect only 3 types of fields:\n\n   * eventTime: this can be specified a maximum of 2 times, once with a\n     less than operator and once with a greater than operator. The\n     eventTime restrict should result in one contiguous valid eventTime\n     range.\n\n   * eventType: only 1 eventType restriction can be specified.\n\n   * eventsMissingCatalogItems: specififying this will restrict results\n     to events for which catalog items were not found in the catalog. The\n     default behavior is to return only those events for which catalog\n     items were found.\n\n  Some examples of valid filters expressions:\n\n  * Example 1: eventTime \u003e \"2012-04-23T18:25:43.511Z\"\n            eventTime \u003c \"2012-04-23T18:30:43.511Z\"\n  * Example 2: eventTime \u003e \"2012-04-23T18:25:43.511Z\"\n            eventType = detail-page-view\n  * Example 3: eventsMissingCatalogItems\n            eventType = search eventTime \u003c \"2018-04-23T18:30:43.511Z\"\n  * Example 4: eventTime \u003e \"2012-04-23T18:25:43.511Z\"\n  * Example 5: eventType = search\n  * Example 6: eventsMissingCatalogItems",
                              "location": "query",
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "Optional. Maximum number of results to return per page. If zero, the\nservice will choose a reasonable default.",
                              "format": "int32",
                              "location": "query",
                              "type": "integer"
                            },
                            "pageToken": {
                              "description": "Optional. The previous ListUserEventsResponse.next_page_token.",
                              "location": "query",
                              "type": "string"
                            },
                            "parent": {
                              "description": "Required. The parent eventStore resource name, such as\n\"projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store\".",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+parent}/userEvents",
                          "response": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1ListUserEventsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "purge": {
                          "description": "Deletes permanently all user events specified by the filter provided.\nDepending on the number of events specified by the filter, this operation\ncould take hours or days to complete. To test a filter, use the list\ncommand first.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/userEvents:purge",
                          "httpMethod": "POST",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.userEvents.purge",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "Required. The resource name of the event_store under which the events are\ncreated. The format is\n\"projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}\"",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+parent}/userEvents:purge",
                          "request": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1PurgeUserEventsRequest"
                          },
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "rejoin": {
                          "description": "Triggers a user event rejoin operation with latest catalog data. Events\nwill not be annotated with detailed catalog information if catalog item is\nmissing at the time the user event is ingested, and these events are stored\nas unjoined events with a limited usage on training and serving. This API\ncan be used to trigger a 'join' operation on specified events with latest\nversion of catalog items. It can also be used to correct events joined with\nwrong catalog items.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/userEvents:rejoin",
                          "httpMethod": "POST",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.userEvents.rejoin",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "Required. Full resource name of user event, such as\n\"projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store\".",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+parent}/userEvents:rejoin",
                          "request": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1RejoinUserEventsRequest"
                          },
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "write": {
                          "description": "Writes a single user event.",
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/eventStores/{eventStoresId}/userEvents:write",
                          "httpMethod": "POST",
                          "id": "recommendationengine.projects.locations.catalogs.eventStores.userEvents.write",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "Required. The parent eventStore resource name, such as\n\"projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store\".",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1beta1/{+parent}/userEvents:write",
                          "request": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1UserEvent"
                          },
                          "response": {
                            "$ref": "GoogleCloudRecommendationengineV1beta1UserEvent"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    }
                  }
                },
                "operations": {
                  "methods": {
                    "get": {
                      "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/operations/{operationsId}",
                      "httpMethod": "GET",
                      "id": "recommendationengine.projects.locations.catalogs.operations.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The name of the operation resource.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/operations/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1beta1/{+name}",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "list": {
                      "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/operations",
                      "httpMethod": "GET",
                      "id": "recommendationengine.projects.locations.catalogs.operations.list",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "filter": {
                          "description": "The standard list filter.",
                          "location": "query",
                          "type": "string"
                        },
                        "name": {
                          "description": "The name of the operation's parent resource.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "The standard list page size.",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "pageToken": {
                          "description": "The standard list page token.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "v1beta1/{+name}/operations",
                      "response": {
                        "$ref": "GoogleLongrunningListOperationsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20200706",
  "rootUrl": "https://recommendationengine.googleapis.com/",
  "schemas": {
    "GoogleApiHttpBody": {
      "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n    message GetResourceRequest {\n      // A unique request id.\n      string request_id = 1;\n\n      // The raw HTTP body is bound to this field.\n      google.api.HttpBody http_body = 2;\n    }\n\n    service ResourceService {\n      rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n      rpc UpdateResource(google.api.HttpBody) returns\n      (google.protobuf.Empty);\n    }\n\nExample with streaming methods:\n\n    service CaldavService {\n      rpc GetCalendar(stream google.api.HttpBody)\n        returns (stream google.api.HttpBody);\n      rpc UpdateCalendar(stream google.api.HttpBody)\n        returns (stream google.api.HttpBody);\n    }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.",
      "id": "GoogleApiHttpBody",
      "properties": {
        "contentType": {
          "description": "The HTTP Content-Type header value specifying the content type of the body.",
          "type": "string"
        },
        "data": {
          "description": "The HTTP request/response body as raw binary.",
          "format": "byte",
          "type": "string"
        },
        "extensions": {
          "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1alphaRejoinCatalogMetadata": {
      "description": "Metadata for TriggerCatalogRejoin method.",
      "id": "GoogleCloudRecommendationengineV1alphaRejoinCatalogMetadata",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1alphaRejoinCatalogResponse": {
      "description": "Response message for TriggerCatalogRejoin method.",
      "id": "GoogleCloudRecommendationengineV1alphaRejoinCatalogResponse",
      "properties": {
        "rejoinedUserEventsCount": {
          "description": "Number of user events that were joined with latest catalog items.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1alphaTuningMetadata": {
      "description": "Metadata associated with a tune operation.",
      "id": "GoogleCloudRecommendationengineV1alphaTuningMetadata",
      "properties": {
        "recommendationModel": {
          "description": "The resource name of the recommendation model that this tune applies to.\nFormat:\nprojects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/eventStores/{event_store_id}/recommendationModels/{recommendation_model_id}",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1alphaTuningResponse": {
      "description": "Response associated with a tune operation.",
      "id": "GoogleCloudRecommendationengineV1alphaTuningResponse",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1BigQuerySource": {
      "description": "BigQuery source import data from.",
      "id": "GoogleCloudRecommendationengineV1beta1BigQuerySource",
      "properties": {
        "dataSchema": {
          "description": "Optional. The schema to use when parsing the data from the source.\n\nSupported values for catalog imports:\n\n 1: \"catalog_recommendations_ai\" using\n   https://cloud.google.com/recommendations-ai/docs/upload-catalog#json\n   (Default for catalogItems.import)\n\n 2: \"catalog_merchant_center\" using\n   https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc\n\nSupported values for user event imports:\n\n 1: \"user_events_recommendations_ai\" using\n https://cloud.google.com/recommendations-ai/docs/manage-user-events#import\n (Default for userEvents.import)",
          "type": "string"
        },
        "datasetId": {
          "description": "Required. The BigQuery data set to copy the data from.",
          "type": "string"
        },
        "gcsStagingDir": {
          "description": "Required. Intermediate gcs dir used for the import.\n.",
          "type": "string"
        },
        "projectId": {
          "description": "Optional. The project id (can be project # or id) that the BigQuery source is in. If\nnot specified, inherits the project id from the parent request.",
          "type": "string"
        },
        "tableId": {
          "description": "Required. The BigQuery table to copy the data from.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1Catalog": {
      "description": "The catalog configuration.\nNext ID: 5.",
      "id": "GoogleCloudRecommendationengineV1beta1Catalog",
      "properties": {
        "catalogItemLevelConfig": {
          "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItemLevelConfig",
          "description": "Required. The catalog item level configuration."
        },
        "defaultEventStoreId": {
          "description": "Required. The id of the default event store.",
          "type": "string"
        },
        "displayName": {
          "description": "Required. The catalog display name.",
          "type": "string"
        },
        "name": {
          "description": "The fully qualified resource name of the catalog.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1CatalogInlineSource": {
      "description": "The inline source for the input config for ImportCatalogItems method.",
      "id": "GoogleCloudRecommendationengineV1beta1CatalogInlineSource",
      "properties": {
        "catalogItems": {
          "description": "Optional. A list of catalog items to update/create. Recommended max of 10k\nitems.",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItem"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1CatalogItem": {
      "description": "CatalogItem captures all metadata information of items to be recommended.",
      "id": "GoogleCloudRecommendationengineV1beta1CatalogItem",
      "properties": {
        "categoryHierarchies": {
          "description": "Required. Catalog item categories. This field is repeated for supporting\none catalog item belonging to several parallel category hierarchies.\n\nFor example, if a shoes product belongs to both\n[\"Shoes \u0026 Accessories\" -\u003e \"Shoes\"] and\n[\"Sports \u0026 Fitness\" -\u003e \"Athletic Clothing\" -\u003e \"Shoes\"], it could be\nrepresented as:\n\n     \"categoryHierarchies\": [\n       { \"categories\": [\"Shoes \u0026 Accessories\", \"Shoes\"]},\n       { \"categories\": [\"Sports \u0026 Fitness\", \"Athletic Clothing\", \"Shoes\"] }\n     ]",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchy"
          },
          "type": "array"
        },
        "description": {
          "description": "Optional. Catalog item description. UTF-8 encoded string with a length\nlimit of 5 KiB.",
          "type": "string"
        },
        "id": {
          "description": "Required. Catalog item identifier. UTF-8 encoded string with a length limit\nof 128 bytes.\n\nThis id must be unique among all catalog items within the same catalog. It\nshould also be used when logging user events in order for the user events\nto be joined with the Catalog.",
          "type": "string"
        },
        "itemAttributes": {
          "$ref": "GoogleCloudRecommendationengineV1beta1FeatureMap",
          "description": "Optional. Highly encouraged. Extra catalog item attributes to be\nincluded in the recommendation model. For example, for retail products,\nthis could include the store name, vendor, style, color, etc. These are\nvery strong signals for recommendation model, thus we highly recommend\nproviding the item attributes here."
        },
        "itemGroupId": {
          "description": "Optional. Variant group identifier for prediction results. UTF-8 encoded\nstring with a length limit of 128 bytes.\n\nThis field must be enabled before it can be used. [Learn\nmore](/recommendations-ai/docs/catalog#item-group-id).",
          "type": "string"
        },
        "languageCode": {
          "description": "Optional. Deprecated. The model automatically detects the text language. Your\ncatalog can include text in different languages, but duplicating\ncatalog items to provide text in multiple languages can result in\ndegraded model performance.",
          "type": "string"
        },
        "productMetadata": {
          "$ref": "GoogleCloudRecommendationengineV1beta1ProductCatalogItem",
          "description": "Optional. Metadata specific to retail products."
        },
        "tags": {
          "description": "Optional. Filtering tags associated with the catalog item. Each tag should\nbe a UTF-8 encoded string with a length limit of 1 KiB.\n\nThis tag can be used for filtering recommendation results by passing the\ntag as part of the predict request filter.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "title": {
          "description": "Required. Catalog item title. UTF-8 encoded string with a length limit of 1\nKiB.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchy": {
      "description": "Category represents catalog item category hierarchy.",
      "id": "GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchy",
      "properties": {
        "categories": {
          "description": "Required. Catalog item categories. Each category should be a UTF-8\nencoded string with a length limit of 2 KiB.\n\nNote that the order in the list denotes the specificity (from least to\nmost specific).",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1CatalogItemLevelConfig": {
      "description": "Configures what level the catalog should be uploaded with regards to\nhow users will be send events and how predictions will be made.",
      "id": "GoogleCloudRecommendationengineV1beta1CatalogItemLevelConfig",
      "properties": {
        "eventItemLevel": {
          "description": "Optional. What level of the catalog are events uploaded at.\nSee https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels\nfor more details.",
          "enum": [
            "CATALOG_ITEM_LEVEL_UNSPECIFIED",
            "VARIANT",
            "MASTER"
          ],
          "enumDescriptions": [
            "Unknown value - should never be used.",
            "Catalog items are at variant level.",
            "Catalog items are at master level."
          ],
          "type": "string"
        },
        "predictItemLevel": {
          "description": "Optional. What level of the catalog are predictions made at.\nSee https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels\nfor more details.",
          "enum": [
            "CATALOG_ITEM_LEVEL_UNSPECIFIED",
            "VARIANT",
            "MASTER"
          ],
          "enumDescriptions": [
            "Unknown value - should never be used.",
            "Catalog items are at variant level.",
            "Catalog items are at master level."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1CreatePredictionApiKeyRegistrationRequest": {
      "description": "Request message for the `CreatePredictionApiKeyRegistration` method.",
      "id": "GoogleCloudRecommendationengineV1beta1CreatePredictionApiKeyRegistrationRequest",
      "properties": {
        "predictionApiKeyRegistration": {
          "$ref": "GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration",
          "description": "Required. The prediction API key registration."
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1EventDetail": {
      "description": "User event details shared by all recommendation types.",
      "id": "GoogleCloudRecommendationengineV1beta1EventDetail",
      "properties": {
        "eventAttributes": {
          "$ref": "GoogleCloudRecommendationengineV1beta1FeatureMap",
          "description": "Optional. Extra user event features to include in the recommendation\nmodel.\n\nFor product recommendation, an example of extra user information is\ntraffic_channel, i.e. how user arrives at the site. Users can arrive\nat the site by coming to the site directly, or coming through Google\nsearch, and etc."
        },
        "experimentIds": {
          "description": "Optional. A list of identifiers for the independent experiment groups\nthis user event belongs to. This is used to distinguish between user events\nassociated with different experiment setups (e.g. using Recommendation\nEngine system, using different recommendation models).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "pageViewId": {
          "description": "Optional. A unique id of a web page view.\nThis should be kept the same for all user events triggered from the same\npageview. For example, an item detail page view could trigger multiple\nevents as the user is browsing the page.\nThe `pageViewId` property should be kept the same for all these events so\nthat they can be grouped together properly. This `pageViewId` will be\nautomatically generated if using the JavaScript pixel.",
          "type": "string"
        },
        "recommendationToken": {
          "description": "Optional. Recommendation token included in the recommendation prediction\nresponse.\n\nThis field enables accurate attribution of recommendation model\nperformance.\n\nThis token enables us to accurately attribute page view or purchase back to\nthe event and the particular predict response containing this\nclicked/purchased item. If user clicks on product K in the recommendation\nresults, pass the `PredictResponse.recommendationToken` property as a url\nparameter to product K's page. When recording events on product K's page,\nlog the PredictResponse.recommendation_token to this field.\n\nOptional, but highly encouraged for user events that are the result of a\nrecommendation prediction query.",
          "type": "string"
        },
        "referrerUri": {
          "description": "Optional. The referrer url of the current page. When using\nthe JavaScript pixel, this value is filled in automatically.",
          "type": "string"
        },
        "uri": {
          "description": "Optional. Complete url (window.location.href) of the user's current page.\nWhen using the JavaScript pixel, this value is filled in automatically.\nMaximum length 5KB.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1FeatureMap": {
      "description": "FeatureMap represents extra features that customers want to include in the\nrecommendation model for catalogs/user events as categorical/numerical\nfeatures.",
      "id": "GoogleCloudRecommendationengineV1beta1FeatureMap",
      "properties": {
        "categoricalFeatures": {
          "additionalProperties": {
            "$ref": "GoogleCloudRecommendationengineV1beta1FeatureMapStringList"
          },
          "description": "Categorical features that can take on one of a limited number of possible\nvalues. Some examples would be the brand/maker of a product, or country of\na customer.\n\nFeature names and values must be UTF-8 encoded strings.\n\nFor example: `{ \"colors\": {\"value\": [\"yellow\", \"green\"]},\n                \"sizes\": {\"value\":[\"S\", \"M\"]}`",
          "type": "object"
        },
        "numericalFeatures": {
          "additionalProperties": {
            "$ref": "GoogleCloudRecommendationengineV1beta1FeatureMapFloatList"
          },
          "description": "Numerical features. Some examples would be the height/weight of a product,\nor age of a customer.\n\nFeature names must be UTF-8 encoded strings.\n\nFor example: `{ \"lengths_cm\": {\"value\":[2.3, 15.4]},\n                \"heights_cm\": {\"value\":[8.1, 6.4]} }`",
          "type": "object"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1FeatureMapFloatList": {
      "description": "A list of float features.",
      "id": "GoogleCloudRecommendationengineV1beta1FeatureMapFloatList",
      "properties": {
        "value": {
          "description": "Float feature value.",
          "items": {
            "format": "float",
            "type": "number"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1FeatureMapStringList": {
      "description": "A list of string features.",
      "id": "GoogleCloudRecommendationengineV1beta1FeatureMapStringList",
      "properties": {
        "value": {
          "description": "String feature value with a length limit of 128 bytes.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1GcsSource": {
      "description": "Google Cloud Storage location for input content.\nformat.",
      "id": "GoogleCloudRecommendationengineV1beta1GcsSource",
      "properties": {
        "inputUris": {
          "description": "Required. Google Cloud Storage URIs to input files. URI can be up to\n2000 characters long. URIs can match the full object path (for example,\ngs://bucket/directory/object.json) or a pattern matching one or more\nfiles, such as gs://bucket/directory/*.json. A request can\ncontain at most 100 files, and each file can be up to 2 GB. See\n[Importing catalog information](/recommendations-ai/docs/upload-catalog)\nfor the expected file format and setup instructions.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "jsonSchema": {
          "description": "Optional. The schema to use when parsing the data from the source.\n\nSupported values for catalog imports:\n\n 1: \"catalog_recommendations_ai\" using\n   https://cloud.google.com/recommendations-ai/docs/upload-catalog#json\n   (Default for catalogItems.import)\n\n 2: \"catalog_merchant_center\" using\n   https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc\n\nSupported values for user events imports:\n\n 1: \"user_events_recommendations_ai\" using\n https://cloud.google.com/recommendations-ai/docs/manage-user-events#import\n (Default for userEvents.import)",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1GetCatalogItemsWithItemGroupIdResponse": {
      "description": "Response message for GetCatalogItemsWithItemGroupId method.",
      "id": "GoogleCloudRecommendationengineV1beta1GetCatalogItemsWithItemGroupIdResponse",
      "properties": {
        "canonicalCatalogItem": {
          "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItem",
          "description": "The canonical catalog item representing all items associated with the item\ngroup id."
        },
        "catalogItems": {
          "description": "The list of catalog items associated with the item group id.",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItem"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1Image": {
      "description": "Catalog item thumbnail/detail image.",
      "id": "GoogleCloudRecommendationengineV1beta1Image",
      "properties": {
        "height": {
          "description": "Optional. Height of the image in number of pixels.",
          "format": "int32",
          "type": "integer"
        },
        "uri": {
          "description": "Required. URL of the image with a length limit of 5 KiB.",
          "type": "string"
        },
        "width": {
          "description": "Optional. Width of the image in number of pixels.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ImportCatalogItemsRequest": {
      "description": "Request message for Import methods.",
      "id": "GoogleCloudRecommendationengineV1beta1ImportCatalogItemsRequest",
      "properties": {
        "errorsConfig": {
          "$ref": "GoogleCloudRecommendationengineV1beta1ImportErrorsConfig",
          "description": "Optional. The desired location of errors incurred during the Import."
        },
        "inputConfig": {
          "$ref": "GoogleCloudRecommendationengineV1beta1InputConfig",
          "description": "Required. The desired input location of the data."
        },
        "requestId": {
          "description": "Optional. Unique identifier provided by client, within the ancestor\ndataset scope. Ensures idempotency and used for request deduplication.\nServer-generated if unspecified. Up to 128 characters long. This is\nreturned as google.longrunning.Operation.name in the response.",
          "type": "string"
        },
        "updateMask": {
          "description": "Optional. Indicates which fields in the provided imported 'items' to update. If not\nset, will by default update all fields.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ImportCatalogItemsResponse": {
      "description": "Response of the ImportCatalogItemsRequest. If the long running\noperation is done, then this message is returned by the\ngoogle.longrunning.Operations.response field if the operation was successful.",
      "id": "GoogleCloudRecommendationengineV1beta1ImportCatalogItemsResponse",
      "properties": {
        "errorSamples": {
          "description": "A sample of errors encountered while processing the request.",
          "items": {
            "$ref": "GoogleRpcStatus"
          },
          "type": "array"
        },
        "errorsConfig": {
          "$ref": "GoogleCloudRecommendationengineV1beta1ImportErrorsConfig",
          "description": "Echoes the destination for the complete errors in the request if set."
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ImportErrorsConfig": {
      "description": "Configuration of destination for Import related errors.",
      "id": "GoogleCloudRecommendationengineV1beta1ImportErrorsConfig",
      "properties": {
        "gcsPrefix": {
          "description": "Google Cloud Storage path for import errors. This must be an empty,\nexisting Cloud Storage bucket. Import errors will be written to a file in\nthis bucket, one per line, as a JSON-encoded\n`google.rpc.Status` message.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ImportMetadata": {
      "description": "Metadata related to the progress of the Import operation. This will be\nreturned by the google.longrunning.Operation.metadata field.",
      "id": "GoogleCloudRecommendationengineV1beta1ImportMetadata",
      "properties": {
        "createTime": {
          "description": "Operation create time.",
          "format": "google-datetime",
          "type": "string"
        },
        "failureCount": {
          "description": "Count of entries that encountered errors while processing.",
          "format": "int64",
          "type": "string"
        },
        "operationName": {
          "description": "Name of the operation.",
          "type": "string"
        },
        "requestId": {
          "description": "Id of the request / operation. This is parroting back the requestId that\nwas passed in the request.",
          "type": "string"
        },
        "successCount": {
          "description": "Count of entries that were processed successfully.",
          "format": "int64",
          "type": "string"
        },
        "updateTime": {
          "description": "Operation last update time. If the operation is done, this is also the\nfinish time.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ImportUserEventsRequest": {
      "description": "Request message for the ImportUserEvents request.",
      "id": "GoogleCloudRecommendationengineV1beta1ImportUserEventsRequest",
      "properties": {
        "errorsConfig": {
          "$ref": "GoogleCloudRecommendationengineV1beta1ImportErrorsConfig",
          "description": "Optional. The desired location of errors incurred during the Import."
        },
        "inputConfig": {
          "$ref": "GoogleCloudRecommendationengineV1beta1InputConfig",
          "description": "Required. The desired input location of the data."
        },
        "requestId": {
          "description": "Optional. Unique identifier provided by client, within the ancestor\ndataset scope. Ensures idempotency for expensive long running operations.\nServer-generated if unspecified. Up to 128 characters long. This is\nreturned as google.longrunning.Operation.name in the response. Note that\nthis field must not be set if the desired input config is\ncatalog_inline_source.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ImportUserEventsResponse": {
      "description": "Response of the ImportUserEventsRequest. If the long running\noperation was successful, then this message is returned by the\ngoogle.longrunning.Operations.response field if the operation was successful.",
      "id": "GoogleCloudRecommendationengineV1beta1ImportUserEventsResponse",
      "properties": {
        "errorSamples": {
          "description": "A sample of errors encountered while processing the request.",
          "items": {
            "$ref": "GoogleRpcStatus"
          },
          "type": "array"
        },
        "errorsConfig": {
          "$ref": "GoogleCloudRecommendationengineV1beta1ImportErrorsConfig",
          "description": "Echoes the destination for the complete errors if this field was set in\nthe request."
        },
        "importSummary": {
          "$ref": "GoogleCloudRecommendationengineV1beta1UserEventImportSummary",
          "description": "Aggregated statistics of user event import status."
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1InputConfig": {
      "description": "The input config source.",
      "id": "GoogleCloudRecommendationengineV1beta1InputConfig",
      "properties": {
        "bigQuerySource": {
          "$ref": "GoogleCloudRecommendationengineV1beta1BigQuerySource",
          "description": "BigQuery input source."
        },
        "catalogInlineSource": {
          "$ref": "GoogleCloudRecommendationengineV1beta1CatalogInlineSource",
          "description": "The Inline source for the input content for Catalog items."
        },
        "gcsSource": {
          "$ref": "GoogleCloudRecommendationengineV1beta1GcsSource",
          "description": "Google Cloud Storage location for the input content."
        },
        "userEventInlineSource": {
          "$ref": "GoogleCloudRecommendationengineV1beta1UserEventInlineSource",
          "description": "The Inline source for the input content for UserEvents."
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ListCatalogItemsResponse": {
      "description": "Response message for ListCatalogItems method.",
      "id": "GoogleCloudRecommendationengineV1beta1ListCatalogItemsResponse",
      "properties": {
        "catalogItems": {
          "description": "The catalog items.",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItem"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "If empty, the list is complete. If nonempty, the token to pass to the next\nrequest's ListCatalogItemRequest.page_token.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ListCatalogsResponse": {
      "description": "Response for ListCatalogs method.",
      "id": "GoogleCloudRecommendationengineV1beta1ListCatalogsResponse",
      "properties": {
        "catalogs": {
          "description": "Output only. All the customer's catalogs.",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1Catalog"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Pagination token, if not returned indicates the last page.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ListPredictionApiKeyRegistrationsResponse": {
      "description": "Response message for the `ListPredictionApiKeyRegistrations`.",
      "id": "GoogleCloudRecommendationengineV1beta1ListPredictionApiKeyRegistrationsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If empty, the list is complete. If nonempty, pass the token to the next\nrequest's `ListPredictionApiKeysRegistrationsRequest.pageToken`.",
          "type": "string"
        },
        "predictionApiKeyRegistrations": {
          "description": "The list of registered API keys.",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ListUserEventsResponse": {
      "description": "Response message for ListUserEvents method.",
      "id": "GoogleCloudRecommendationengineV1beta1ListUserEventsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If empty, the list is complete. If nonempty, the token to pass to the next\nrequest's ListUserEvents.page_token.",
          "type": "string"
        },
        "userEvents": {
          "description": "The user events.",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1UserEvent"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1PredictRequest": {
      "description": "Request message for Predict method.",
      "id": "GoogleCloudRecommendationengineV1beta1PredictRequest",
      "properties": {
        "dryRun": {
          "description": "Optional. Use dryRun mode for this prediction query. If set to true, a\ndummy model will be used that returns arbitrary catalog items.\nNote that the dryRun mode should only be used for testing the API, or if\nthe model is not ready.",
          "type": "boolean"
        },
        "filter": {
          "description": "Optional. Filter for restricting prediction results. Accepts values for\ntags and the `filterOutOfStockItems` flag.\n\n * Tag expressions. Restricts predictions to items that match all of the\n   specified tags. Boolean operators `OR` and `NOT` are supported if the\n   expression is enclosed in parentheses, and must be separated from the\n   tag values by a space. `-\"tagA\"` is also supported and is equivalent to\n   `NOT \"tagA\"`. Tag values must be double quoted UTF-8 encoded strings\n   with a size limit of 1 KiB.\n\n * filterOutOfStockItems. Restricts predictions to items that do not have a\n   stockState value of OUT_OF_STOCK.\n\nExamples:\n\n * tag=(\"Red\" OR \"Blue\") tag=\"New-Arrival\" tag=(NOT \"promotional\")\n * filterOutOfStockItems  tag=(-\"promotional\")\n * filterOutOfStockItems\n\nIf your filter blocks all prediction results, generic (unfiltered) popular\nitems are returned. This behavior can be overridden by setting\n`strictFiltering` to true in `PredictRequest.params`.",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. The labels for the predict request.\n\n * Label keys can contain lowercase letters, digits and hyphens, must start\n   with a letter, and must end with a letter or digit.\n * Non-zero label values can contain lowercase letters, digits and hyphens,\n   must start with a letter, and must end with a letter or digit.\n * No more than 64 labels can be associated with a given request.\n\nSee https://goo.gl/xmQnxf for more information on and examples of labels.",
          "type": "object"
        },
        "pageSize": {
          "description": "Optional. Maximum number of results to return per page. Set this property\nto the number of prediction results required. If zero, the service will\nchoose a reasonable default.",
          "format": "int32",
          "type": "integer"
        },
        "pageToken": {
          "description": "Optional. The previous PredictResponse.next_page_token.",
          "type": "string"
        },
        "params": {
          "additionalProperties": {
            "type": "any"
          },
          "description": "Optional. Additional domain specific parameters for the predictions.\n\nAllowed values:\n\n* `returnCatalogItem`: Boolean. If set to true, the associated catalogItem\n   object will be returned in the\n  `PredictResponse.PredictionResult.itemMetadata` object in the method\n   response.\n* `returnItemScore`: Boolean. If set to true, the prediction 'score'\n   corresponding to each returned item will be set in the `metadata`\n   field in the prediction response. The given 'score' indicates the\n   probability of an item being clicked/purchased given the user's context\n   and history.\n* `strictFiltering`: Boolean. If set to true, the service will return empty\n   instead of generic (unfiltered) popular items if your filter blocks all\n   prediction results.",
          "type": "object"
        },
        "userEvent": {
          "$ref": "GoogleCloudRecommendationengineV1beta1UserEvent",
          "description": "Required. Context about the user, what they are looking at and what action\nthey took to trigger the predict request. Note that this user event detail\nwon't be ingested to userEvent logs. Thus, a separate userEvent write\nrequest is required for event logging."
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1PredictResponse": {
      "description": "Response message for predict method.",
      "id": "GoogleCloudRecommendationengineV1beta1PredictResponse",
      "properties": {
        "dryRun": {
          "description": "True if the dryRun property was set in the request.",
          "type": "boolean"
        },
        "itemsMissingInCatalog": {
          "description": "IDs of items in the request that were missing from the catalog.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "metadata": {
          "additionalProperties": {
            "type": "any"
          },
          "description": "Additional domain specific prediction response metadata.",
          "type": "object"
        },
        "nextPageToken": {
          "description": "If empty, the list is complete. If nonempty, the token to pass to the next\nrequest's PredictRequest.page_token.",
          "type": "string"
        },
        "recommendationToken": {
          "description": "A unique recommendation token. This should be included in the user event\nlogs resulting from this recommendation, which enables accurate attribution\nof recommendation model performance.",
          "type": "string"
        },
        "results": {
          "description": "A list of recommended items. The order represents the ranking (from the\nmost relevant item to the least).",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1PredictResponsePredictionResult"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1PredictResponsePredictionResult": {
      "description": "PredictionResult represents the recommendation prediction results.",
      "id": "GoogleCloudRecommendationengineV1beta1PredictResponsePredictionResult",
      "properties": {
        "id": {
          "description": "ID of the recommended catalog item",
          "type": "string"
        },
        "itemMetadata": {
          "additionalProperties": {
            "type": "any"
          },
          "description": "Additional item metadata / annotations.\n\nPossible values:\n\n* `catalogItem`: JSON representation of the catalogItem. Will be set if\n  `returnCatalogItem` is set to true in `PredictRequest.params`.\n* `score`: Prediction score in double value. Will be set if\n  `returnItemScore` is set to true in `PredictRequest.params`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration": {
      "description": "Registered Api Key.",
      "id": "GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration",
      "properties": {
        "apiKey": {
          "description": "The API key.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ProductCatalogItem": {
      "description": "ProductCatalogItem captures item metadata specific to retail products.",
      "id": "GoogleCloudRecommendationengineV1beta1ProductCatalogItem",
      "properties": {
        "availableQuantity": {
          "description": "Optional. The available quantity of the item.",
          "format": "int64",
          "type": "string"
        },
        "canonicalProductUri": {
          "description": "Optional. Canonical URL directly linking to the item detail page with a\nlength limit of 5 KiB..",
          "type": "string"
        },
        "costs": {
          "additionalProperties": {
            "format": "float",
            "type": "number"
          },
          "description": "Optional. A map to pass the costs associated with the product.\n\nFor example:\n{\"manufacturing\": 45.5} The profit of selling this item is computed like\nso:\n\n* If 'exactPrice' is provided, profit = displayPrice - sum(costs)\n* If 'priceRange' is provided, profit = minPrice - sum(costs)",
          "type": "object"
        },
        "currencyCode": {
          "description": "Optional. Only required if the price is set. Currency code for price/costs. Use\nthree-character ISO-4217 code.",
          "type": "string"
        },
        "exactPrice": {
          "$ref": "GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPrice",
          "description": "Optional. The exact product price."
        },
        "images": {
          "description": "Optional. Product images for the catalog item.",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1Image"
          },
          "type": "array"
        },
        "priceRange": {
          "$ref": "GoogleCloudRecommendationengineV1beta1ProductCatalogItemPriceRange",
          "description": "Optional. The product price range."
        },
        "stockState": {
          "description": "Optional. Online stock state of the catalog item. Default is `IN_STOCK`.",
          "enum": [
            "STOCK_STATE_UNSPECIFIED",
            "IN_STOCK",
            "OUT_OF_STOCK",
            "PREORDER",
            "BACKORDER"
          ],
          "enumDescriptions": [
            "Default item stock status. Should never be used.",
            "Item in stock.",
            "Item out of stock.",
            "Item that is in pre-order state.",
            "Item that is back-ordered (i.e. temporarily out of stock)."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPrice": {
      "description": "Exact product price.",
      "id": "GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPrice",
      "properties": {
        "displayPrice": {
          "description": "Optional. Display price of the product.",
          "format": "float",
          "type": "number"
        },
        "originalPrice": {
          "description": "Optional. Price of the product without any discount. If zero, by default\nset to be the 'displayPrice'.",
          "format": "float",
          "type": "number"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ProductCatalogItemPriceRange": {
      "description": "Product price range when there are a range of prices for different\nvariations of the same product.",
      "id": "GoogleCloudRecommendationengineV1beta1ProductCatalogItemPriceRange",
      "properties": {
        "max": {
          "description": "Required. The maximum product price.",
          "format": "float",
          "type": "number"
        },
        "min": {
          "description": "Required. The minimum product price.",
          "format": "float",
          "type": "number"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ProductDetail": {
      "description": "Detailed product information associated with a user event.",
      "id": "GoogleCloudRecommendationengineV1beta1ProductDetail",
      "properties": {
        "availableQuantity": {
          "description": "Optional. Quantity of the products in stock when a user event happens.\nOptional. If provided, this overrides the available quantity in Catalog for\nthis event. and can only be set if `stock_status` is set to `IN_STOCK`.\n\nNote that if an item is out of stock, you must set the `stock_state` field\nto be `OUT_OF_STOCK`. Leaving this field unspecified / as zero is not\nsufficient to mark the item out of stock.",
          "format": "int32",
          "type": "integer"
        },
        "currencyCode": {
          "description": "Optional. Currency code for price/costs. Use three-character ISO-4217\ncode. Required only if originalPrice or displayPrice is set.",
          "type": "string"
        },
        "displayPrice": {
          "description": "Optional. Display price of the product (e.g. discounted price). If\nprovided, this will override the display price in Catalog for this product.",
          "format": "float",
          "type": "number"
        },
        "id": {
          "description": "Required. Catalog item ID. UTF-8 encoded string with a length limit of 128\ncharacters.",
          "type": "string"
        },
        "itemAttributes": {
          "$ref": "GoogleCloudRecommendationengineV1beta1FeatureMap",
          "description": "Optional. Extra features associated with a product in the user event."
        },
        "originalPrice": {
          "description": "Optional. Original price of the product. If provided, this will override\nthe original price in Catalog for this product.",
          "format": "float",
          "type": "number"
        },
        "quantity": {
          "description": "Optional. Quantity of the product associated with the user event. For\nexample, this field will be 2 if two products are added to the shopping\ncart for `add-to-cart` event. Required for `add-to-cart`, `add-to-list`,\n`remove-from-cart`, `checkout-start`, `purchase-complete`, `refund` event\ntypes.",
          "format": "int32",
          "type": "integer"
        },
        "stockState": {
          "description": "Optional. Item stock state. If provided, this overrides the stock state\nin Catalog for items in this event.",
          "enum": [
            "STOCK_STATE_UNSPECIFIED",
            "IN_STOCK",
            "OUT_OF_STOCK",
            "PREORDER",
            "BACKORDER"
          ],
          "enumDescriptions": [
            "Default item stock status. Should never be used.",
            "Item in stock.",
            "Item out of stock.",
            "Item that is in pre-order state.",
            "Item that is back-ordered (i.e. temporarily out of stock)."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1ProductEventDetail": {
      "description": "ProductEventDetail captures user event information specific to retail\nproducts.",
      "id": "GoogleCloudRecommendationengineV1beta1ProductEventDetail",
      "properties": {
        "cartId": {
          "description": "Optional. The id or name of the associated shopping cart. This id is used\nto associate multiple items added or present in the cart before purchase.\n\nThis can only be set for `add-to-cart`, `remove-from-cart`,\n`checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events.",
          "type": "string"
        },
        "listId": {
          "description": "Required for `add-to-list` and `remove-from-list` events. The id or name of\nthe list that the item is being added to or removed from. Other event types\nshould not set this field.",
          "type": "string"
        },
        "pageCategories": {
          "description": "Required for `category-page-view` events. Other event types should not set\nthis field.\nThe categories associated with a category page.\nCategory pages include special pages such as sales or promotions. For\ninstance, a special sale page may have the category hierarchy:\ncategories : [\"Sales\", \"2017 Black Friday Deals\"].",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchy"
          },
          "type": "array"
        },
        "productDetails": {
          "description": "The main product details related to the event.\n\nThis field is required for the following event types:\n\n* `add-to-cart`\n* `add-to-list`\n* `checkout-start`\n* `detail-page-view`\n* `purchase-complete`\n* `refund`\n* `remove-from-cart`\n* `remove-from-list`\n\nThis field is optional for the following event types:\n\n* `page-visit`\n* `shopping-cart-page-view` - note that 'product_details' should be set for\n  this unless the shopping cart is empty.\n* `search` (highly encouraged)\n\nIn a `search` event, this field represents the products returned to the end\nuser on the current page (the end user may have not finished broswing the\nwhole page yet). When a new page is returned to the end user, after\npagination/filtering/ordering even for the same query, a new SEARCH event\nwith different product_details is desired. The end user may have not\nfinished broswing the whole page yet.\n\nThis field is not allowed for the following event types:\n\n* `category-page-view`\n* `home-page-view`",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1ProductDetail"
          },
          "type": "array"
        },
        "purchaseTransaction": {
          "$ref": "GoogleCloudRecommendationengineV1beta1PurchaseTransaction",
          "description": "Optional. A transaction represents the entire purchase transaction.\nRequired for `purchase-complete` events. Optional for `checkout-start`\nevents. Other event types should not set this field."
        },
        "searchQuery": {
          "description": "Required for `search` events. Other event types should not set this field.\nThe user's search query as UTF-8 encoded text with a length limit of 5 KiB.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1PurchaseTransaction": {
      "description": "A transaction represents the entire purchase transaction.",
      "id": "GoogleCloudRecommendationengineV1beta1PurchaseTransaction",
      "properties": {
        "costs": {
          "additionalProperties": {
            "format": "float",
            "type": "number"
          },
          "description": "Optional. All the costs associated with the product. These can be\nmanufacturing costs, shipping expenses not borne by the end user, or any\nother costs.\n\nTotal product cost such that\n  profit = revenue - (sum(taxes) + sum(costs))\nIf product_cost is not set, then\n  profit = revenue - tax - shipping - sum(CatalogItem.costs).\n\nIf CatalogItem.cost is not specified for one of the items, CatalogItem.cost\nbased profit *cannot* be calculated for this Transaction.",
          "type": "object"
        },
        "currencyCode": {
          "description": "Required. Currency code. Use three-character ISO-4217 code. This field\nis not required if the event type is `refund`.",
          "type": "string"
        },
        "id": {
          "description": "Optional. The transaction ID with a length limit of 128 bytes.",
          "type": "string"
        },
        "revenue": {
          "description": "Required. Total revenue or grand total associated with the transaction.\nThis value include shipping, tax, or other adjustments to total revenue\nthat you want to include as part of your revenue calculations. This field\nis not required if the event type is `refund`.",
          "format": "float",
          "type": "number"
        },
        "taxes": {
          "additionalProperties": {
            "format": "float",
            "type": "number"
          },
          "description": "Optional. All the taxes associated with the transaction.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1PurgeUserEventsMetadata": {
      "description": "Metadata related to the progress of the PurgeUserEvents operation.\nThis will be returned by the google.longrunning.Operation.metadata field.",
      "id": "GoogleCloudRecommendationengineV1beta1PurgeUserEventsMetadata",
      "properties": {
        "createTime": {
          "description": "Operation create time.",
          "format": "google-datetime",
          "type": "string"
        },
        "operationName": {
          "description": "The ID of the request / operation.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1PurgeUserEventsRequest": {
      "description": "Request message for PurgeUserEvents method.",
      "id": "GoogleCloudRecommendationengineV1beta1PurgeUserEventsRequest",
      "properties": {
        "filter": {
          "description": "Required. The filter string to specify the events to be deleted. Empty\nstring filter is not allowed. The eligible fields\nfor filtering are:\n\n* `eventType`: UserEvent.eventType field of type string.\n* `eventTime`: in ISO 8601 \"zulu\" format.\n* `visitorId`: field of type string. Specifying this will delete all\n  events associated with a visitor.\n* `userId`: field of type string. Specifying this will delete all events\n  associated with a user.\n\nExamples:\n\n* Deleting all events in a time range:\n  `eventTime \u003e \"2012-04-23T18:25:43.511Z\"\n  eventTime \u003c \"2012-04-23T18:30:43.511Z\"`\n* Deleting specific eventType in time range:\n  `eventTime \u003e \"2012-04-23T18:25:43.511Z\" eventType = \"detail-page-view\"`\n* Deleting all events for a specific visitor:\n  `visitorId = \"visitor1024\"`\n\nThe filtering fields are assumed to have an implicit AND.",
          "type": "string"
        },
        "force": {
          "description": "Optional. The default value is false. Override this flag to true to\nactually perform the purge. If the field is not set to true, a sampling of\nevents to be deleted will be returned.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1PurgeUserEventsResponse": {
      "description": "Response of the PurgeUserEventsRequest. If the long running operation is\nsuccessfully done, then this message is returned by the\ngoogle.longrunning.Operations.response field.",
      "id": "GoogleCloudRecommendationengineV1beta1PurgeUserEventsResponse",
      "properties": {
        "purgedEventsCount": {
          "description": "The total count of events purged as a result of the operation.",
          "format": "int64",
          "type": "string"
        },
        "userEventsSample": {
          "description": "A sampling of events deleted (or will be deleted) depending on the `force`\nproperty in the request. Max of 500 items will be returned.",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1UserEvent"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1RejoinUserEventsRequest": {
      "description": "Request message for CatalogRejoin method.",
      "id": "GoogleCloudRecommendationengineV1beta1RejoinUserEventsRequest",
      "properties": {
        "userEventRejoinScope": {
          "description": "Required. The type of the catalog rejoin to define the scope and range of the user\nevents to be rejoined with catalog items.",
          "enum": [
            "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED",
            "JOINED_EVENTS",
            "UNJOINED_EVENTS"
          ],
          "enumDescriptions": [
            "Rejoin catalogs with all events including both joined events and\nunjoined events.",
            "Only rejoin catalogs with joined events.",
            "Only rejoin catalogs with unjoined events."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1UserEvent": {
      "description": "UserEvent captures all metadata information recommendation engine needs to\nknow about how end users interact with customers' website.",
      "id": "GoogleCloudRecommendationengineV1beta1UserEvent",
      "properties": {
        "eventDetail": {
          "$ref": "GoogleCloudRecommendationengineV1beta1EventDetail",
          "description": "Optional. User event detailed information common across different\nrecommendation types."
        },
        "eventSource": {
          "description": "Optional. This field should *not* be set when using JavaScript pixel\nor the Recommendations AI Tag. Defaults to `EVENT_SOURCE_UNSPECIFIED`.",
          "enum": [
            "EVENT_SOURCE_UNSPECIFIED",
            "AUTOML",
            "ECOMMERCE",
            "BATCH_UPLOAD"
          ],
          "enumDescriptions": [
            "Unspecified event source.",
            "The event is ingested via a javascript pixel or Recommendations AI Tag\nthrough automl datalayer or JS Macros.",
            "The event is ingested via Recommendations AI Tag through Enhanced\nEcommerce datalayer.",
            "The event is ingested via Import user events API."
          ],
          "type": "string"
        },
        "eventTime": {
          "description": "Optional. Only required for ImportUserEvents method. Timestamp of user\nevent created.",
          "format": "google-datetime",
          "type": "string"
        },
        "eventType": {
          "description": "Required. User event type. Allowed values are:\n\n* `add-to-cart` Products being added to cart.\n* `add-to-list` Items being added to a list (shopping list, favorites\n  etc).\n* `category-page-view` Special pages such as sale or promotion pages\n  viewed.\n* `checkout-start` User starting a checkout process.\n* `detail-page-view` Products detail page viewed.\n* `home-page-view` Homepage viewed.\n* `page-visit` Generic page visits not included in the event types above.\n* `purchase-complete` User finishing a purchase.\n* `refund` Purchased items being refunded or returned.\n* `remove-from-cart` Products being removed from cart.\n* `remove-from-list` Items being removed from a list.\n* `search` Product search.\n* `shopping-cart-page-view` User viewing a shopping cart.\n* `impression` List of items displayed. Used by Google Tag Manager.",
          "type": "string"
        },
        "productEventDetail": {
          "$ref": "GoogleCloudRecommendationengineV1beta1ProductEventDetail",
          "description": "Optional. Retail product specific user event metadata.\n\nThis field is required for the following event types:\n\n* `add-to-cart`\n* `add-to-list`\n* `category-page-view`\n* `checkout-start`\n* `detail-page-view`\n* `purchase-complete`\n* `refund`\n* `remove-from-cart`\n* `remove-from-list`\n* `search`\n\nThis field is optional for the following event types:\n\n* `page-visit`\n* `shopping-cart-page-view` - note that 'product_event_detail' should be\n  set for this unless the shopping cart is empty.\n\nThis field is not allowed for the following event types:\n\n* `home-page-view`"
        },
        "userInfo": {
          "$ref": "GoogleCloudRecommendationengineV1beta1UserInfo",
          "description": "Required. User information."
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1UserEventImportSummary": {
      "description": "A summary of import result. The UserEventImportSummary summarizes\nthe import status for user events.",
      "id": "GoogleCloudRecommendationengineV1beta1UserEventImportSummary",
      "properties": {
        "joinedEventsCount": {
          "description": "Count of user events imported with complete existing catalog information.",
          "format": "int64",
          "type": "string"
        },
        "unjoinedEventsCount": {
          "description": "Count of user events imported, but with catalog information not found\nin the imported catalog.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1UserEventInlineSource": {
      "description": "The inline source for the input config for ImportUserEvents method.",
      "id": "GoogleCloudRecommendationengineV1beta1UserEventInlineSource",
      "properties": {
        "userEvents": {
          "description": "Optional. A list of user events to import. Recommended max of 10k items.",
          "items": {
            "$ref": "GoogleCloudRecommendationengineV1beta1UserEvent"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudRecommendationengineV1beta1UserInfo": {
      "description": "Information of end users.",
      "id": "GoogleCloudRecommendationengineV1beta1UserInfo",
      "properties": {
        "directUserRequest": {
          "description": "Optional. Indicates if the request is made directly from the end user\nin which case the user_agent and ip_address fields can be populated\nfrom the HTTP request. This should *not* be set when using the javascript\npixel. This flag should be set only if the API request is made directly\nfrom the end user such as a mobile app (and not if a gateway or a server is\nprocessing and pushing the user events).",
          "type": "boolean"
        },
        "ipAddress": {
          "description": "Optional. IP address of the user. This could be either IPv4 (e.g. 104.133.9.80) or\nIPv6 (e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334). This should *not* be\nset when using the javascript pixel or if `direct_user_request` is set.\nUsed to extract location information for personalization.",
          "type": "string"
        },
        "userAgent": {
          "description": "Optional. User agent as included in the HTTP header. UTF-8 encoded string\nwith a length limit of 1 KiB.\n\nThis should *not* be set when using the JavaScript pixel or if\n`directUserRequest` is set.",
          "type": "string"
        },
        "userId": {
          "description": "Optional. Unique identifier for logged-in user with a length limit of 128\nbytes. Required only for logged-in users.",
          "type": "string"
        },
        "visitorId": {
          "description": "Required. A unique identifier for tracking visitors with a length limit of\n128 bytes.\n\nFor example, this could be implemented with a http cookie, which should be\nable to uniquely identify a visitor on a single device. This unique\nidentifier should not change if the visitor log in/out of the website.\nMaximum length 128 bytes. Cannot be empty.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleLongrunningListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "id": "GoogleLongrunningListOperationsResponse",
      "properties": {
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "GoogleLongrunningOperation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleLongrunningOperation": {
      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
      "id": "GoogleLongrunningOperation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
          "type": "boolean"
        },
        "error": {
          "$ref": "GoogleRpcStatus",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "GoogleProtobufEmpty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "GoogleProtobufEmpty",
      "properties": {},
      "type": "object"
    },
    "GoogleRpcStatus": {
      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
      "id": "GoogleRpcStatus",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Recommendations AI",
  "version": "v1beta1",
  "version_module": true
}