{
  "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-ai/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": "20200728",
  "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": "Optional. Intermediate Cloud Storage directory used for the import. Can be specified\nif one wants to have the BigQuery export to a specific Cloud Storage\ndirectory.",
          "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, nothing will be returned. If\nyou want generic (unfiltered) popular items to be returned instead, set\n`strictFiltering` to false 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. True by default. If set to false, the service\n   will return generic (unfiltered) popular items instead of empty if your\n   filter blocks all 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
}