{
  "ownerName": "Google",
  "kind": "discovery#restDescription",
  "basePath": "",
  "canonicalName": "Merchant",
  "batchPath": "batch",
  "fullyEncodeReservedExpansion": true,
  "baseUrl": "https://merchantapi.googleapis.com/",
  "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/",
  "documentationLink": "https://developers.google.com/merchant/api",
  "name": "merchantapi",
  "resources": {
    "accounts": {
      "resources": {
        "merchantReviews": {
          "methods": {
            "insert": {
              "description": "Inserts a review for your Merchant Center account. If the review already exists, then the review is replaced with the new instance.",
              "id": "merchantapi.accounts.merchantReviews.insert",
              "parameterOrder": [
                "parent"
              ],
              "path": "reviews/v1beta/{+parent}/merchantReviews:insert",
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "httpMethod": "POST",
              "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews:insert",
              "response": {
                "$ref": "MerchantReview"
              },
              "parameters": {
                "dataSource": {
                  "description": "Required. The data source of the [merchantreview](https://support.google.com/merchants/answer/7045996?sjid=5253581244217581976-EU) Format: `accounts/{account}/dataSources/{datasource}`.",
                  "type": "string",
                  "location": "query"
                },
                "parent": {
                  "location": "path",
                  "description": "Required. The account where the merchant review will be inserted. Format: accounts/{account}",
                  "required": true,
                  "type": "string",
                  "pattern": "^accounts/[^/]+$"
                }
              },
              "request": {
                "$ref": "MerchantReview"
              }
            },
            "list": {
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "GET",
              "response": {
                "$ref": "ListMerchantReviewsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "description": "Lists merchant reviews.",
              "parameters": {
                "pageToken": {
                  "description": "Optional. A page token, received from a previous `ListMerchantReviews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMerchantReviews` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "Required. The account to list merchant reviews for. Format: accounts/{account}"
                },
                "pageSize": {
                  "format": "int32",
                  "description": "Optional. The maximum number of merchant reviews to return. The service can return fewer than this value. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the maximum number of reviews is returned.",
                  "type": "integer",
                  "location": "query"
                }
              },
              "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews",
              "path": "reviews/v1beta/{+parent}/merchantReviews",
              "id": "merchantapi.accounts.merchantReviews.list"
            },
            "get": {
              "description": "Gets a merchant review.",
              "parameters": {
                "name": {
                  "description": "Required. The ID of the merchant review. Format: accounts/{account}/merchantReviews/{merchantReview}",
                  "location": "path",
                  "type": "string",
                  "required": true,
                  "pattern": "^accounts/[^/]+/merchantReviews/[^/]+$"
                }
              },
              "response": {
                "$ref": "MerchantReview"
              },
              "parameterOrder": [
                "name"
              ],
              "path": "reviews/v1beta/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews/{merchantReviewsId}",
              "id": "merchantapi.accounts.merchantReviews.get",
              "httpMethod": "GET"
            },
            "delete": {
              "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews/{merchantReviewsId}",
              "parameters": {
                "name": {
                  "type": "string",
                  "pattern": "^accounts/[^/]+/merchantReviews/[^/]+$",
                  "description": "Required. The ID of the merchant review. Format: accounts/{account}/merchantReviews/{merchantReview}",
                  "location": "path",
                  "required": true
                }
              },
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "path": "reviews/v1beta/{+name}",
              "description": "Deletes merchant review.",
              "httpMethod": "DELETE",
              "id": "merchantapi.accounts.merchantReviews.delete",
              "response": {
                "$ref": "Empty"
              }
            }
          }
        },
        "productReviews": {
          "methods": {
            "get": {
              "path": "reviews/v1beta/{+name}",
              "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews/{productReviewsId}",
              "id": "merchantapi.accounts.productReviews.get",
              "parameters": {
                "name": {
                  "location": "path",
                  "required": true,
                  "description": "Required. The ID of the merchant review. Format: accounts/{account}/productReviews/{productReview}",
                  "pattern": "^accounts/[^/]+/productReviews/[^/]+$",
                  "type": "string"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "description": "Gets a product review.",
              "response": {
                "$ref": "ProductReview"
              }
            },
            "insert": {
              "id": "merchantapi.accounts.productReviews.insert",
              "parameters": {
                "dataSource": {
                  "type": "string",
                  "description": "Required. Format: `accounts/{account}/dataSources/{datasource}`.",
                  "location": "query"
                },
                "parent": {
                  "description": "Required. The account where the product review will be inserted. Format: accounts/{account}",
                  "type": "string",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "location": "path"
                }
              },
              "response": {
                "$ref": "ProductReview"
              },
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "ProductReview"
              },
              "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews:insert",
              "path": "reviews/v1beta/{+parent}/productReviews:insert",
              "description": "Inserts a product review.",
              "httpMethod": "POST"
            },
            "delete": {
              "httpMethod": "DELETE",
              "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews/{productReviewsId}",
              "id": "merchantapi.accounts.productReviews.delete",
              "path": "reviews/v1beta/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "parameters": {
                "name": {
                  "required": true,
                  "location": "path",
                  "pattern": "^accounts/[^/]+/productReviews/[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the Product review. Format: accounts/{account}/productReviews/{productReview}"
                }
              },
              "response": {
                "$ref": "Empty"
              },
              "description": "Deletes a product review.",
              "parameterOrder": [
                "name"
              ]
            },
            "list": {
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "httpMethod": "GET",
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "ListProductReviewsResponse"
              },
              "description": "Lists product reviews.",
              "parameters": {
                "pageToken": {
                  "location": "query",
                  "description": "Optional. A page token, received from a previous `ListProductReviews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProductReviews` must match the call that provided the page token.",
                  "type": "string"
                },
                "parent": {
                  "location": "path",
                  "description": "Required. The account to list product reviews for. Format: accounts/{account}",
                  "required": true,
                  "type": "string",
                  "pattern": "^accounts/[^/]+$"
                },
                "pageSize": {
                  "type": "integer",
                  "format": "int32",
                  "location": "query",
                  "description": "Optional. The maximum number of products to return. The service may return fewer than this value."
                }
              },
              "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews",
              "path": "reviews/v1beta/{+parent}/productReviews",
              "id": "merchantapi.accounts.productReviews.list"
            }
          }
        }
      }
    }
  },
  "discoveryVersion": "v1",
  "parameters": {
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "callback": {
      "description": "JSONP",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "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"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "location": "query",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string",
      "enum": [
        "1",
        "2"
      ]
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "alt": {
      "description": "Data format for response.",
      "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",
      "default": "json",
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "key": {
      "type": "string",
      "location": "query",
      "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."
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    }
  },
  "version": "reviews_v1beta",
  "schemas": {
    "MerchantReviewItemLevelIssue": {
      "properties": {
        "reportingContext": {
          "readOnly": true,
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "type": "string",
          "enum": [
            "REPORTING_CONTEXT_ENUM_UNSPECIFIED",
            "SHOPPING_ADS",
            "DISCOVERY_ADS",
            "DEMAND_GEN_ADS",
            "DEMAND_GEN_ADS_DISCOVER_SURFACE",
            "VIDEO_ADS",
            "DISPLAY_ADS",
            "LOCAL_INVENTORY_ADS",
            "VEHICLE_INVENTORY_ADS",
            "FREE_LISTINGS",
            "FREE_LISTINGS_UCP_CHECKOUT",
            "FREE_LOCAL_LISTINGS",
            "FREE_LOCAL_VEHICLE_LISTINGS",
            "YOUTUBE_AFFILIATE",
            "YOUTUBE_SHOPPING",
            "CLOUD_RETAIL",
            "LOCAL_CLOUD_RETAIL",
            "PRODUCT_REVIEWS",
            "MERCHANT_REVIEWS",
            "YOUTUBE_CHECKOUT",
            "RENTAL_ADS"
          ],
          "description": "Output only. The reporting context the issue applies to.",
          "enumDescriptions": [
            "Not specified.",
            "[Shopping ads](https://support.google.com/merchants/answer/6149970).",
            "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).",
            "[Video ads](https://support.google.com/google-ads/answer/6340491).",
            "[Display ads](https://support.google.com/merchants/answer/6069387).",
            "[Local inventory ads](https://support.google.com/merchants/answer/3271956).",
            "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).",
            "[Free product listings](https://support.google.com/merchants/answer/9199328).",
            "[Free product listings on UCP checkout](https://developers.google.com/merchant/ucp).",
            "[Free local product listings](https://support.google.com/merchants/answer/9825611).",
            "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).",
            "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).",
            "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).",
            "[Cloud retail](https://cloud.google.com/solutions/retail).",
            "[Local cloud retail](https://cloud.google.com/solutions/retail).",
            "[Product Reviews](https://support.google.com/merchants/answer/14620732).",
            "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).",
            "YouTube Checkout .",
            "Real Estate Rental Ads. ."
          ]
        },
        "documentation": {
          "description": "Output only. The URL of a web page to help with resolving this issue.",
          "type": "string",
          "readOnly": true
        },
        "severity": {
          "readOnly": true,
          "enumDescriptions": [
            "Not specified.",
            "This issue represents a warning and does not have a direct affect on the merchant review.",
            "Issue disapproves the merchant review."
          ],
          "description": "Output only. How this issue affects serving of the merchant review.",
          "type": "string",
          "enum": [
            "SEVERITY_UNSPECIFIED",
            "NOT_IMPACTED",
            "DISAPPROVED"
          ]
        },
        "resolution": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Whether the issue can be resolved by the merchant."
        },
        "description": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. A short issue description in English."
        },
        "detail": {
          "type": "string",
          "description": "Output only. A detailed issue description in English.",
          "readOnly": true
        },
        "attribute": {
          "description": "Output only. The attribute's name, if the issue is caused by a single attribute.",
          "type": "string",
          "readOnly": true
        },
        "code": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The error code of the issue."
        }
      },
      "id": "MerchantReviewItemLevelIssue",
      "description": "The ItemLevelIssue of the merchant review status.",
      "type": "object"
    },
    "MerchantReviewAttributes": {
      "description": "Attributes.",
      "id": "MerchantReviewAttributes",
      "properties": {
        "reviewerId": {
          "type": "string",
          "description": "Optional. A permanent, unique identifier for the author of the review in the publisher's system."
        },
        "merchantDisplayName": {
          "description": "Optional. Human-readable display name for the merchant.",
          "type": "string"
        },
        "collectionMethod": {
          "enumDescriptions": [
            "Collection method unspecified.",
            "The user was not responding to a specific solicitation when they submitted the review.",
            "The user submitted the review in response to a solicitation when the user placed an order.",
            "The user submitted the review in response to a solicitation after fulfillment of the user's order."
          ],
          "description": "Optional. The method used to collect the review.",
          "type": "string",
          "enum": [
            "COLLECTION_METHOD_UNSPECIFIED",
            "MERCHANT_UNSOLICITED",
            "POINT_OF_SALE",
            "AFTER_FULFILLMENT"
          ]
        },
        "maxRating": {
          "description": "Optional. The maximum possible number for the rating. The value of the max rating must be greater than the value of the min rating.",
          "format": "int64",
          "type": "string"
        },
        "minRating": {
          "format": "int64",
          "type": "string",
          "description": "Optional. The minimum possible number for the rating. This should be the worst possible rating and should not be a value for no rating."
        },
        "merchantId": {
          "description": "Required. Must be unique and stable across all requests. In other words, if a request today and another 90 days ago refer to the same merchant, they must have the same id.",
          "type": "string"
        },
        "rating": {
          "type": "number",
          "description": "Optional. The reviewer's overall rating of the merchant.",
          "format": "double"
        },
        "merchantRatingLink": {
          "description": "Optional. URL to the landing page that hosts the reviews for this merchant. Do not use a redirect URL.",
          "type": "string"
        },
        "isAnonymous": {
          "description": "Optional. Set to true if the reviewer should remain anonymous.",
          "type": "boolean"
        },
        "reviewTime": {
          "description": "Required. The timestamp indicating when the review was written.",
          "format": "google-datetime",
          "type": "string"
        },
        "merchantLink": {
          "description": "Optional. URL to the merchant's main website. Do not use a redirect URL for this value. In other words, the value should point directly to the merchant's site.",
          "type": "string"
        },
        "reviewLanguage": {
          "type": "string",
          "description": "Optional. The language of the review defined by BCP-47 language code."
        },
        "content": {
          "type": "string",
          "description": "Required. This should be any freeform text provided by the user and should not be truncated. If multiple responses to different questions are provided, all responses should be included, with the minimal context for the responses to make sense. Context should not be provided if questions were left unanswered."
        },
        "reviewCountry": {
          "description": "Optional. The country where the reviewer made the order defined by ISO 3166-1 Alpha-2 Country Code.",
          "type": "string"
        },
        "title": {
          "description": "Optional. The title of the review.",
          "type": "string"
        },
        "reviewerUsername": {
          "description": "Optional. Display name of the review author.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MerchantReviewDestinationStatus": {
      "type": "object",
      "properties": {
        "reportingContext": {
          "enumDescriptions": [
            "Not specified.",
            "[Shopping ads](https://support.google.com/merchants/answer/6149970).",
            "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).",
            "[Video ads](https://support.google.com/google-ads/answer/6340491).",
            "[Display ads](https://support.google.com/merchants/answer/6069387).",
            "[Local inventory ads](https://support.google.com/merchants/answer/3271956).",
            "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).",
            "[Free product listings](https://support.google.com/merchants/answer/9199328).",
            "[Free product listings on UCP checkout](https://developers.google.com/merchant/ucp).",
            "[Free local product listings](https://support.google.com/merchants/answer/9825611).",
            "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).",
            "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).",
            "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).",
            "[Cloud retail](https://cloud.google.com/solutions/retail).",
            "[Local cloud retail](https://cloud.google.com/solutions/retail).",
            "[Product Reviews](https://support.google.com/merchants/answer/14620732).",
            "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).",
            "YouTube Checkout .",
            "Real Estate Rental Ads. ."
          ],
          "description": "Output only. The name of the reporting context.",
          "readOnly": true,
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "type": "string",
          "enum": [
            "REPORTING_CONTEXT_ENUM_UNSPECIFIED",
            "SHOPPING_ADS",
            "DISCOVERY_ADS",
            "DEMAND_GEN_ADS",
            "DEMAND_GEN_ADS_DISCOVER_SURFACE",
            "VIDEO_ADS",
            "DISPLAY_ADS",
            "LOCAL_INVENTORY_ADS",
            "VEHICLE_INVENTORY_ADS",
            "FREE_LISTINGS",
            "FREE_LISTINGS_UCP_CHECKOUT",
            "FREE_LOCAL_LISTINGS",
            "FREE_LOCAL_VEHICLE_LISTINGS",
            "YOUTUBE_AFFILIATE",
            "YOUTUBE_SHOPPING",
            "CLOUD_RETAIL",
            "LOCAL_CLOUD_RETAIL",
            "PRODUCT_REVIEWS",
            "MERCHANT_REVIEWS",
            "YOUTUBE_CHECKOUT",
            "RENTAL_ADS"
          ]
        }
      },
      "id": "MerchantReviewDestinationStatus",
      "description": "The destination status of the merchant review status."
    },
    "ListMerchantReviewsResponse": {
      "id": "ListMerchantReviewsResponse",
      "description": "Response message for the `ListMerchantsReview` method.",
      "type": "object",
      "properties": {
        "merchantReviews": {
          "type": "array",
          "description": "The merchant review.",
          "items": {
            "$ref": "MerchantReview"
          }
        },
        "nextPageToken": {
          "description": "The token to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "CustomAttribute": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the attribute."
        },
        "value": {
          "type": "string",
          "description": "The value of the attribute. If `value` is not empty, `group_values` must be empty."
        },
        "groupValues": {
          "description": "Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.",
          "items": {
            "$ref": "CustomAttribute"
          },
          "type": "array"
        }
      },
      "id": "CustomAttribute",
      "description": "A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty."
    },
    "ReviewLink": {
      "description": "The URI of the review landing page.",
      "id": "ReviewLink",
      "properties": {
        "type": {
          "description": "Optional. Type of the review URI.",
          "type": "string",
          "enum": [
            "TYPE_UNSPECIFIED",
            "SINGLETON",
            "GROUP"
          ],
          "enumDescriptions": [
            "Type unspecified.",
            "The review page contains only this single review.",
            "The review page contains a group of reviews including this review."
          ]
        },
        "link": {
          "type": "string",
          "description": "Optional. The URI of the review landing page. For example: `http://www.example.com/review_5.html`."
        }
      },
      "type": "object"
    },
    "ProductStatusChangeMessage": {
      "type": "object",
      "description": "The message that the merchant will receive to notify about product status change event",
      "id": "ProductStatusChangeMessage",
      "properties": {
        "eventTime": {
          "format": "google-datetime",
          "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.",
          "type": "string"
        },
        "attribute": {
          "description": "The attribute in the resource that changed, in this case it will be always `Status`.",
          "enumDescriptions": [
            "Unspecified attribute",
            "Status of the changed entity"
          ],
          "type": "string",
          "enum": [
            "ATTRIBUTE_UNSPECIFIED",
            "STATUS"
          ]
        },
        "expirationTime": {
          "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.",
          "type": "string",
          "format": "google-datetime"
        },
        "account": {
          "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`",
          "type": "string"
        },
        "resourceId": {
          "description": "The product id.",
          "type": "string"
        },
        "changes": {
          "items": {
            "$ref": "ProductChange"
          },
          "description": "A message to describe the change that happened to the product",
          "type": "array"
        },
        "resource": {
          "description": "The product name. Format: `accounts/{account}/products/{product}`",
          "type": "string"
        },
        "resourceType": {
          "description": "The resource that changed, in this case it will always be `Product`.",
          "enumDescriptions": [
            "Unspecified resource",
            "Resource type : product",
            "Account service"
          ],
          "type": "string",
          "enum": [
            "RESOURCE_UNSPECIFIED",
            "PRODUCT",
            "ACCOUNT_SERVICE"
          ]
        },
        "managingAccount": {
          "type": "string",
          "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`"
        }
      }
    },
    "ProductReviewStatus": {
      "properties": {
        "lastUpdateTime": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.",
          "format": "google-datetime"
        },
        "destinationStatuses": {
          "readOnly": true,
          "type": "array",
          "description": "Output only. The intended destinations for the product review.",
          "items": {
            "$ref": "ProductReviewDestinationStatus"
          }
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format."
        },
        "itemLevelIssues": {
          "items": {
            "$ref": "ProductReviewItemLevelIssue"
          },
          "description": "Output only. A list of all issues associated with the product review.",
          "type": "array",
          "readOnly": true
        }
      },
      "id": "ProductReviewStatus",
      "type": "object",
      "description": "Product review status."
    },
    "ProductChange": {
      "properties": {
        "oldValue": {
          "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)",
          "type": "string"
        },
        "newValue": {
          "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)",
          "type": "string"
        },
        "reportingContext": {
          "type": "string",
          "enum": [
            "REPORTING_CONTEXT_ENUM_UNSPECIFIED",
            "SHOPPING_ADS",
            "DISCOVERY_ADS",
            "DEMAND_GEN_ADS",
            "DEMAND_GEN_ADS_DISCOVER_SURFACE",
            "VIDEO_ADS",
            "DISPLAY_ADS",
            "LOCAL_INVENTORY_ADS",
            "VEHICLE_INVENTORY_ADS",
            "FREE_LISTINGS",
            "FREE_LISTINGS_UCP_CHECKOUT",
            "FREE_LOCAL_LISTINGS",
            "FREE_LOCAL_VEHICLE_LISTINGS",
            "YOUTUBE_AFFILIATE",
            "YOUTUBE_SHOPPING",
            "CLOUD_RETAIL",
            "LOCAL_CLOUD_RETAIL",
            "PRODUCT_REVIEWS",
            "MERCHANT_REVIEWS",
            "YOUTUBE_CHECKOUT",
            "RENTAL_ADS"
          ],
          "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)",
          "enumDescriptions": [
            "Not specified.",
            "[Shopping ads](https://support.google.com/merchants/answer/6149970).",
            "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).",
            "[Video ads](https://support.google.com/google-ads/answer/6340491).",
            "[Display ads](https://support.google.com/merchants/answer/6069387).",
            "[Local inventory ads](https://support.google.com/merchants/answer/3271956).",
            "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).",
            "[Free product listings](https://support.google.com/merchants/answer/9199328).",
            "[Free product listings on UCP checkout](https://developers.google.com/merchant/ucp).",
            "[Free local product listings](https://support.google.com/merchants/answer/9825611).",
            "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).",
            "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).",
            "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).",
            "[Cloud retail](https://cloud.google.com/solutions/retail).",
            "[Local cloud retail](https://cloud.google.com/solutions/retail).",
            "[Product Reviews](https://support.google.com/merchants/answer/14620732).",
            "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).",
            "YouTube Checkout .",
            "Real Estate Rental Ads. ."
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ]
        },
        "regionCode": {
          "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format.",
          "type": "string"
        }
      },
      "id": "ProductChange",
      "type": "object",
      "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context."
    },
    "ProductReviewDestinationStatus": {
      "id": "ProductReviewDestinationStatus",
      "properties": {
        "reportingContext": {
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enumDescriptions": [
            "Not specified.",
            "[Shopping ads](https://support.google.com/merchants/answer/6149970).",
            "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).",
            "[Video ads](https://support.google.com/google-ads/answer/6340491).",
            "[Display ads](https://support.google.com/merchants/answer/6069387).",
            "[Local inventory ads](https://support.google.com/merchants/answer/3271956).",
            "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).",
            "[Free product listings](https://support.google.com/merchants/answer/9199328).",
            "[Free product listings on UCP checkout](https://developers.google.com/merchant/ucp).",
            "[Free local product listings](https://support.google.com/merchants/answer/9825611).",
            "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).",
            "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).",
            "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).",
            "[Cloud retail](https://cloud.google.com/solutions/retail).",
            "[Local cloud retail](https://cloud.google.com/solutions/retail).",
            "[Product Reviews](https://support.google.com/merchants/answer/14620732).",
            "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).",
            "YouTube Checkout .",
            "Real Estate Rental Ads. ."
          ],
          "readOnly": true,
          "type": "string",
          "enum": [
            "REPORTING_CONTEXT_ENUM_UNSPECIFIED",
            "SHOPPING_ADS",
            "DISCOVERY_ADS",
            "DEMAND_GEN_ADS",
            "DEMAND_GEN_ADS_DISCOVER_SURFACE",
            "VIDEO_ADS",
            "DISPLAY_ADS",
            "LOCAL_INVENTORY_ADS",
            "VEHICLE_INVENTORY_ADS",
            "FREE_LISTINGS",
            "FREE_LISTINGS_UCP_CHECKOUT",
            "FREE_LOCAL_LISTINGS",
            "FREE_LOCAL_VEHICLE_LISTINGS",
            "YOUTUBE_AFFILIATE",
            "YOUTUBE_SHOPPING",
            "CLOUD_RETAIL",
            "LOCAL_CLOUD_RETAIL",
            "PRODUCT_REVIEWS",
            "MERCHANT_REVIEWS",
            "YOUTUBE_CHECKOUT",
            "RENTAL_ADS"
          ],
          "description": "Output only. The name of the reporting context."
        }
      },
      "type": "object",
      "description": "The destination status of the product review status."
    },
    "ListProductReviewsResponse": {
      "type": "object",
      "description": "response message for the ListProductReviews method.",
      "properties": {
        "productReviews": {
          "type": "array",
          "description": "The product review.",
          "items": {
            "$ref": "ProductReview"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      },
      "id": "ListProductReviewsResponse"
    },
    "ProductReviewItemLevelIssue": {
      "id": "ProductReviewItemLevelIssue",
      "type": "object",
      "description": "The ItemLevelIssue of the product review status.",
      "properties": {
        "description": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. A short issue description in English."
        },
        "detail": {
          "type": "string",
          "description": "Output only. A detailed issue description in English.",
          "readOnly": true
        },
        "attribute": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The attribute's name, if the issue is caused by a single attribute."
        },
        "severity": {
          "readOnly": true,
          "description": "Output only. How this issue affects serving of the product review.",
          "type": "string",
          "enum": [
            "SEVERITY_UNSPECIFIED",
            "NOT_IMPACTED",
            "DISAPPROVED"
          ],
          "enumDescriptions": [
            "Not specified.",
            "This issue represents a warning and does not have a direct affect on the product review.",
            "Issue disapproves the product review."
          ]
        },
        "reportingContext": {
          "type": "string",
          "enum": [
            "REPORTING_CONTEXT_ENUM_UNSPECIFIED",
            "SHOPPING_ADS",
            "DISCOVERY_ADS",
            "DEMAND_GEN_ADS",
            "DEMAND_GEN_ADS_DISCOVER_SURFACE",
            "VIDEO_ADS",
            "DISPLAY_ADS",
            "LOCAL_INVENTORY_ADS",
            "VEHICLE_INVENTORY_ADS",
            "FREE_LISTINGS",
            "FREE_LISTINGS_UCP_CHECKOUT",
            "FREE_LOCAL_LISTINGS",
            "FREE_LOCAL_VEHICLE_LISTINGS",
            "YOUTUBE_AFFILIATE",
            "YOUTUBE_SHOPPING",
            "CLOUD_RETAIL",
            "LOCAL_CLOUD_RETAIL",
            "PRODUCT_REVIEWS",
            "MERCHANT_REVIEWS",
            "YOUTUBE_CHECKOUT",
            "RENTAL_ADS"
          ],
          "description": "Output only. The reporting context the issue applies to.",
          "readOnly": true,
          "enumDescriptions": [
            "Not specified.",
            "[Shopping ads](https://support.google.com/merchants/answer/6149970).",
            "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).",
            "[Video ads](https://support.google.com/google-ads/answer/6340491).",
            "[Display ads](https://support.google.com/merchants/answer/6069387).",
            "[Local inventory ads](https://support.google.com/merchants/answer/3271956).",
            "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).",
            "[Free product listings](https://support.google.com/merchants/answer/9199328).",
            "[Free product listings on UCP checkout](https://developers.google.com/merchant/ucp).",
            "[Free local product listings](https://support.google.com/merchants/answer/9825611).",
            "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).",
            "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).",
            "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).",
            "[Cloud retail](https://cloud.google.com/solutions/retail).",
            "[Local cloud retail](https://cloud.google.com/solutions/retail).",
            "[Product Reviews](https://support.google.com/merchants/answer/14620732).",
            "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).",
            "YouTube Checkout .",
            "Real Estate Rental Ads. ."
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ]
        },
        "resolution": {
          "description": "Output only. Whether the issue can be resolved by the merchant.",
          "type": "string",
          "readOnly": true
        },
        "code": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The error code of the issue."
        },
        "documentation": {
          "readOnly": true,
          "description": "Output only. The URL of a web page to help with resolving this issue.",
          "type": "string"
        }
      }
    },
    "MerchantReview": {
      "id": "MerchantReview",
      "description": "A review for a merchant. For more information, see [Introduction to Merchant Review Feeds](https://developers.google.com/merchant-review-feeds)",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Identifier. The name of the merchant review. Format: `\"{merchantreview.name=accounts/{account}/merchantReviews/{merchantReview}}\"`"
        },
        "merchantReviewAttributes": {
          "$ref": "MerchantReviewAttributes",
          "description": "Optional. A list of merchant review attributes."
        },
        "dataSource": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The primary data source of the merchant review."
        },
        "merchantReviewId": {
          "description": "Required. The user provided merchant review ID to uniquely identify the merchant review.",
          "type": "string"
        },
        "customAttributes": {
          "description": "Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API, such as experimental attributes. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion.",
          "items": {
            "$ref": "CustomAttribute"
          },
          "type": "array"
        },
        "merchantReviewStatus": {
          "readOnly": true,
          "$ref": "MerchantReviewStatus",
          "description": "Output only. The status of a merchant review, data validation issues, that is, information about a merchant review computed asynchronously."
        }
      }
    },
    "ProductReview": {
      "type": "object",
      "properties": {
        "productReviewId": {
          "description": "Required. The permanent, unique identifier for the product review in the publisher’s system.",
          "type": "string"
        },
        "dataSource": {
          "type": "string",
          "description": "Output only. The primary data source of the product review.",
          "readOnly": true
        },
        "customAttributes": {
          "type": "array",
          "items": {
            "$ref": "CustomAttribute"
          },
          "description": "Optional. A list of custom (merchant-provided) attributes."
        },
        "productReviewAttributes": {
          "description": "Optional. A list of product review attributes.",
          "$ref": "ProductReviewAttributes"
        },
        "name": {
          "type": "string",
          "description": "Identifier. The name of the product review. Format: `\"{productreview.name=accounts/{account}/productReviews/{productReview}}\"`"
        },
        "productReviewStatus": {
          "description": "Output only. The status of a product review, data validation issues, that is, information about a product review computed asynchronously.",
          "$ref": "ProductReviewStatus",
          "readOnly": true
        }
      },
      "description": "A review for a product. For more information, see [Introduction to Product Review Feeds](https://developers.google.com/product-review-feeds)",
      "id": "ProductReview"
    },
    "MerchantReviewStatus": {
      "id": "MerchantReviewStatus",
      "type": "object",
      "properties": {
        "itemLevelIssues": {
          "description": "Output only. A list of all issues associated with the merchant review.",
          "readOnly": true,
          "items": {
            "$ref": "MerchantReviewItemLevelIssue"
          },
          "type": "array"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.",
          "format": "google-datetime"
        },
        "destinationStatuses": {
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "MerchantReviewDestinationStatus"
          },
          "description": "Output only. The intended destinations for the merchant review."
        },
        "lastUpdateTime": {
          "readOnly": true,
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format."
        }
      },
      "description": "The status of a merchant review, data validation issues, that is, information about a merchant review computed asynchronously."
    },
    "ProductReviewAttributes": {
      "description": "Attributes.",
      "id": "ProductReviewAttributes",
      "properties": {
        "reviewCountry": {
          "description": "Optional. The country of the review defined by ISO 3166-1 Alpha-2 Country Code.",
          "type": "string"
        },
        "transactionId": {
          "type": "string",
          "description": "Optional. A permanent, unique identifier for the transaction associated with the review in the publisher's system. This ID can be used to indicate that multiple reviews are associated with the same transaction."
        },
        "brands": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. Contains brand names associated with a product."
        },
        "collectionMethod": {
          "enumDescriptions": [
            "Collection method unspecified.",
            "The user was not responding to a specific solicitation when they submitted the review.",
            "The user submitted the review in response to a solicitation after fulfillment of the user's order."
          ],
          "description": "Optional. The method used to collect the review.",
          "type": "string",
          "enum": [
            "COLLECTION_METHOD_UNSPECIFIED",
            "UNSOLICITED",
            "POST_FULFILLMENT"
          ]
        },
        "reviewTime": {
          "description": "Required. The timestamp indicating when the review was written.",
          "format": "google-datetime",
          "type": "string"
        },
        "rating": {
          "format": "double",
          "type": "number",
          "description": "Optional. The reviewer's overall rating of the product."
        },
        "reviewLink": {
          "description": "Optional. The URI of the review landing page.",
          "$ref": "ReviewLink"
        },
        "skus": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. Contains SKUs (stock keeping units) associated with a product. Often this matches the product Offer Id in the product feed."
        },
        "subclientName": {
          "description": "Optional. The name of the subclient of the product reviews. The subclient is an identifier of the product review source. It should be equivalent to the directory provided in the file data source path.",
          "type": "string"
        },
        "maxRating": {
          "type": "string",
          "description": "Optional. The maximum possible number for the rating. The value of the max rating must be greater than the value of the min attribute.",
          "format": "int64"
        },
        "isIncentivizedReview": {
          "description": "Optional. Indicates whether the review is incentivized.",
          "type": "boolean"
        },
        "productLinks": {
          "type": "array",
          "description": "Optional. The URI of the product. This URI can have the same value as the `review_link` element, if the review URI and the product URI are the same.",
          "items": {
            "type": "string"
          }
        },
        "title": {
          "type": "string",
          "description": "Optional. The title of the review."
        },
        "reviewerId": {
          "type": "string",
          "description": "Optional. The author of the product review. A permanent, unique identifier for the author of the review in the publisher's system."
        },
        "reviewerImageLinks": {
          "description": "Optional. A URI to an image of the reviewed product created by the review author. The URI does not have to end with an image file extension.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reviewerIsAnonymous": {
          "type": "boolean",
          "description": "Optional. Set to true if the reviewer should remain anonymous."
        },
        "cons": {
          "description": "Optional. Contains the disadvantages based on the opinion of the reviewer. Omit boilerplate text like \"con:\" unless it was written by the reviewer.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "isVerifiedPurchase": {
          "description": "Optional. Indicates whether the reviewer's purchase is verified.",
          "type": "boolean"
        },
        "aggregatorName": {
          "type": "string",
          "description": "Optional. The name of the aggregator of the product reviews. A publisher may use a reviews aggregator to manage reviews and provide the feeds. This element indicates the use of an aggregator and contains information about the aggregator."
        },
        "asins": {
          "items": {
            "type": "string"
          },
          "description": "Optional. Contains ASINs (Amazon Standard Identification Numbers) associated with a product.",
          "type": "array"
        },
        "gtins": {
          "items": {
            "type": "string"
          },
          "description": "Optional. Contains GTINs (global trade item numbers) associated with a product. Sub-types of GTINs (e.g. UPC, EAN, ISBN, JAN) are supported.",
          "type": "array"
        },
        "reviewerUsername": {
          "type": "string",
          "description": "Optional. The name of the reviewer of the product review."
        },
        "publisherFavicon": {
          "description": "Optional. A link to the company favicon of the publisher. The image dimensions should be favicon size: 16x16 pixels. The image format should be GIF, JPG or PNG.",
          "type": "string"
        },
        "content": {
          "type": "string",
          "description": "Optional. The content of the review. If empty, the content might still get populated from pros and cons."
        },
        "publisherName": {
          "type": "string",
          "description": "Optional. The name of the publisher of the product reviews. The information about the publisher, which may be a retailer, manufacturer, reviews service company, or any entity that publishes product reviews."
        },
        "isSpam": {
          "description": "Optional. Indicates whether the review is marked as spam in the publisher's system.",
          "type": "boolean"
        },
        "minRating": {
          "description": "Optional. Contains the ratings associated with the review. The minimum possible number for the rating. This should be the worst possible rating and should not be a value for no rating.",
          "type": "string",
          "format": "int64"
        },
        "productNames": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. Descriptive name of a product."
        },
        "pros": {
          "type": "array",
          "description": "Optional. Contains the advantages based on the opinion of the reviewer. Omit boilerplate text like \"pro:\" unless it was written by the reviewer.",
          "items": {
            "type": "string"
          }
        },
        "mpns": {
          "items": {
            "type": "string"
          },
          "description": "Optional. Contains MPNs (manufacturer part numbers) associated with a product.",
          "type": "array"
        },
        "reviewLanguage": {
          "type": "string",
          "description": "Optional. The language of the review defined by BCP-47 language code."
        }
      },
      "type": "object"
    },
    "Empty": {
      "id": "Empty",
      "type": "object",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "properties": {}
    }
  },
  "revision": "20260930",
  "ownerDomain": "google.com",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/content": {
          "description": "Manage your product listings and accounts for Google Shopping"
        }
      }
    }
  },
  "version_module": true,
  "servicePath": "",
  "protocol": "rest",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "id": "merchantapi:reviews_v1beta",
  "description": "Programmatically manage your Merchant Center Accounts.",
  "title": "Merchant API",
  "rootUrl": "https://merchantapi.googleapis.com/"
}
