{
  "baseUrl": "https://merchantapi.googleapis.com/",
  "fullyEncodeReservedExpansion": true,
  "kind": "discovery#restDescription",
  "basePath": "",
  "rootUrl": "https://merchantapi.googleapis.com/",
  "name": "merchantapi",
  "schemas": {
    "RgbColor": {
      "id": "RgbColor",
      "properties": {
        "red": {
          "format": "int32",
          "type": "integer",
          "description": "Optional. Values in [0, 255]."
        },
        "green": {
          "description": "Optional. Values in [0, 255].",
          "type": "integer",
          "format": "int32"
        },
        "blue": {
          "format": "int32",
          "description": "Optional. Values in [0, 255].",
          "type": "integer"
        }
      },
      "description": "Represents a color in RGB format.",
      "type": "object"
    },
    "ProductStatusChangeMessage": {
      "description": "The message that the merchant will receive to notify about product status change event",
      "type": "object",
      "properties": {
        "changes": {
          "items": {
            "$ref": "ProductChange"
          },
          "type": "array",
          "description": "A message to describe the change that happened to the product"
        },
        "resource": {
          "type": "string",
          "description": "The product name. Format: `accounts/{account}/products/{product}`"
        },
        "attribute": {
          "description": "The attribute in the resource that changed, in this case it will be always `Status`.",
          "type": "string",
          "enum": [
            "ATTRIBUTE_UNSPECIFIED",
            "STATUS"
          ],
          "enumDescriptions": [
            "Unspecified attribute",
            "Status of the changed entity"
          ]
        },
        "eventTime": {
          "type": "string",
          "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.",
          "format": "google-datetime"
        },
        "resourceId": {
          "description": "The product id.",
          "type": "string"
        },
        "expirationTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event."
        },
        "account": {
          "type": "string",
          "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`"
        },
        "resourceType": {
          "enumDescriptions": [
            "Unspecified resource",
            "Resource type : product",
            "Account service"
          ],
          "description": "The resource that changed, in this case it will always be `Product`.",
          "type": "string",
          "enum": [
            "RESOURCE_UNSPECIFIED",
            "PRODUCT",
            "ACCOUNT_SERVICE"
          ]
        },
        "managingAccount": {
          "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}`",
          "type": "string"
        }
      },
      "id": "ProductStatusChangeMessage"
    },
    "GenerateProductImageBackgroundResponse": {
      "properties": {
        "generatedImage": {
          "description": "The generated output image.",
          "$ref": "GeneratedImage"
        }
      },
      "type": "object",
      "id": "GenerateProductImageBackgroundResponse",
      "description": "Response message for the GenerateProductImageBackground method."
    },
    "GenerateProductImageBackgroundRequest": {
      "properties": {
        "outputConfig": {
          "description": "Optional. Configuration for how the output image should be returned.",
          "$ref": "OutputImageConfig"
        },
        "inputImage": {
          "description": "Required. The input image.",
          "$ref": "InputImage"
        },
        "config": {
          "$ref": "GenerateImageBackgroundConfig",
          "description": "Required. Configuration parameters for the generation of the background."
        }
      },
      "description": "Request message for the GenerateProductImageBackground method.",
      "id": "GenerateProductImageBackgroundRequest",
      "type": "object"
    },
    "GeneratedImage": {
      "type": "object",
      "properties": {
        "generationTime": {
          "type": "string",
          "description": "The timestamp when the image was generated.",
          "format": "google-datetime"
        },
        "uri": {
          "description": "Generally web-requestable URI of the generated image. This is a temporary URI and will expire after 29 days. A URI may not be populated immediately after generation. Use get or list api using image_id to get the URI.",
          "type": "string"
        },
        "imageBytes": {
          "type": "string",
          "description": "Raw bytes for the image.",
          "format": "byte"
        },
        "name": {
          "description": "Identifier. The unique key for the image.",
          "type": "string"
        }
      },
      "id": "GeneratedImage",
      "description": "Represents a generated image object."
    },
    "RemoveProductImageBackgroundResponse": {
      "properties": {
        "generatedImage": {
          "description": "The generated output image.",
          "$ref": "GeneratedImage"
        }
      },
      "description": "Response message for the RemoveProductImageBackground method.",
      "type": "object",
      "id": "RemoveProductImageBackgroundResponse"
    },
    "UpscaleProductImageRequest": {
      "properties": {
        "inputImage": {
          "$ref": "InputImage",
          "description": "Required. The input image."
        },
        "outputConfig": {
          "description": "Optional. Configuration for how the output image should be returned.",
          "$ref": "OutputImageConfig"
        }
      },
      "description": "Request message for the UpscaleProductImage method.",
      "id": "UpscaleProductImageRequest",
      "type": "object"
    },
    "InputImage": {
      "id": "InputImage",
      "description": "Represents an input image.",
      "properties": {
        "imageUri": {
          "type": "string",
          "description": "Public uri of the image."
        },
        "imageBytes": {
          "description": "Raw image bytes.",
          "type": "string",
          "format": "byte"
        }
      },
      "type": "object"
    },
    "RemoveImageBackgroundConfig": {
      "id": "RemoveImageBackgroundConfig",
      "description": "Client provided input configuration for removing the background.",
      "properties": {
        "backgroundColor": {
          "$ref": "RgbColor",
          "description": "Optional. If set, the result of background removal will be an RGB image with this given color as the background, instead of an RGBA 4-channel transparent image."
        }
      },
      "type": "object"
    },
    "UpscaleProductImageResponse": {
      "type": "object",
      "id": "UpscaleProductImageResponse",
      "description": "Response message for the UpscaleProductImage method.",
      "properties": {
        "generatedImage": {
          "description": "The generated output image.",
          "$ref": "GeneratedImage"
        }
      }
    },
    "Image": {
      "type": "object",
      "properties": {
        "uri": {
          "type": "string",
          "description": "Generally web-requestable URI."
        },
        "data": {
          "format": "byte",
          "type": "string",
          "description": "Raw bytes for the image."
        }
      },
      "id": "Image",
      "description": "Product image represented as bytes directly or a URI."
    },
    "ProductChange": {
      "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.",
      "id": "ProductChange",
      "type": "object",
      "properties": {
        "regionCode": {
          "type": "string",
          "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format."
        },
        "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"
        },
        "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"
        },
        "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. ."
          ],
          "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)",
          "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"
          ]
        }
      }
    },
    "ProductTextGenerationSuggestion": {
      "properties": {
        "text": {
          "description": "The text generated",
          "type": "string"
        },
        "changeSummary": {
          "type": "string",
          "description": "A brief summarization of all the changes that have been made."
        },
        "score": {
          "type": "number",
          "description": "The quality score associated with the generation. Heuristic implemented according to the feedgen team's implementation styles.",
          "format": "float"
        }
      },
      "description": "Text generated for a product, optionally including its quality score.",
      "type": "object",
      "id": "ProductTextGenerationSuggestion"
    },
    "OutputSpec": {
      "description": "Configuration parameters that directly influence what content is generated, and how that content is rendered in the final response.",
      "id": "OutputSpec",
      "type": "object",
      "properties": {
        "workflowId": {
          "type": "string",
          "description": "Optional. The workflow to execute for the provided product data. Workflows may populate the response's title, description, or both. Currently supported workflow_ids are: \"title\", \"description\", and \"tide\""
        },
        "targetLanguage": {
          "description": "Optional. The language for output titles/descriptions. For example. 'German', 'es', 'FR'. Default is 'en'.",
          "type": "string"
        },
        "tone": {
          "type": "string",
          "description": "Optional. The tone of the output generated text. Supported tones are: \"playful\", \"formal\", \"persuasive\", and \"conversational\""
        },
        "attributeOrder": {
          "description": "Optional. The order that generated attributes should be placed in the generated title. Eg., if the attribute order is [\"brand\", \"product\", \"size\"], the generated title will have brand first, followed by the product name, and then size information after that.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "editorialChanges": {
          "type": "string",
          "description": "Optional. Any editorial changes for the generated product data. For example, replace Small with \"S\", do not modify color if already present."
        },
        "attributeSeparator": {
          "description": "Optional. Character used to separate attributes in the generated title. For example, '|', '-', ','.",
          "type": "string"
        }
      }
    },
    "GenerateProductTextSuggestionsRequest": {
      "description": "Request message for the GenerateProductTextSuggestions method.",
      "type": "object",
      "properties": {
        "outputSpec": {
          "description": "Optional. Configuration parameters that directly influence what content is generated, and how that content is rendered in the final response.",
          "$ref": "OutputSpec"
        },
        "titleExamples": {
          "items": {
            "$ref": "TitleExample"
          },
          "type": "array",
          "description": "Optional. Provide some hand-crafted examples of title improvements that are unique to your use case. This is a general tool that handles multiple product categories, but your brand identity may require custom functionality. Feel free to specify that here."
        },
        "lowQualityTitleFilteringEnabled": {
          "description": "Optional. If set to true, low-quality generated titles will be filtered out.",
          "type": "boolean"
        },
        "productInfo": {
          "$ref": "ProductInfo",
          "description": "Required. Available information about the product. Used to inform the genAI models."
        }
      },
      "id": "GenerateProductTextSuggestionsRequest"
    },
    "RemoveProductImageBackgroundRequest": {
      "type": "object",
      "id": "RemoveProductImageBackgroundRequest",
      "description": "Request message for the RemoveProductImageBackground method.",
      "properties": {
        "outputConfig": {
          "description": "Optional. Configuration for how the output image should be returned.",
          "$ref": "OutputImageConfig"
        },
        "inputImage": {
          "$ref": "InputImage",
          "description": "Required. The input image."
        },
        "config": {
          "description": "Optional. Configuration parameters for the removal of the background.",
          "$ref": "RemoveImageBackgroundConfig"
        }
      }
    },
    "OutputImageConfig": {
      "properties": {
        "returnImageUri": {
          "type": "boolean",
          "description": "Optional. If true, returns the output images as serving uris instead of bytes."
        }
      },
      "id": "OutputImageConfig",
      "description": "Configuration for how the output image should be returned.",
      "type": "object"
    },
    "GenerateImageBackgroundConfig": {
      "type": "object",
      "description": "Client provided input configuration for generating the background.",
      "properties": {
        "productDescription": {
          "type": "string",
          "description": "Required. Example: \"Hat on a baseball field\" \"Hat\" = product description Description of product."
        },
        "backgroundDescription": {
          "description": "Required. Example: \"Hat on a baseball field\" \"on a baseball field\" = background description Description of wanted background.",
          "type": "string"
        }
      },
      "id": "GenerateImageBackgroundConfig"
    },
    "ProductInfo": {
      "type": "object",
      "description": "Available information about the product. Used to inform the genAI models.",
      "properties": {
        "productAttributes": {
          "type": "object",
          "description": "Required. A mapping of all available product attributes. This may include title, description, brand, gender, color, size, etc.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "productImage": {
          "description": "Optional. Image associated with the product.",
          "$ref": "Image"
        }
      },
      "id": "ProductInfo"
    },
    "GenerateProductTextSuggestionsResponse": {
      "properties": {
        "description": {
          "description": "Generated description suggestion.",
          "$ref": "ProductTextGenerationSuggestion"
        },
        "metadata": {
          "description": "Additional info that clients may want to audit surrounding the generation.",
          "$ref": "ProductTextGenerationMetadata"
        },
        "attributes": {
          "description": "Any other generated attributes.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "title": {
          "description": "Generated title suggestion.",
          "$ref": "ProductTextGenerationSuggestion"
        }
      },
      "description": "Response message for the GenerateProductTextSuggestions method.",
      "id": "GenerateProductTextSuggestionsResponse",
      "type": "object"
    },
    "TitleExample": {
      "type": "object",
      "id": "TitleExample",
      "description": "A hand-crafted example of a product title improvement. These examples are provided to the AI to improve its quality and guide it towards required outputs.",
      "properties": {
        "category": {
          "description": "Required. The product's category. This helps the AI understand when certain examples are more relevant than others.",
          "type": "string"
        },
        "finalProductInfo": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Required. A map in the same format as product_info but with all improvements included. For example, {\"brand\": \"Dresses4All\", \"product\": \"dress\", \"color\": \"red\", ...}. The order of attributes in this map may be used to guide the order in which they appear in the final generated title. For instance, the above will become: Dresses4All dress | red",
          "type": "object"
        },
        "productInfo": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Required. A map containing all existing product information. For example: {\"title\": \"dress\", \"description\": \"A red dress\", \"brand\": \"Dresses4All\"} Any information that you might use to populate your product feed."
        },
        "titleFormat": {
          "type": "string",
          "description": "Required. The attributes or approximate attributes that make up the title. For example, title \"Google GShoe M\" title_format can be \"brand | product | size\"."
        }
      }
    },
    "ProductTextGenerationMetadata": {
      "type": "object",
      "description": "Wrapper data type for any metadata associated with text generation.",
      "properties": {
        "metadata": {
          "type": "object",
          "description": "Metadata is a pretty loose concept. The data is modeled as a map here to indicate that there is no guaranteed structure to the output past a simple K:V association. The first use-case is to track words added/removed/changed in generations.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        }
      },
      "id": "ProductTextGenerationMetadata"
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/content": {
          "description": "Manage your product listings and accounts for Google Shopping"
        }
      }
    }
  },
  "id": "merchantapi:productstudio_v1alpha",
  "version_module": true,
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "ownerName": "Google",
  "revision": "20261016",
  "discoveryVersion": "v1",
  "title": "Merchant API",
  "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/",
  "protocol": "rest",
  "batchPath": "batch",
  "documentationLink": "https://developers.google.com/merchant/api",
  "canonicalName": "Merchant",
  "servicePath": "",
  "version": "productstudio_v1alpha",
  "description": "Programmatically manage your Merchant Center Accounts.",
  "resources": {
    "accounts": {
      "resources": {
        "generatedImages": {
          "methods": {
            "generateProductImageBackground": {
              "response": {
                "$ref": "GenerateProductImageBackgroundResponse"
              },
              "request": {
                "$ref": "GenerateProductImageBackgroundRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "Required. The account for which to generate an image. This acts as a container for the request and does not affect the generation itself. Format: accounts/{account}",
                  "type": "string",
                  "pattern": "^accounts/[^/]+$",
                  "required": true
                }
              },
              "parameterOrder": [
                "name"
              ],
              "id": "merchantapi.accounts.generatedImages.generateProductImageBackground",
              "path": "productstudio/v1alpha/{+name}/generatedImages:generateProductImageBackground",
              "httpMethod": "POST",
              "flatPath": "productstudio/v1alpha/accounts/{accountsId}/generatedImages:generateProductImageBackground",
              "description": "GenerateProductImageBackground generates a new image where the background of the original image is replaced by an AI generated scene based on provided product information and a text prompt."
            },
            "removeProductImageBackground": {
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "request": {
                "$ref": "RemoveProductImageBackgroundRequest"
              },
              "id": "merchantapi.accounts.generatedImages.removeProductImageBackground",
              "parameters": {
                "name": {
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The account for which to generate an image. This acts as a container for the request and does not affect the generation itself. Format: accounts/{account}"
                }
              },
              "flatPath": "productstudio/v1alpha/accounts/{accountsId}/generatedImages:removeProductImageBackground",
              "parameterOrder": [
                "name"
              ],
              "description": "RemoveProductImageBackground generates a new image where the background of the original image is removed.",
              "path": "productstudio/v1alpha/{+name}/generatedImages:removeProductImageBackground",
              "response": {
                "$ref": "RemoveProductImageBackgroundResponse"
              },
              "httpMethod": "POST"
            },
            "upscaleProductImage": {
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "UpscaleProductImageResponse"
              },
              "request": {
                "$ref": "UpscaleProductImageRequest"
              },
              "httpMethod": "POST",
              "parameters": {
                "name": {
                  "location": "path",
                  "type": "string",
                  "pattern": "^accounts/[^/]+$",
                  "description": "Required. The account for which to generate an image. This acts as a container for the request and does not affect the generation itself. Format: accounts/{account}",
                  "required": true
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "id": "merchantapi.accounts.generatedImages.upscaleProductImage",
              "flatPath": "productstudio/v1alpha/accounts/{accountsId}/generatedImages:upscaleProductImage",
              "description": "UpscaleProductImage generates a new image where the resolution of the original image is enhanced.",
              "path": "productstudio/v1alpha/{+name}/generatedImages:upscaleProductImage"
            }
          }
        },
        "textSuggestions": {
          "methods": {
            "generateProductTextSuggestions": {
              "flatPath": "productstudio/v1alpha/accounts/{accountsId}:generateProductTextSuggestions",
              "id": "merchantapi.accounts.textSuggestions.generateProductTextSuggestions",
              "parameterOrder": [
                "name"
              ],
              "description": "GenerateProductTextSuggestions generates a set of candidate text completions (e.g., product titles, descriptions) based on provided product information. This endpoint leverages GenAI models to create suggestions for improving existing product text or generating new content.",
              "parameters": {
                "name": {
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "Required. The name of the account to generate text suggestions for. This acts as a container for the request and does not affect the generation itself, as this is a stateless API. Format: accounts/{account}"
                }
              },
              "path": "productstudio/v1alpha/{+name}:generateProductTextSuggestions",
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ],
              "request": {
                "$ref": "GenerateProductTextSuggestionsRequest"
              },
              "response": {
                "$ref": "GenerateProductTextSuggestionsResponse"
              },
              "httpMethod": "POST"
            }
          }
        }
      }
    }
  },
  "ownerDomain": "google.com",
  "parameters": {
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "location": "query",
      "description": "OAuth access token.",
      "type": "string"
    },
    "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.",
      "type": "string",
      "location": "query"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string",
      "enum": [
        "1",
        "2"
      ]
    },
    "alt": {
      "description": "Data format for response.",
      "default": "json",
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "location": "query",
      "default": "true",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks."
    },
    "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"
    }
  }
}
