{
 "kind": "discovery#restDescription",
 "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/qCLRcKBvpHXy_56JLKWSx1mf1Qs\"",
 "discoveryVersion": "v1",
 "id": "content:v2",
 "name": "content",
 "canonicalName": "Shopping Content",
 "version": "v2",
 "revision": "20150915",
 "title": "Content API for Shopping",
 "description": "Manage product items, inventory, and Merchant Center accounts for Google Shopping.",
 "ownerDomain": "google.com",
 "ownerName": "Google",
 "icons": {
  "x16": "http://www.google.com/images/icons/product/search-16.gif",
  "x32": "http://www.google.com/images/icons/product/search-32.gif"
 },
 "documentationLink": "https://developers.google.com/shopping-content",
 "protocol": "rest",
 "baseUrl": "https://www.googleapis.com/content/v2/",
 "basePath": "/content/v2/",
 "rootUrl": "https://www.googleapis.com/",
 "servicePath": "content/v2/",
 "batchPath": "batch",
 "parameters": {
  "alt": {
   "type": "string",
   "description": "Data format for the response.",
   "default": "json",
   "enum": [
    "json"
   ],
   "enumDescriptions": [
    "Responses with Content-Type of application/json"
   ],
   "location": "query"
  },
  "fields": {
   "type": "string",
   "description": "Selector specifying which fields to include in a partial response.",
   "location": "query"
  },
  "key": {
   "type": "string",
   "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"
  },
  "oauth_token": {
   "type": "string",
   "description": "OAuth 2.0 token for the current user.",
   "location": "query"
  },
  "prettyPrint": {
   "type": "boolean",
   "description": "Returns response with indentations and line breaks.",
   "default": "true",
   "location": "query"
  },
  "quotaUser": {
   "type": "string",
   "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. Overrides userIp if both are provided.",
   "location": "query"
  },
  "userIp": {
   "type": "string",
   "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
   "location": "query"
  }
 },
 "auth": {
  "oauth2": {
   "scopes": {
    "https://www.googleapis.com/auth/content": {
     "description": "Manage your product listings and accounts for Google Shopping"
    }
   }
  }
 },
 "schemas": {
  "Account": {
   "id": "Account",
   "type": "object",
   "description": "Account data.",
   "properties": {
    "adultContent": {
     "type": "boolean",
     "description": "Indicates whether the merchant sells adult content."
    },
    "adwordsLinks": {
     "type": "array",
     "description": "List of linked AdWords accounts, active or pending approval. To create a new link request, add a new link with status active to the list. It will remain is state pending until approved or rejected in the AdWords interface. To delete an active link or to cancel a link request, remove it from the list.",
     "items": {
      "$ref": "AccountAdwordsLink"
     }
    },
    "id": {
     "type": "string",
     "description": "Merchant Center account ID.",
     "format": "uint64",
     "annotations": {
      "required": [
       "content.accounts.update"
      ]
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#account\".",
     "default": "content#account"
    },
    "name": {
     "type": "string",
     "description": "Display name for the account.",
     "annotations": {
      "required": [
       "content.accounts.insert",
       "content.accounts.update"
      ]
     }
    },
    "reviewsUrl": {
     "type": "string",
     "description": "URL for individual seller reviews, i.e., reviews for each child account."
    },
    "sellerId": {
     "type": "string",
     "description": "Client-specific, locally-unique, internal ID for the child account."
    },
    "users": {
     "type": "array",
     "description": "Users with access to the account. Every account (except for subaccounts) must have at least one admin user.",
     "items": {
      "$ref": "AccountUser"
     }
    },
    "websiteUrl": {
     "type": "string",
     "description": "The merchant's website."
    }
   }
  },
  "AccountAdwordsLink": {
   "id": "AccountAdwordsLink",
   "type": "object",
   "properties": {
    "adwordsId": {
     "type": "string",
     "description": "Customer ID of the AdWords account.",
     "format": "uint64"
    },
    "status": {
     "type": "string",
     "description": "Status of the link between this Merchant Center account and the AdWords account. Upon retrieval, it represents the actual status of the link and can be either active if it was approved in Google AdWords or pending if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status active when it's still pending or with status pending when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status inactive is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending."
    }
   }
  },
  "AccountIdentifier": {
   "id": "AccountIdentifier",
   "type": "object",
   "properties": {
    "aggregatorId": {
     "type": "string",
     "description": "The aggregator ID, set for aggregators and subaccounts (in that case, it represents the aggregator of the subaccount).",
     "format": "uint64"
    },
    "merchantId": {
     "type": "string",
     "description": "The merchant account ID, set for individual accounts and subaccounts.",
     "format": "uint64"
    }
   }
  },
  "AccountShipping": {
   "id": "AccountShipping",
   "type": "object",
   "description": "The shipping settings of a merchant account.",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "The ID of the account to which these account shipping settings belong.",
     "format": "uint64",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "carrierRates": {
     "type": "array",
     "description": "Carrier-based shipping calculations.",
     "items": {
      "$ref": "AccountShippingCarrierRate"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountShipping\".",
     "default": "content#accountShipping"
    },
    "locationGroups": {
     "type": "array",
     "description": "Location groups for shipping.",
     "items": {
      "$ref": "AccountShippingLocationGroup"
     }
    },
    "rateTables": {
     "type": "array",
     "description": "Rate tables definitions.",
     "items": {
      "$ref": "AccountShippingRateTable"
     }
    },
    "services": {
     "type": "array",
     "description": "Shipping services describing shipping fees calculation.",
     "items": {
      "$ref": "AccountShippingShippingService"
     }
    }
   }
  },
  "AccountShippingCarrierRate": {
   "id": "AccountShippingCarrierRate",
   "type": "object",
   "description": "A carrier-calculated shipping rate.",
   "properties": {
    "carrier": {
     "type": "string",
     "description": "The carrier that is responsible for the shipping, such as \"UPS\", \"FedEx\", or \"USPS\".",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "carrierService": {
     "type": "string",
     "description": "The carrier service, such as \"Ground\" or \"2Day\".",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "modifierFlatRate": {
     "$ref": "Price",
     "description": "Additive shipping rate modifier."
    },
    "modifierPercent": {
     "type": "string",
     "description": "Multiplicative shipping rate modifier in percent. Represented as a floating point number without the percentage character."
    },
    "name": {
     "type": "string",
     "description": "The name of the carrier rate.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "saleCountry": {
     "type": "string",
     "description": "The sale country for which this carrier rate is valid, represented as a CLDR territory code.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "shippingOrigin": {
     "type": "string",
     "description": "Shipping origin represented as a postal code.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    }
   }
  },
  "AccountShippingCondition": {
   "id": "AccountShippingCondition",
   "type": "object",
   "properties": {
    "deliveryLocationGroup": {
     "type": "string",
     "description": "Delivery location in terms of a location group name. A location group with this name must be specified among location groups."
    },
    "deliveryLocationId": {
     "type": "string",
     "description": "Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.",
     "format": "int64"
    },
    "deliveryPostalCode": {
     "type": "string",
     "description": "Delivery location in terms of a postal code."
    },
    "deliveryPostalCodeRange": {
     "$ref": "AccountShippingPostalCodeRange",
     "description": "Delivery location in terms of a postal code range."
    },
    "priceMax": {
     "$ref": "Price",
     "description": "Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive)."
    },
    "shippingLabel": {
     "type": "string",
     "description": "Shipping label of the product. The products with the label are matched."
    },
    "weightMax": {
     "$ref": "Weight",
     "description": "Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive)."
    }
   }
  },
  "AccountShippingLocationGroup": {
   "id": "AccountShippingLocationGroup",
   "type": "object",
   "description": "A user-defined locations group in a given country. All the locations of the group must be of the same type.",
   "properties": {
    "country": {
     "type": "string",
     "description": "The CLDR territory code of the country in which this location group is.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "locationIds": {
     "type": "array",
     "description": "A location ID (also called criteria ID) representing administrative areas, smaller country subdivisions (counties), or cities.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "name": {
     "type": "string",
     "description": "The name of the location group.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "postalCodeRanges": {
     "type": "array",
     "description": "A postal code range representing a city or a set of cities.",
     "items": {
      "$ref": "AccountShippingPostalCodeRange"
     }
    },
    "postalCodes": {
     "type": "array",
     "description": "A postal code representing a city or a set of cities.  \n- A single postal code (e.g., 12345)\n- A postal code prefix followed by a star (e.g., 1234*)",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "AccountShippingPostalCodeRange": {
   "id": "AccountShippingPostalCodeRange",
   "type": "object",
   "description": "A postal code range, that can be either:  \n- A range of postal codes (e.g., start=12340, end=12359)\n- A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).",
   "properties": {
    "end": {
     "type": "string",
     "description": "The last (inclusive) postal code or prefix of the range.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "start": {
     "type": "string",
     "description": "The first (inclusive) postal code or prefix of the range.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    }
   }
  },
  "AccountShippingRateTable": {
   "id": "AccountShippingRateTable",
   "type": "object",
   "description": "A single or bi-dimensional table of shipping rates. Each dimension is defined in terms of consecutive price/weight ranges, delivery locations, or shipping labels.",
   "properties": {
    "content": {
     "type": "array",
     "description": "One-dimensional table cells define one condition along the same dimension. Bi-dimensional table cells use two dimensions with respectively M and N distinct values and must contain exactly M * N cells with distinct conditions (for each possible value pairs).",
     "items": {
      "$ref": "AccountShippingRateTableCell"
     }
    },
    "name": {
     "type": "string",
     "description": "The name of the rate table.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "saleCountry": {
     "type": "string",
     "description": "The sale country for which this table is valid, represented as a CLDR territory code.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    }
   }
  },
  "AccountShippingRateTableCell": {
   "id": "AccountShippingRateTableCell",
   "type": "object",
   "properties": {
    "condition": {
     "$ref": "AccountShippingCondition",
     "description": "Conditions for which the cell is valid. All cells in a table must use the same dimension or pair of dimensions among price, weight, shipping label or delivery location. If no condition is specified, the cell acts as a catch-all and matches all the elements that are not matched by other cells in this dimension."
    },
    "rate": {
     "$ref": "Price",
     "description": "The rate applicable if the cell conditions are matched.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    }
   }
  },
  "AccountShippingShippingService": {
   "id": "AccountShippingShippingService",
   "type": "object",
   "description": "Shipping services provided in a country.",
   "properties": {
    "active": {
     "type": "boolean",
     "description": "Whether the shipping service is available."
    },
    "calculationMethod": {
     "$ref": "AccountShippingShippingServiceCalculationMethod",
     "description": "Calculation method for the \"simple\" case that needs no rules."
    },
    "costRuleTree": {
     "$ref": "AccountShippingShippingServiceCostRule",
     "description": "Decision tree for \"complicated\" shipping cost calculation."
    },
    "name": {
     "type": "string",
     "description": "The name of this shipping service.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "saleCountry": {
     "type": "string",
     "description": "The CLDR territory code of the sale country for which this service can be used.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    }
   }
  },
  "AccountShippingShippingServiceCalculationMethod": {
   "id": "AccountShippingShippingServiceCalculationMethod",
   "type": "object",
   "description": "Shipping cost calculation method. Exactly one of the field is set.",
   "properties": {
    "carrierRate": {
     "type": "string",
     "description": "Name of the carrier rate to use for the calculation."
    },
    "excluded": {
     "type": "boolean",
     "description": "Delivery is excluded. Valid only within cost rules tree."
    },
    "flatRate": {
     "$ref": "Price",
     "description": "Fixed price shipping, represented as a floating point number associated with a currency."
    },
    "percentageRate": {
     "type": "string",
     "description": "Percentage of the price, represented as a floating point number without the percentage character."
    },
    "rateTable": {
     "type": "string",
     "description": "Name of the rate table to use for the calculation."
    }
   }
  },
  "AccountShippingShippingServiceCostRule": {
   "id": "AccountShippingShippingServiceCostRule",
   "type": "object",
   "description": "Building block of the cost calculation decision tree.  \n- The tree root should have no condition and no calculation method.\n- All the children must have a condition on the same dimension. The first child matching a condition is entered, therefore, price and weight conditions form contiguous intervals.\n- The last child of an element must have no condition and matches all elements not previously matched.\n- Children and calculation method are mutually exclusive, and exactly one of them must be defined; the root must only have children.",
   "properties": {
    "calculationMethod": {
     "$ref": "AccountShippingShippingServiceCalculationMethod",
     "description": "Final calculation method to be used only in leaf nodes."
    },
    "children": {
     "type": "array",
     "description": "Subsequent rules to be applied, only for inner nodes. The last child must not specify a condition and acts as a catch-all.",
     "items": {
      "$ref": "AccountShippingShippingServiceCostRule"
     }
    },
    "condition": {
     "$ref": "AccountShippingCondition",
     "description": "Condition for this rule to be applicable. If no condition is specified, the rule acts as a catch-all."
    }
   }
  },
  "AccountStatus": {
   "id": "AccountStatus",
   "type": "object",
   "description": "The status of an account, i.e., information about its products, which is computed offline and not returned immediately at insertion time.",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "The ID of the account for which the status is reported."
    },
    "dataQualityIssues": {
     "type": "array",
     "description": "A list of data quality issues.",
     "items": {
      "$ref": "AccountStatusDataQualityIssue"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountStatus\".",
     "default": "content#accountStatus"
    }
   }
  },
  "AccountStatusDataQualityIssue": {
   "id": "AccountStatusDataQualityIssue",
   "type": "object",
   "properties": {
    "country": {
     "type": "string",
     "description": "Country for which this issue is reported."
    },
    "displayedValue": {
     "type": "string",
     "description": "Actual value displayed on the landing page."
    },
    "exampleItems": {
     "type": "array",
     "description": "Example items featuring the issue.",
     "items": {
      "$ref": "AccountStatusExampleItem"
     }
    },
    "id": {
     "type": "string",
     "description": "Issue identifier."
    },
    "lastChecked": {
     "type": "string",
     "description": "Last time the account was checked for this issue."
    },
    "numItems": {
     "type": "integer",
     "description": "Number of items in the account found to have the said issue.",
     "format": "uint32"
    },
    "severity": {
     "type": "string",
     "description": "Severity of the problem."
    },
    "submittedValue": {
     "type": "string",
     "description": "Submitted value that causes the issue."
    }
   }
  },
  "AccountStatusExampleItem": {
   "id": "AccountStatusExampleItem",
   "type": "object",
   "description": "An example of an item that has poor data quality. An item value on the landing page differs from what is submitted, or conflicts with a policy.",
   "properties": {
    "itemId": {
     "type": "string",
     "description": "Unique item ID as specified in the uploaded product data."
    },
    "link": {
     "type": "string",
     "description": "Landing page of the item."
    },
    "submittedValue": {
     "type": "string",
     "description": "The item value that was submitted."
    },
    "title": {
     "type": "string",
     "description": "Title of the item."
    },
    "valueOnLandingPage": {
     "type": "string",
     "description": "The actual value on the landing page."
    }
   }
  },
  "AccountTax": {
   "id": "AccountTax",
   "type": "object",
   "description": "The tax settings of a merchant account.",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "The ID of the account to which these account tax settings belong.",
     "format": "uint64",
     "annotations": {
      "required": [
       "content.accounttax.update"
      ]
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountTax\".",
     "default": "content#accountTax"
    },
    "rules": {
     "type": "array",
     "description": "Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.",
     "items": {
      "$ref": "AccountTaxTaxRule"
     }
    }
   }
  },
  "AccountTaxTaxRule": {
   "id": "AccountTaxTaxRule",
   "type": "object",
   "description": "Tax calculation rule to apply in a state or province (USA only).",
   "properties": {
    "country": {
     "type": "string",
     "description": "Country code in which tax is applicable."
    },
    "locationId": {
     "type": "string",
     "description": "State (or province) is which the tax is applicable, described by its location id (also called criteria id).",
     "format": "uint64",
     "annotations": {
      "required": [
       "content.accounttax.update"
      ]
     }
    },
    "ratePercent": {
     "type": "string",
     "description": "Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative."
    },
    "shippingTaxed": {
     "type": "boolean",
     "description": "If true, shipping charges are also taxed."
    },
    "useGlobalRate": {
     "type": "boolean",
     "description": "Whether the tax rate is taken from a global tax table or specified explicitly."
    }
   }
  },
  "AccountUser": {
   "id": "AccountUser",
   "type": "object",
   "properties": {
    "admin": {
     "type": "boolean",
     "description": "Whether user is an admin."
    },
    "emailAddress": {
     "type": "string",
     "description": "User's email address."
    }
   }
  },
  "AccountsAuthInfoResponse": {
   "id": "AccountsAuthInfoResponse",
   "type": "object",
   "properties": {
    "accountIdentifiers": {
     "type": "array",
     "description": "The account identifiers corresponding to the authenticated user.\n- For an individual account: only the merchant ID is defined\n- For an aggregator: only the aggregator ID is defined\n- For a subaccount of an MCA: both the merchant ID and the aggregator ID are defined.",
     "items": {
      "$ref": "AccountIdentifier"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsAuthInfoResponse\".",
     "default": "content#accountsAuthInfoResponse"
    }
   }
  },
  "AccountsCustomBatchRequest": {
   "id": "AccountsCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "AccountsCustomBatchRequestEntry"
     }
    }
   }
  },
  "AccountsCustomBatchRequestEntry": {
   "id": "AccountsCustomBatchRequestEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch accounts request.",
   "properties": {
    "account": {
     "$ref": "Account",
     "description": "The account to create or update. Only defined if the method is insert or update."
    },
    "accountId": {
     "type": "string",
     "description": "The ID of the account to get or delete. Only defined if the method is get or delete.",
     "format": "uint64"
    },
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "method": {
     "type": "string"
    }
   }
  },
  "AccountsCustomBatchResponse": {
   "id": "AccountsCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "AccountsCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsCustomBatchResponse\".",
     "default": "content#accountsCustomBatchResponse"
    }
   }
  },
  "AccountsCustomBatchResponseEntry": {
   "id": "AccountsCustomBatchResponseEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch accounts response.",
   "properties": {
    "account": {
     "$ref": "Account",
     "description": "The retrieved, created, or updated account. Not defined if the method was delete."
    },
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors defined if and only if the request failed."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsCustomBatchResponseEntry\".",
     "default": "content#accountsCustomBatchResponseEntry"
    }
   }
  },
  "AccountsListResponse": {
   "id": "AccountsListResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsListResponse\".",
     "default": "content#accountsListResponse"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The token for the retrieval of the next page of accounts."
    },
    "resources": {
     "type": "array",
     "items": {
      "$ref": "Account"
     }
    }
   }
  },
  "AccountshippingCustomBatchRequest": {
   "id": "AccountshippingCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "AccountshippingCustomBatchRequestEntry"
     }
    }
   }
  },
  "AccountshippingCustomBatchRequestEntry": {
   "id": "AccountshippingCustomBatchRequestEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch accountshipping request.",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "The ID of the account for which to get/update account shipping settings.",
     "format": "uint64"
    },
    "accountShipping": {
     "$ref": "AccountShipping",
     "description": "The account shipping settings to update. Only defined if the method is update."
    },
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "method": {
     "type": "string"
    }
   }
  },
  "AccountshippingCustomBatchResponse": {
   "id": "AccountshippingCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "AccountshippingCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountshippingCustomBatchResponse\".",
     "default": "content#accountshippingCustomBatchResponse"
    }
   }
  },
  "AccountshippingCustomBatchResponseEntry": {
   "id": "AccountshippingCustomBatchResponseEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch accountshipping response.",
   "properties": {
    "accountShipping": {
     "$ref": "AccountShipping",
     "description": "The retrieved or updated account shipping settings."
    },
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors defined if and only if the request failed."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountshippingCustomBatchResponseEntry\".",
     "default": "content#accountshippingCustomBatchResponseEntry"
    }
   }
  },
  "AccountshippingListResponse": {
   "id": "AccountshippingListResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountshippingListResponse\".",
     "default": "content#accountshippingListResponse"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The token for the retrieval of the next page of account shipping settings."
    },
    "resources": {
     "type": "array",
     "items": {
      "$ref": "AccountShipping"
     }
    }
   }
  },
  "AccountstatusesCustomBatchRequest": {
   "id": "AccountstatusesCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "AccountstatusesCustomBatchRequestEntry"
     }
    }
   }
  },
  "AccountstatusesCustomBatchRequestEntry": {
   "id": "AccountstatusesCustomBatchRequestEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch accountstatuses request.",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "The ID of the (sub-)account whose status to get.",
     "format": "uint64"
    },
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "method": {
     "type": "string",
     "description": "The method (get)."
    }
   }
  },
  "AccountstatusesCustomBatchResponse": {
   "id": "AccountstatusesCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "AccountstatusesCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountstatusesCustomBatchResponse\".",
     "default": "content#accountstatusesCustomBatchResponse"
    }
   }
  },
  "AccountstatusesCustomBatchResponseEntry": {
   "id": "AccountstatusesCustomBatchResponseEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch accountstatuses response.",
   "properties": {
    "accountStatus": {
     "$ref": "AccountStatus",
     "description": "The requested account status. Defined if and only if the request was successful."
    },
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors defined if and only if the request failed."
    }
   }
  },
  "AccountstatusesListResponse": {
   "id": "AccountstatusesListResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountstatusesListResponse\".",
     "default": "content#accountstatusesListResponse"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The token for the retrieval of the next page of account statuses."
    },
    "resources": {
     "type": "array",
     "items": {
      "$ref": "AccountStatus"
     }
    }
   }
  },
  "AccounttaxCustomBatchRequest": {
   "id": "AccounttaxCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "AccounttaxCustomBatchRequestEntry"
     }
    }
   }
  },
  "AccounttaxCustomBatchRequestEntry": {
   "id": "AccounttaxCustomBatchRequestEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch accounttax request.",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "The ID of the account for which to get/update account tax settings.",
     "format": "uint64"
    },
    "accountTax": {
     "$ref": "AccountTax",
     "description": "The account tax settings to update. Only defined if the method is update."
    },
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "method": {
     "type": "string"
    }
   }
  },
  "AccounttaxCustomBatchResponse": {
   "id": "AccounttaxCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "AccounttaxCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accounttaxCustomBatchResponse\".",
     "default": "content#accounttaxCustomBatchResponse"
    }
   }
  },
  "AccounttaxCustomBatchResponseEntry": {
   "id": "AccounttaxCustomBatchResponseEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch accounttax response.",
   "properties": {
    "accountTax": {
     "$ref": "AccountTax",
     "description": "The retrieved or updated account tax settings."
    },
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors defined if and only if the request failed."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accounttaxCustomBatchResponseEntry\".",
     "default": "content#accounttaxCustomBatchResponseEntry"
    }
   }
  },
  "AccounttaxListResponse": {
   "id": "AccounttaxListResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accounttaxListResponse\".",
     "default": "content#accounttaxListResponse"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The token for the retrieval of the next page of account tax settings."
    },
    "resources": {
     "type": "array",
     "items": {
      "$ref": "AccountTax"
     }
    }
   }
  },
  "Datafeed": {
   "id": "Datafeed",
   "type": "object",
   "description": "Datafeed data.",
   "properties": {
    "attributeLanguage": {
     "type": "string",
     "description": "The two-letter ISO 639-1 language in which the attributes are defined in the data feed."
    },
    "contentLanguage": {
     "type": "string",
     "description": "The two-letter ISO 639-1 language of the items in the feed.",
     "annotations": {
      "required": [
       "content.datafeeds.insert"
      ]
     }
    },
    "contentType": {
     "type": "string",
     "description": "The type of data feed.",
     "annotations": {
      "required": [
       "content.datafeeds.insert",
       "content.datafeeds.update"
      ]
     }
    },
    "fetchSchedule": {
     "$ref": "DatafeedFetchSchedule",
     "description": "Fetch schedule for the feed file."
    },
    "fileName": {
     "type": "string",
     "description": "The filename of the feed. All feeds must have a unique file name.",
     "annotations": {
      "required": [
       "content.datafeeds.insert",
       "content.datafeeds.update"
      ]
     }
    },
    "format": {
     "$ref": "DatafeedFormat",
     "description": "Format of the feed file."
    },
    "id": {
     "type": "string",
     "description": "The ID of the data feed.",
     "format": "int64",
     "annotations": {
      "required": [
       "content.datafeeds.update"
      ]
     }
    },
    "intendedDestinations": {
     "type": "array",
     "description": "The list of intended destinations (corresponds to checked check boxes in Merchant Center).",
     "items": {
      "type": "string"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeed\".",
     "default": "content#datafeed"
    },
    "name": {
     "type": "string",
     "description": "A descriptive name of the data feed.",
     "annotations": {
      "required": [
       "content.datafeeds.insert"
      ]
     }
    },
    "targetCountry": {
     "type": "string",
     "description": "The country where the items in the feed will be included in the search index, represented as a CLDR territory code.",
     "annotations": {
      "required": [
       "content.datafeeds.insert",
       "content.datafeeds.update"
      ]
     }
    }
   }
  },
  "DatafeedFetchSchedule": {
   "id": "DatafeedFetchSchedule",
   "type": "object",
   "description": "The required fields vary based on the frequency of fetching. For a monthly fetch schedule, day_of_month and hour are required. For a weekly fetch schedule, weekday and hour are required. For a daily fetch schedule, only hour is required.",
   "properties": {
    "dayOfMonth": {
     "type": "integer",
     "description": "The day of the month the feed file should be fetched (1-31).",
     "format": "uint32"
    },
    "fetchUrl": {
     "type": "string",
     "description": "The URL where the feed file can be fetched. Google Merchant Center will support automatic scheduled uploads using the HTTP, HTTPS, FTP, or SFTP protocols, so the value will need to be a valid link using one of those four protocols."
    },
    "hour": {
     "type": "integer",
     "description": "The hour of the day the feed file should be fetched (0-24).",
     "format": "uint32"
    },
    "password": {
     "type": "string",
     "description": "An optional password for fetch_url."
    },
    "timeZone": {
     "type": "string",
     "description": "Time zone used for schedule. UTC by default. E.g., \"America/Los_Angeles\"."
    },
    "username": {
     "type": "string",
     "description": "An optional user name for fetch_url."
    },
    "weekday": {
     "type": "string",
     "description": "The day of the week the feed file should be fetched."
    }
   }
  },
  "DatafeedFormat": {
   "id": "DatafeedFormat",
   "type": "object",
   "properties": {
    "columnDelimiter": {
     "type": "string",
     "description": "Delimiter for the separation of values in a delimiter-separated values feed. If not specified, the delimiter will be auto-detected. Ignored for non-DSV data feeds."
    },
    "fileEncoding": {
     "type": "string",
     "description": "Character encoding scheme of the data feed. If not specified, the encoding will be auto-detected."
    },
    "quotingMode": {
     "type": "string",
     "description": "Specifies how double quotes are interpreted. If not specified, the mode will be auto-detected. Ignored for non-DSV data feeds."
    }
   }
  },
  "DatafeedStatus": {
   "id": "DatafeedStatus",
   "type": "object",
   "description": "The status of a datafeed, i.e., the result of the last retrieval of the datafeed computed asynchronously when the feed processing is finished.",
   "properties": {
    "datafeedId": {
     "type": "string",
     "description": "The ID of the feed for which the status is reported.",
     "format": "uint64"
    },
    "errors": {
     "type": "array",
     "description": "The list of errors occurring in the feed.",
     "items": {
      "$ref": "DatafeedStatusError"
     }
    },
    "itemsTotal": {
     "type": "string",
     "description": "The number of items in the feed that were processed.",
     "format": "uint64"
    },
    "itemsValid": {
     "type": "string",
     "description": "The number of items in the feed that were valid.",
     "format": "uint64"
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedStatus\".",
     "default": "content#datafeedStatus"
    },
    "lastUploadDate": {
     "type": "string",
     "description": "The last date at which the feed was uploaded."
    },
    "processingStatus": {
     "type": "string",
     "description": "The processing status of the feed."
    },
    "warnings": {
     "type": "array",
     "description": "The list of errors occurring in the feed.",
     "items": {
      "$ref": "DatafeedStatusError"
     }
    }
   }
  },
  "DatafeedStatusError": {
   "id": "DatafeedStatusError",
   "type": "object",
   "description": "An error occurring in the feed, like \"invalid price\".",
   "properties": {
    "code": {
     "type": "string",
     "description": "The code of the error, e.g., \"validation/invalid_value\"."
    },
    "count": {
     "type": "string",
     "description": "The number of occurrences of the error in the feed.",
     "format": "uint64"
    },
    "examples": {
     "type": "array",
     "description": "A list of example occurrences of the error, grouped by product.",
     "items": {
      "$ref": "DatafeedStatusExample"
     }
    },
    "message": {
     "type": "string",
     "description": "The error message, e.g., \"Invalid price\"."
    }
   }
  },
  "DatafeedStatusExample": {
   "id": "DatafeedStatusExample",
   "type": "object",
   "description": "An example occurrence for a particular error.",
   "properties": {
    "itemId": {
     "type": "string",
     "description": "The ID of the example item."
    },
    "lineNumber": {
     "type": "string",
     "description": "Line number in the data feed where the example is found.",
     "format": "uint64"
    },
    "value": {
     "type": "string",
     "description": "The problematic value."
    }
   }
  },
  "DatafeedsCustomBatchRequest": {
   "id": "DatafeedsCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "DatafeedsCustomBatchRequestEntry"
     }
    }
   }
  },
  "DatafeedsCustomBatchRequestEntry": {
   "id": "DatafeedsCustomBatchRequestEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch datafeeds request.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "datafeed": {
     "$ref": "Datafeed",
     "description": "The data feed to insert."
    },
    "datafeedId": {
     "type": "string",
     "description": "The ID of the data feed to get or delete.",
     "format": "uint64"
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "method": {
     "type": "string"
    }
   }
  },
  "DatafeedsCustomBatchResponse": {
   "id": "DatafeedsCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "DatafeedsCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedsCustomBatchResponse\".",
     "default": "content#datafeedsCustomBatchResponse"
    }
   }
  },
  "DatafeedsCustomBatchResponseEntry": {
   "id": "DatafeedsCustomBatchResponseEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch datafeeds response.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "datafeed": {
     "$ref": "Datafeed",
     "description": "The requested data feed. Defined if and only if the request was successful."
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors defined if and only if the request failed."
    }
   }
  },
  "DatafeedsListResponse": {
   "id": "DatafeedsListResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedsListResponse\".",
     "default": "content#datafeedsListResponse"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The token for the retrieval of the next page of datafeeds."
    },
    "resources": {
     "type": "array",
     "items": {
      "$ref": "Datafeed"
     }
    }
   }
  },
  "DatafeedstatusesCustomBatchRequest": {
   "id": "DatafeedstatusesCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "DatafeedstatusesCustomBatchRequestEntry"
     }
    }
   }
  },
  "DatafeedstatusesCustomBatchRequestEntry": {
   "id": "DatafeedstatusesCustomBatchRequestEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch datafeedstatuses request.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "datafeedId": {
     "type": "string",
     "description": "The ID of the data feed to get or delete.",
     "format": "uint64"
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "method": {
     "type": "string"
    }
   }
  },
  "DatafeedstatusesCustomBatchResponse": {
   "id": "DatafeedstatusesCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "DatafeedstatusesCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedstatusesCustomBatchResponse\".",
     "default": "content#datafeedstatusesCustomBatchResponse"
    }
   }
  },
  "DatafeedstatusesCustomBatchResponseEntry": {
   "id": "DatafeedstatusesCustomBatchResponseEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch datafeedstatuses response.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "datafeedStatus": {
     "$ref": "DatafeedStatus",
     "description": "The requested data feed status. Defined if and only if the request was successful."
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors defined if and only if the request failed."
    }
   }
  },
  "DatafeedstatusesListResponse": {
   "id": "DatafeedstatusesListResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedstatusesListResponse\".",
     "default": "content#datafeedstatusesListResponse"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The token for the retrieval of the next page of datafeed statuses."
    },
    "resources": {
     "type": "array",
     "items": {
      "$ref": "DatafeedStatus"
     }
    }
   }
  },
  "Error": {
   "id": "Error",
   "type": "object",
   "description": "An error returned by the API.",
   "properties": {
    "domain": {
     "type": "string",
     "description": "The domain of the error."
    },
    "message": {
     "type": "string",
     "description": "A description of the error."
    },
    "reason": {
     "type": "string",
     "description": "The error code."
    }
   }
  },
  "Errors": {
   "id": "Errors",
   "type": "object",
   "description": "A list of errors returned by a failed batch entry.",
   "properties": {
    "code": {
     "type": "integer",
     "description": "The HTTP status of the first error in errors.",
     "format": "uint32"
    },
    "errors": {
     "type": "array",
     "description": "A list of errors.",
     "items": {
      "$ref": "Error"
     }
    },
    "message": {
     "type": "string",
     "description": "The message of the first error in errors."
    }
   }
  },
  "Inventory": {
   "id": "Inventory",
   "type": "object",
   "properties": {
    "availability": {
     "type": "string",
     "description": "The availability of the product."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#inventory\".",
     "default": "content#inventory"
    },
    "price": {
     "$ref": "Price",
     "description": "The price of the product."
    },
    "quantity": {
     "type": "integer",
     "description": "The quantity of the product. Must be equal to or greater than zero. Supported only for local products.",
     "format": "uint32"
    },
    "salePrice": {
     "$ref": "Price",
     "description": "The sale price of the product. Mandatory if sale_price_effective_date is defined."
    },
    "salePriceEffectiveDate": {
     "type": "string",
     "description": "A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates might be specified as 'null' if undecided."
    },
    "sellOnGoogleQuantity": {
     "type": "integer",
     "description": "The quantity of the product that is reserved for sell-on-google ads. Supported only for online products.",
     "format": "uint32"
    }
   }
  },
  "InventoryCustomBatchRequest": {
   "id": "InventoryCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "InventoryCustomBatchRequestEntry"
     }
    }
   }
  },
  "InventoryCustomBatchRequestEntry": {
   "id": "InventoryCustomBatchRequestEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch inventory request.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "inventory": {
     "$ref": "Inventory",
     "description": "Price and availability of the product."
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "productId": {
     "type": "string",
     "description": "The ID of the product for which to update price and availability."
    },
    "storeCode": {
     "type": "string",
     "description": "The code of the store for which to update price and availability. Use online to update price and availability of an online product."
    }
   }
  },
  "InventoryCustomBatchResponse": {
   "id": "InventoryCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "InventoryCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#inventoryCustomBatchResponse\".",
     "default": "content#inventoryCustomBatchResponse"
    }
   }
  },
  "InventoryCustomBatchResponseEntry": {
   "id": "InventoryCustomBatchResponseEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch inventory response.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors defined if and only if the request failed."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#inventoryCustomBatchResponseEntry\".",
     "default": "content#inventoryCustomBatchResponseEntry"
    }
   }
  },
  "InventorySetRequest": {
   "id": "InventorySetRequest",
   "type": "object",
   "properties": {
    "availability": {
     "type": "string",
     "description": "The availability of the product."
    },
    "price": {
     "$ref": "Price",
     "description": "The price of the product."
    },
    "quantity": {
     "type": "integer",
     "description": "The quantity of the product. Must be equal to or greater than zero. Supported only for local products.",
     "format": "uint32"
    },
    "salePrice": {
     "$ref": "Price",
     "description": "The sale price of the product. Mandatory if sale_price_effective_date is defined."
    },
    "salePriceEffectiveDate": {
     "type": "string",
     "description": "A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates might be specified as 'null' if undecided."
    },
    "sellOnGoogleQuantity": {
     "type": "integer",
     "description": "The quantity of the product that is reserved for sell-on-google ads. Supported only for online products.",
     "format": "uint32"
    }
   }
  },
  "InventorySetResponse": {
   "id": "InventorySetResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#inventorySetResponse\".",
     "default": "content#inventorySetResponse"
    }
   }
  },
  "LoyaltyPoints": {
   "id": "LoyaltyPoints",
   "type": "object",
   "properties": {
    "name": {
     "type": "string",
     "description": "Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters."
    },
    "pointsValue": {
     "type": "string",
     "description": "The retailer's loyalty points in absolute value.",
     "format": "int64"
    },
    "ratio": {
     "type": "number",
     "description": "The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.",
     "format": "double"
    }
   }
  },
  "Order": {
   "id": "Order",
   "type": "object",
   "properties": {
    "acknowledged": {
     "type": "boolean",
     "description": "Whether the order was acknowledged."
    },
    "customer": {
     "$ref": "OrderCustomer",
     "description": "The details of the customer who placed the order."
    },
    "deliveryDetails": {
     "$ref": "OrderDeliveryDetails",
     "description": "The details for the delivery."
    },
    "id": {
     "type": "string",
     "description": "The REST id of the order. Globally unique."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#order\".",
     "default": "content#order"
    },
    "lineItems": {
     "type": "array",
     "description": "Line items that are ordered.",
     "items": {
      "$ref": "OrderLineItem"
     }
    },
    "merchantId": {
     "type": "string",
     "format": "uint64"
    },
    "merchantOrderId": {
     "type": "string",
     "description": "Merchant-provided id of the order."
    },
    "netAmount": {
     "$ref": "Price",
     "description": "The net amount for the order. For example, if an order was originally for a grand total of $100 and a refund was issued for $20, the net amount will be $80."
    },
    "paymentMethod": {
     "$ref": "OrderPaymentMethod",
     "description": "The details of the payment method."
    },
    "paymentStatus": {
     "type": "string",
     "description": "The status of the payment."
    },
    "placedDate": {
     "type": "string",
     "description": "The date when the order was placed, in ISO 8601 format."
    },
    "refunds": {
     "type": "array",
     "description": "Refunds for the order.",
     "items": {
      "$ref": "OrderRefund"
     }
    },
    "shipments": {
     "type": "array",
     "description": "Shipments of the order.",
     "items": {
      "$ref": "OrderShipment"
     }
    },
    "shippingCost": {
     "$ref": "Price",
     "description": "The total cost of shipping for all items."
    },
    "shippingCostTax": {
     "$ref": "Price",
     "description": "The tax for the total shipping cost."
    },
    "shippingOption": {
     "type": "string",
     "description": "The requested shipping option."
    },
    "status": {
     "type": "string",
     "description": "The status of the order."
    }
   }
  },
  "OrderAddress": {
   "id": "OrderAddress",
   "type": "object",
   "properties": {
    "country": {
     "type": "string",
     "description": "CLDR country code (e.g. \"US\")."
    },
    "fullAddress": {
     "type": "array",
     "description": "Strings representing the lines of the printed label for mailing the order, for example:\nJohn Smith\n1600 Amphitheatre Parkway\nMountain View, CA, 94043\nUnited States",
     "items": {
      "type": "string"
     }
    },
    "isPostOfficeBox": {
     "type": "boolean",
     "description": "Whether the address is a post office box."
    },
    "locality": {
     "type": "string",
     "description": "City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs)."
    },
    "postalCode": {
     "type": "string",
     "description": "Postal Code or ZIP (e.g. \"94043\")."
    },
    "recipientName": {
     "type": "string",
     "description": "Name of the recipient."
    },
    "region": {
     "type": "string",
     "description": "Top-level administrative subdivision of the country (e.g. \"CA\")."
    },
    "streetAddress": {
     "type": "array",
     "description": "Street-level part of the address.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "OrderCancellation": {
   "id": "OrderCancellation",
   "type": "object",
   "properties": {
    "actor": {
     "type": "string",
     "description": "The actor that created the cancellation."
    },
    "creationDate": {
     "type": "string",
     "description": "Date on which the cancellation has been created, in ISO 8601 format."
    },
    "quantity": {
     "type": "integer",
     "description": "The quantity that was canceled.",
     "format": "uint32"
    },
    "reason": {
     "type": "string",
     "description": "The reason for the cancellation."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrderCustomer": {
   "id": "OrderCustomer",
   "type": "object",
   "properties": {
    "email": {
     "type": "string",
     "description": "Email address of the customer."
    },
    "explicitMarketingPreference": {
     "type": "boolean",
     "description": "If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow."
    },
    "fullName": {
     "type": "string",
     "description": "Full name of the customer."
    }
   }
  },
  "OrderDeliveryDetails": {
   "id": "OrderDeliveryDetails",
   "type": "object",
   "properties": {
    "address": {
     "$ref": "OrderAddress",
     "description": "The delivery address"
    },
    "phoneNumber": {
     "type": "string",
     "description": "The phone number of the person receiving the delivery."
    }
   }
  },
  "OrderLineItem": {
   "id": "OrderLineItem",
   "type": "object",
   "properties": {
    "cancellations": {
     "type": "array",
     "description": "Cancellations of the line item.",
     "items": {
      "$ref": "OrderCancellation"
     }
    },
    "id": {
     "type": "string",
     "description": "The id of the line item."
    },
    "price": {
     "$ref": "Price",
     "description": "Total price for the line item. For example, if two items for $10 are purchased, the total price will be $20."
    },
    "product": {
     "$ref": "OrderLineItemProduct",
     "description": "Product data from the time of the order placement."
    },
    "quantityCanceled": {
     "type": "integer",
     "description": "Number of items canceled.",
     "format": "uint32"
    },
    "quantityDelivered": {
     "type": "integer",
     "description": "Number of items delivered.",
     "format": "uint32"
    },
    "quantityOrdered": {
     "type": "integer",
     "description": "Number of items ordered.",
     "format": "uint32"
    },
    "quantityPending": {
     "type": "integer",
     "description": "Number of items pending.",
     "format": "uint32"
    },
    "quantityReturned": {
     "type": "integer",
     "description": "Number of items returned.",
     "format": "uint32"
    },
    "quantityShipped": {
     "type": "integer",
     "description": "Number of items shipped.",
     "format": "uint32"
    },
    "returnInfo": {
     "$ref": "OrderLineItemReturnInfo",
     "description": "Details of the return policy for the line item."
    },
    "returns": {
     "type": "array",
     "description": "Returns of the line item.",
     "items": {
      "$ref": "OrderReturn"
     }
    },
    "shippingDetails": {
     "$ref": "OrderLineItemShippingDetails",
     "description": "Details of the requested shipping for the line item."
    },
    "tax": {
     "$ref": "Price",
     "description": "Total tax amount for the line item. For example, if two items are purchased, and each have a cost tax of $2, the total tax amount will be $4."
    }
   }
  },
  "OrderLineItemProduct": {
   "id": "OrderLineItemProduct",
   "type": "object",
   "properties": {
    "brand": {
     "type": "string",
     "description": "Brand of the item."
    },
    "channel": {
     "type": "string",
     "description": "The item's channel (online or local)."
    },
    "condition": {
     "type": "string",
     "description": "Condition or state of the item."
    },
    "contentLanguage": {
     "type": "string",
     "description": "The two-letter ISO 639-1 language code for the item."
    },
    "gtin": {
     "type": "string",
     "description": "Global Trade Item Number (GTIN) of the item."
    },
    "id": {
     "type": "string",
     "description": "The REST id of the product."
    },
    "imageLink": {
     "type": "string",
     "description": "URL of an image of the item."
    },
    "itemGroupId": {
     "type": "string",
     "description": "Shared identifier for all variants of the same product."
    },
    "mpn": {
     "type": "string",
     "description": "Manufacturer Part Number (MPN) of the item."
    },
    "offerId": {
     "type": "string",
     "description": "An identifier of the item."
    },
    "price": {
     "$ref": "Price",
     "description": "Price of the item."
    },
    "shownImage": {
     "type": "string",
     "description": "URL to the cached image shown to the user when order was placed."
    },
    "targetCountry": {
     "type": "string",
     "description": "The CLDR territory code of the target country of the product."
    },
    "title": {
     "type": "string",
     "description": "The title of the product."
    },
    "variantAttributes": {
     "type": "array",
     "description": "Variant attributes for the item. These are dimensions of the product, such as color, gender, material, pattern, and size. You can find a comprehensive list of variant attributes here.",
     "items": {
      "$ref": "OrderLineItemProductVariantAttribute"
     }
    }
   }
  },
  "OrderLineItemProductVariantAttribute": {
   "id": "OrderLineItemProductVariantAttribute",
   "type": "object",
   "properties": {
    "dimension": {
     "type": "string",
     "description": "The dimension of the variant."
    },
    "value": {
     "type": "string",
     "description": "The value for the dimension."
    }
   }
  },
  "OrderLineItemReturnInfo": {
   "id": "OrderLineItemReturnInfo",
   "type": "object",
   "properties": {
    "daysToReturn": {
     "type": "integer",
     "description": "How many days later the item can be returned.",
     "format": "int32",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "isReturnable": {
     "type": "boolean",
     "description": "Whether the item is returnable.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "policyUrl": {
     "type": "string",
     "description": "URL of the item return policy.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    }
   }
  },
  "OrderLineItemShippingDetails": {
   "id": "OrderLineItemShippingDetails",
   "type": "object",
   "properties": {
    "deliverByDate": {
     "type": "string",
     "description": "The delivery by date, in ISO 8601 format.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "method": {
     "$ref": "OrderLineItemShippingDetailsMethod",
     "description": "Details of the shipping method.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "shipByDate": {
     "type": "string",
     "description": "The ship by date, in ISO 8601 format.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    }
   }
  },
  "OrderLineItemShippingDetailsMethod": {
   "id": "OrderLineItemShippingDetailsMethod",
   "type": "object",
   "properties": {
    "carrier": {
     "type": "string",
     "description": "The carrier for the shipping. Optional."
    },
    "maxDaysInTransit": {
     "type": "integer",
     "description": "Maximum transit time.",
     "format": "uint32",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "methodName": {
     "type": "string",
     "description": "The name of the shipping method.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "minDaysInTransit": {
     "type": "integer",
     "description": "Minimum transit time.",
     "format": "uint32",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    }
   }
  },
  "OrderPaymentMethod": {
   "id": "OrderPaymentMethod",
   "type": "object",
   "properties": {
    "billingAddress": {
     "$ref": "OrderAddress",
     "description": "The billing address."
    },
    "expirationMonth": {
     "type": "integer",
     "description": "The card expiration month (January = 1, February = 2 etc.).",
     "format": "int32"
    },
    "expirationYear": {
     "type": "integer",
     "description": "The card expiration year (4-digit, e.g. 2015).",
     "format": "int32"
    },
    "lastFourDigits": {
     "type": "string",
     "description": "The last four digits of the card number."
    },
    "phoneNumber": {
     "type": "string",
     "description": "The billing phone number."
    },
    "type": {
     "type": "string",
     "description": "The type of instrument (VISA, Mastercard, etc)."
    }
   }
  },
  "OrderRefund": {
   "id": "OrderRefund",
   "type": "object",
   "properties": {
    "actor": {
     "type": "string",
     "description": "The actor that created the refund."
    },
    "amount": {
     "$ref": "Price",
     "description": "The amount that is refunded."
    },
    "creationDate": {
     "type": "string",
     "description": "Date on which the item has been created, in ISO 8601 format."
    },
    "reason": {
     "type": "string",
     "description": "The reason for the refund."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrderReturn": {
   "id": "OrderReturn",
   "type": "object",
   "properties": {
    "actor": {
     "type": "string",
     "description": "The actor that created the refund."
    },
    "creationDate": {
     "type": "string",
     "description": "Date on which the item has been created, in ISO 8601 format."
    },
    "quantity": {
     "type": "integer",
     "description": "Quantity that is returned.",
     "format": "uint32"
    },
    "reason": {
     "type": "string",
     "description": "The reason for the return."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrderShipment": {
   "id": "OrderShipment",
   "type": "object",
   "properties": {
    "carrier": {
     "type": "string",
     "description": "The carrier handling the shipment."
    },
    "creationDate": {
     "type": "string",
     "description": "Date on which the shipment has been created, in ISO 8601 format."
    },
    "deliveryDate": {
     "type": "string",
     "description": "Date on which the shipment has been delivered, in ISO 8601 format. Present only if status is delievered"
    },
    "id": {
     "type": "string",
     "description": "The id of the shipment."
    },
    "lineItems": {
     "type": "array",
     "description": "The line items that are shipped.",
     "items": {
      "$ref": "OrderShipmentLineItemShipment"
     }
    },
    "status": {
     "type": "string",
     "description": "The status of the shipment."
    },
    "trackingId": {
     "type": "string",
     "description": "The tracking id for the shipment."
    }
   }
  },
  "OrderShipmentLineItemShipment": {
   "id": "OrderShipmentLineItemShipment",
   "type": "object",
   "properties": {
    "lineItemId": {
     "type": "string",
     "description": "The id of the line item that is shipped."
    },
    "quantity": {
     "type": "integer",
     "description": "The quantity that is shipped.",
     "format": "uint32"
    }
   }
  },
  "OrdersAcknowledgeRequest": {
   "id": "OrdersAcknowledgeRequest",
   "type": "object",
   "properties": {
    "operationId": {
     "type": "string",
     "description": "The ID of the operation. Unique across all operations for a given order."
    }
   }
  },
  "OrdersAcknowledgeResponse": {
   "id": "OrdersAcknowledgeResponse",
   "type": "object",
   "properties": {
    "executionStatus": {
     "type": "string",
     "description": "The status of the execution."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersAcknowledgeResponse\".",
     "default": "content#ordersAcknowledgeResponse"
    }
   }
  },
  "OrdersAdvanceTestOrderResponse": {
   "id": "OrdersAdvanceTestOrderResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersAdvanceTestOrderResponse\".",
     "default": "content#ordersAdvanceTestOrderResponse"
    }
   }
  },
  "OrdersCancelLineItemRequest": {
   "id": "OrdersCancelLineItemRequest",
   "type": "object",
   "properties": {
    "lineItemId": {
     "type": "string",
     "description": "The ID of the line item to cancel."
    },
    "operationId": {
     "type": "string",
     "description": "The ID of the operation. Unique across all operations for a given order."
    },
    "quantity": {
     "type": "integer",
     "description": "The quantity to cancel.",
     "format": "uint32"
    },
    "reason": {
     "type": "string",
     "description": "The reason for the cancellation."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrdersCancelLineItemResponse": {
   "id": "OrdersCancelLineItemResponse",
   "type": "object",
   "properties": {
    "executionStatus": {
     "type": "string",
     "description": "The status of the execution."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCancelLineItemResponse\".",
     "default": "content#ordersCancelLineItemResponse"
    }
   }
  },
  "OrdersCancelRequest": {
   "id": "OrdersCancelRequest",
   "type": "object",
   "properties": {
    "operationId": {
     "type": "string",
     "description": "The ID of the operation. Unique across all operations for a given order."
    },
    "reason": {
     "type": "string",
     "description": "The reason for the cancellation."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrdersCancelResponse": {
   "id": "OrdersCancelResponse",
   "type": "object",
   "properties": {
    "executionStatus": {
     "type": "string",
     "description": "The status of the execution."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCancelResponse\".",
     "default": "content#ordersCancelResponse"
    }
   }
  },
  "OrdersCreateTestOrderRequest": {
   "id": "OrdersCreateTestOrderRequest",
   "type": "object",
   "properties": {
    "templateName": {
     "type": "string",
     "description": "The test order template to use. Specify as an alternative to testOrder as a shortcut for retrieving a template and then creating an order using that template."
    },
    "testOrder": {
     "$ref": "TestOrder",
     "description": "The test order to create."
    }
   }
  },
  "OrdersCreateTestOrderResponse": {
   "id": "OrdersCreateTestOrderResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCreateTestOrderResponse\".",
     "default": "content#ordersCreateTestOrderResponse"
    },
    "orderId": {
     "type": "string",
     "description": "The ID of the newly created test order."
    }
   }
  },
  "OrdersCustomBatchRequest": {
   "id": "OrdersCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "OrdersCustomBatchRequestEntry"
     }
    }
   }
  },
  "OrdersCustomBatchRequestEntry": {
   "id": "OrdersCustomBatchRequestEntry",
   "type": "object",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "cancel": {
     "$ref": "OrdersCustomBatchRequestEntryCancel",
     "description": "Required for cancel method."
    },
    "cancelLineItem": {
     "$ref": "OrdersCustomBatchRequestEntryCancelLineItem",
     "description": "Required for cancelLineItem method."
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "merchantOrderId": {
     "type": "string",
     "description": "The merchant order id. Required for updateMerchantOrderId and getByMerchantOrderId methods."
    },
    "method": {
     "type": "string",
     "description": "The method to apply."
    },
    "operationId": {
     "type": "string",
     "description": "The ID of the operation. Unique across all operations for a given order. Required for all methods beside get and getByMerchantOrderId."
    },
    "orderId": {
     "type": "string",
     "description": "The ID of the order. Required for all methods beside getByMerchantOrderId."
    },
    "refund": {
     "$ref": "OrdersCustomBatchRequestEntryRefund",
     "description": "Required for refund method."
    },
    "returnLineItem": {
     "$ref": "OrdersCustomBatchRequestEntryReturnLineItem",
     "description": "Required for returnLineItem method."
    },
    "shipLineItems": {
     "$ref": "OrdersCustomBatchRequestEntryShipLineItems",
     "description": "Required for shipLineItems method."
    },
    "updateShipment": {
     "$ref": "OrdersCustomBatchRequestEntryUpdateShipment",
     "description": "Required for updateShipment method."
    }
   }
  },
  "OrdersCustomBatchRequestEntryCancel": {
   "id": "OrdersCustomBatchRequestEntryCancel",
   "type": "object",
   "properties": {
    "reason": {
     "type": "string",
     "description": "The reason for the cancellation."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrdersCustomBatchRequestEntryCancelLineItem": {
   "id": "OrdersCustomBatchRequestEntryCancelLineItem",
   "type": "object",
   "properties": {
    "lineItemId": {
     "type": "string",
     "description": "The ID of the line item to cancel."
    },
    "quantity": {
     "type": "integer",
     "description": "The quantity to cancel.",
     "format": "uint32"
    },
    "reason": {
     "type": "string",
     "description": "The reason for the cancellation."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrdersCustomBatchRequestEntryRefund": {
   "id": "OrdersCustomBatchRequestEntryRefund",
   "type": "object",
   "properties": {
    "amount": {
     "$ref": "Price",
     "description": "The amount that is refunded."
    },
    "reason": {
     "type": "string",
     "description": "The reason for the refund."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrdersCustomBatchRequestEntryReturnLineItem": {
   "id": "OrdersCustomBatchRequestEntryReturnLineItem",
   "type": "object",
   "properties": {
    "lineItemId": {
     "type": "string",
     "description": "The ID of the line item to return."
    },
    "quantity": {
     "type": "integer",
     "description": "The quantity to return.",
     "format": "uint32"
    },
    "reason": {
     "type": "string",
     "description": "The reason for the return."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrdersCustomBatchRequestEntryShipLineItems": {
   "id": "OrdersCustomBatchRequestEntryShipLineItems",
   "type": "object",
   "properties": {
    "carrier": {
     "type": "string",
     "description": "The carrier handling the shipment."
    },
    "lineItems": {
     "type": "array",
     "description": "Line items to ship.",
     "items": {
      "$ref": "OrderShipmentLineItemShipment"
     }
    },
    "shipmentId": {
     "type": "string",
     "description": "The ID of the shipment."
    },
    "trackingId": {
     "type": "string",
     "description": "The tracking id for the shipment."
    }
   }
  },
  "OrdersCustomBatchRequestEntryUpdateShipment": {
   "id": "OrdersCustomBatchRequestEntryUpdateShipment",
   "type": "object",
   "properties": {
    "carrier": {
     "type": "string",
     "description": "The carrier handling the shipment. Not updated if missing."
    },
    "shipmentId": {
     "type": "string",
     "description": "The ID of the shipment."
    },
    "status": {
     "type": "string",
     "description": "New status for the shipment. Not updated if missing."
    },
    "trackingId": {
     "type": "string",
     "description": "The tracking id for the shipment. Not updated if missing."
    }
   }
  },
  "OrdersCustomBatchResponse": {
   "id": "OrdersCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "OrdersCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCustomBatchResponse\".",
     "default": "content#ordersCustomBatchResponse"
    }
   }
  },
  "OrdersCustomBatchResponseEntry": {
   "id": "OrdersCustomBatchResponseEntry",
   "type": "object",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors defined if and only if the request failed."
    },
    "executionStatus": {
     "type": "string",
     "description": "The status of the execution. Only defined if the method is not get or getByMerchantOrderId and if the request was successful."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCustomBatchResponseEntry\".",
     "default": "content#ordersCustomBatchResponseEntry"
    },
    "order": {
     "$ref": "Order",
     "description": "The retrieved order. Only defined if the method is get and if the request was successful."
    }
   }
  },
  "OrdersGetByMerchantOrderIdResponse": {
   "id": "OrdersGetByMerchantOrderIdResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersGetByMerchantOrderIdResponse\".",
     "default": "content#ordersGetByMerchantOrderIdResponse"
    },
    "order": {
     "$ref": "Order",
     "description": "The requested order."
    }
   }
  },
  "OrdersGetTestOrderTemplateResponse": {
   "id": "OrdersGetTestOrderTemplateResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersGetTestOrderTemplateResponse\".",
     "default": "content#ordersGetTestOrderTemplateResponse"
    },
    "template": {
     "$ref": "TestOrder",
     "description": "The requested test order template."
    }
   }
  },
  "OrdersListResponse": {
   "id": "OrdersListResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersListResponse\".",
     "default": "content#ordersListResponse"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The token for the retrieval of the next page of orders."
    },
    "resources": {
     "type": "array",
     "items": {
      "$ref": "Order"
     }
    }
   }
  },
  "OrdersRefundRequest": {
   "id": "OrdersRefundRequest",
   "type": "object",
   "properties": {
    "amount": {
     "$ref": "Price",
     "description": "The amount that is refunded."
    },
    "operationId": {
     "type": "string",
     "description": "The ID of the operation. Unique across all operations for a given order."
    },
    "reason": {
     "type": "string",
     "description": "The reason for the refund."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrdersRefundResponse": {
   "id": "OrdersRefundResponse",
   "type": "object",
   "properties": {
    "executionStatus": {
     "type": "string",
     "description": "The status of the execution."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersRefundResponse\".",
     "default": "content#ordersRefundResponse"
    }
   }
  },
  "OrdersReturnLineItemRequest": {
   "id": "OrdersReturnLineItemRequest",
   "type": "object",
   "properties": {
    "lineItemId": {
     "type": "string",
     "description": "The ID of the line item to return."
    },
    "operationId": {
     "type": "string",
     "description": "The ID of the operation. Unique across all operations for a given order."
    },
    "quantity": {
     "type": "integer",
     "description": "The quantity to return.",
     "format": "uint32"
    },
    "reason": {
     "type": "string",
     "description": "The reason for the return."
    },
    "reasonText": {
     "type": "string",
     "description": "The explanation of the reason."
    }
   }
  },
  "OrdersReturnLineItemResponse": {
   "id": "OrdersReturnLineItemResponse",
   "type": "object",
   "properties": {
    "executionStatus": {
     "type": "string",
     "description": "The status of the execution."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersReturnLineItemResponse\".",
     "default": "content#ordersReturnLineItemResponse"
    }
   }
  },
  "OrdersShipLineItemsRequest": {
   "id": "OrdersShipLineItemsRequest",
   "type": "object",
   "properties": {
    "carrier": {
     "type": "string",
     "description": "The carrier handling the shipment."
    },
    "lineItems": {
     "type": "array",
     "description": "Line items to ship.",
     "items": {
      "$ref": "OrderShipmentLineItemShipment"
     }
    },
    "operationId": {
     "type": "string",
     "description": "The ID of the operation. Unique across all operations for a given order."
    },
    "shipmentId": {
     "type": "string",
     "description": "The ID of the shipment."
    },
    "trackingId": {
     "type": "string",
     "description": "The tracking id for the shipment."
    }
   }
  },
  "OrdersShipLineItemsResponse": {
   "id": "OrdersShipLineItemsResponse",
   "type": "object",
   "properties": {
    "executionStatus": {
     "type": "string",
     "description": "The status of the execution."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersShipLineItemsResponse\".",
     "default": "content#ordersShipLineItemsResponse"
    }
   }
  },
  "OrdersUpdateMerchantOrderIdRequest": {
   "id": "OrdersUpdateMerchantOrderIdRequest",
   "type": "object",
   "properties": {
    "merchantOrderId": {
     "type": "string",
     "description": "The merchant order id to be assigned to the order. Must be unique per merchant."
    },
    "operationId": {
     "type": "string",
     "description": "The ID of the operation. Unique across all operations for a given order."
    }
   }
  },
  "OrdersUpdateMerchantOrderIdResponse": {
   "id": "OrdersUpdateMerchantOrderIdResponse",
   "type": "object",
   "properties": {
    "executionStatus": {
     "type": "string",
     "description": "The status of the execution."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersUpdateMerchantOrderIdResponse\".",
     "default": "content#ordersUpdateMerchantOrderIdResponse"
    }
   }
  },
  "OrdersUpdateShipmentRequest": {
   "id": "OrdersUpdateShipmentRequest",
   "type": "object",
   "properties": {
    "carrier": {
     "type": "string",
     "description": "The carrier handling the shipment. Not updated if missing."
    },
    "operationId": {
     "type": "string",
     "description": "The ID of the operation. Unique across all operations for a given order."
    },
    "shipmentId": {
     "type": "string",
     "description": "The ID of the shipment."
    },
    "status": {
     "type": "string",
     "description": "New status for the shipment. Not updated if missing."
    },
    "trackingId": {
     "type": "string",
     "description": "The tracking id for the shipment. Not updated if missing."
    }
   }
  },
  "OrdersUpdateShipmentResponse": {
   "id": "OrdersUpdateShipmentResponse",
   "type": "object",
   "properties": {
    "executionStatus": {
     "type": "string",
     "description": "The status of the execution."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersUpdateShipmentResponse\".",
     "default": "content#ordersUpdateShipmentResponse"
    }
   }
  },
  "Price": {
   "id": "Price",
   "type": "object",
   "properties": {
    "currency": {
     "type": "string",
     "description": "The currency of the price."
    },
    "value": {
     "type": "string",
     "description": "The price represented as a number."
    }
   }
  },
  "Product": {
   "id": "Product",
   "type": "object",
   "description": "Product data.",
   "properties": {
    "additionalImageLinks": {
     "type": "array",
     "description": "Additional URLs of images of the item.",
     "items": {
      "type": "string"
     }
    },
    "adult": {
     "type": "boolean",
     "description": "Set to true if the item is targeted towards adults."
    },
    "adwordsGrouping": {
     "type": "string",
     "description": "Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise."
    },
    "adwordsLabels": {
     "type": "array",
     "description": "Similar to adwords_grouping, but only works on CPC.",
     "items": {
      "type": "string"
     }
    },
    "adwordsRedirect": {
     "type": "string",
     "description": "Allows advertisers to override the item URL when the product is shown within the context of Product Ads."
    },
    "ageGroup": {
     "type": "string",
     "description": "Target age group of the item."
    },
    "aspects": {
     "type": "array",
     "description": "Specifies the intended aspects for the product.",
     "items": {
      "$ref": "ProductAspect"
     }
    },
    "availability": {
     "type": "string",
     "description": "Availability status of the item."
    },
    "availabilityDate": {
     "type": "string",
     "description": "The day a pre-ordered product becomes available for delivery, in ISO 8601 format."
    },
    "brand": {
     "type": "string",
     "description": "Brand of the item."
    },
    "channel": {
     "type": "string",
     "description": "The item's channel (online or local).",
     "annotations": {
      "required": [
       "content.products.insert"
      ]
     }
    },
    "color": {
     "type": "string",
     "description": "Color of the item."
    },
    "condition": {
     "type": "string",
     "description": "Condition or state of the item."
    },
    "contentLanguage": {
     "type": "string",
     "description": "The two-letter ISO 639-1 language code for the item.",
     "annotations": {
      "required": [
       "content.products.insert"
      ]
     }
    },
    "customAttributes": {
     "type": "array",
     "description": "A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { \"name\": \"size type\", \"type\": \"text\", \"value\": \"regular\" }). This is useful for submitting attributes not explicitly exposed by the API.",
     "items": {
      "$ref": "ProductCustomAttribute"
     }
    },
    "customGroups": {
     "type": "array",
     "description": "A list of custom (merchant-provided) custom attribute groups.",
     "items": {
      "$ref": "ProductCustomGroup"
     }
    },
    "customLabel0": {
     "type": "string",
     "description": "Custom label 0 for custom grouping of items in a Shopping campaign."
    },
    "customLabel1": {
     "type": "string",
     "description": "Custom label 1 for custom grouping of items in a Shopping campaign."
    },
    "customLabel2": {
     "type": "string",
     "description": "Custom label 2 for custom grouping of items in a Shopping campaign."
    },
    "customLabel3": {
     "type": "string",
     "description": "Custom label 3 for custom grouping of items in a Shopping campaign."
    },
    "customLabel4": {
     "type": "string",
     "description": "Custom label 4 for custom grouping of items in a Shopping campaign."
    },
    "description": {
     "type": "string",
     "description": "Description of the item."
    },
    "destinations": {
     "type": "array",
     "description": "Specifies the intended destinations for the product.",
     "items": {
      "$ref": "ProductDestination"
     }
    },
    "displayAdsId": {
     "type": "string",
     "description": "An identifier for an item for dynamic remarketing campaigns."
    },
    "displayAdsLink": {
     "type": "string",
     "description": "URL directly to your item's landing page for dynamic remarketing campaigns."
    },
    "displayAdsSimilarIds": {
     "type": "array",
     "description": "Advertiser-specified recommendations.",
     "items": {
      "type": "string"
     }
    },
    "displayAdsTitle": {
     "type": "string",
     "description": "Title of an item for dynamic remarketing campaigns."
    },
    "displayAdsValue": {
     "type": "number",
     "description": "Offer margin for dynamic remarketing campaigns.",
     "format": "double"
    },
    "energyEfficiencyClass": {
     "type": "string",
     "description": "The energy efficiency class as defined in EU directive 2010/30/EU."
    },
    "expirationDate": {
     "type": "string",
     "description": "Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future."
    },
    "gender": {
     "type": "string",
     "description": "Target gender of the item."
    },
    "googleProductCategory": {
     "type": "string",
     "description": "Google's category of the item (see Google product taxonomy)."
    },
    "gtin": {
     "type": "string",
     "description": "Global Trade Item Number (GTIN) of the item."
    },
    "id": {
     "type": "string",
     "description": "The REST id of the product."
    },
    "identifierExists": {
     "type": "boolean",
     "description": "False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada."
    },
    "imageLink": {
     "type": "string",
     "description": "URL of an image of the item."
    },
    "installment": {
     "$ref": "ProductInstallment",
     "description": "Number and amount of installments to pay for an item. Brazil only."
    },
    "isBundle": {
     "type": "boolean",
     "description": "Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price."
    },
    "itemGroupId": {
     "type": "string",
     "description": "Shared identifier for all variants of the same product."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#product\".",
     "default": "content#product"
    },
    "link": {
     "type": "string",
     "description": "URL directly linking to your item's page on your website."
    },
    "loyaltyPoints": {
     "$ref": "LoyaltyPoints",
     "description": "Loyalty points that users receive after purchasing the item. Japan only."
    },
    "material": {
     "type": "string",
     "description": "The material of which the item is made."
    },
    "mobileLink": {
     "type": "string",
     "description": "Link to a mobile-optimized version of the landing page."
    },
    "mpn": {
     "type": "string",
     "description": "Manufacturer Part Number (MPN) of the item."
    },
    "multipack": {
     "type": "string",
     "description": "The number of identical products in a merchant-defined multipack.",
     "format": "int64"
    },
    "offerId": {
     "type": "string",
     "description": "An identifier of the item.",
     "annotations": {
      "required": [
       "content.products.insert"
      ]
     }
    },
    "onlineOnly": {
     "type": "boolean",
     "description": "Whether an item is available for purchase only online."
    },
    "pattern": {
     "type": "string",
     "description": "The item's pattern (e.g. polka dots)."
    },
    "price": {
     "$ref": "Price",
     "description": "Price of the item."
    },
    "productType": {
     "type": "string",
     "description": "Your category of the item (formatted as in product feeds specification)."
    },
    "salePrice": {
     "$ref": "Price",
     "description": "Advertised sale price of the item."
    },
    "salePriceEffectiveDate": {
     "type": "string",
     "description": "Date range during which the item is on sale (see product feed specifications)."
    },
    "sellOnGoogleQuantity": {
     "type": "string",
     "description": "The quantity of the product that is reserved for sell-on-google ads.",
     "format": "int64"
    },
    "shipping": {
     "type": "array",
     "description": "Shipping rules.",
     "items": {
      "$ref": "ProductShipping"
     }
    },
    "shippingHeight": {
     "$ref": "ProductShippingDimension",
     "description": "Height of the item for shipping."
    },
    "shippingLabel": {
     "type": "string",
     "description": "The shipping label of the product, used to group product in account-level shipping rules."
    },
    "shippingLength": {
     "$ref": "ProductShippingDimension",
     "description": "Length of the item for shipping."
    },
    "shippingWeight": {
     "$ref": "ProductShippingWeight",
     "description": "Weight of the item for shipping."
    },
    "shippingWidth": {
     "$ref": "ProductShippingDimension",
     "description": "Width of the item for shipping."
    },
    "sizeSystem": {
     "type": "string",
     "description": "System in which the size is specified. Recommended for apparel items."
    },
    "sizeType": {
     "type": "string",
     "description": "The cut of the item. Recommended for apparel items."
    },
    "sizes": {
     "type": "array",
     "description": "Size of the item.",
     "items": {
      "type": "string"
     }
    },
    "targetCountry": {
     "type": "string",
     "description": "The CLDR territory code for the item.",
     "annotations": {
      "required": [
       "content.products.insert"
      ]
     }
    },
    "taxes": {
     "type": "array",
     "description": "Tax information.",
     "items": {
      "$ref": "ProductTax"
     }
    },
    "title": {
     "type": "string",
     "description": "Title of the item."
    },
    "unitPricingBaseMeasure": {
     "$ref": "ProductUnitPricingBaseMeasure",
     "description": "The preference of the denominator of the unit price."
    },
    "unitPricingMeasure": {
     "$ref": "ProductUnitPricingMeasure",
     "description": "The measure and dimension of an item."
    },
    "validatedDestinations": {
     "type": "array",
     "description": "The read-only list of intended destinations which passed validation.",
     "items": {
      "type": "string"
     }
    },
    "warnings": {
     "type": "array",
     "description": "Read-only warnings.",
     "items": {
      "$ref": "Error"
     }
    }
   }
  },
  "ProductAspect": {
   "id": "ProductAspect",
   "type": "object",
   "properties": {
    "aspectName": {
     "type": "string",
     "description": "The name of the aspect."
    },
    "destinationName": {
     "type": "string",
     "description": "The name of the destination. Leave out to apply to all destinations."
    },
    "intention": {
     "type": "string",
     "description": "Whether the aspect is required, excluded or should be validated."
    }
   }
  },
  "ProductCustomAttribute": {
   "id": "ProductCustomAttribute",
   "type": "object",
   "properties": {
    "name": {
     "type": "string",
     "description": "The name of the attribute. Underscores will be replaced by spaces upon insertion."
    },
    "type": {
     "type": "string",
     "description": "The type of the attribute."
    },
    "unit": {
     "type": "string",
     "description": "Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT."
    },
    "value": {
     "type": "string",
     "description": "The value of the attribute."
    }
   }
  },
  "ProductCustomGroup": {
   "id": "ProductCustomGroup",
   "type": "object",
   "properties": {
    "attributes": {
     "type": "array",
     "description": "The sub-attributes.",
     "items": {
      "$ref": "ProductCustomAttribute"
     }
    },
    "name": {
     "type": "string",
     "description": "The name of the group. Underscores will be replaced by spaces upon insertion."
    }
   }
  },
  "ProductDestination": {
   "id": "ProductDestination",
   "type": "object",
   "properties": {
    "destinationName": {
     "type": "string",
     "description": "The name of the destination."
    },
    "intention": {
     "type": "string",
     "description": "Whether the destination is required, excluded or should be validated."
    }
   }
  },
  "ProductInstallment": {
   "id": "ProductInstallment",
   "type": "object",
   "properties": {
    "amount": {
     "$ref": "Price",
     "description": "The amount the buyer has to pay per month."
    },
    "months": {
     "type": "string",
     "description": "The number of installments the buyer has to pay.",
     "format": "int64"
    }
   }
  },
  "ProductShipping": {
   "id": "ProductShipping",
   "type": "object",
   "properties": {
    "country": {
     "type": "string",
     "description": "The CLDR territory code of the country to which an item will ship."
    },
    "locationGroupName": {
     "type": "string",
     "description": "The location where the shipping is applicable, represented by a location group name."
    },
    "locationId": {
     "type": "string",
     "description": "The numeric id of a location that the shipping rate applies to as defined in the AdWords API.",
     "format": "int64"
    },
    "postalCode": {
     "type": "string",
     "description": "The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length."
    },
    "price": {
     "$ref": "Price",
     "description": "Fixed shipping price, represented as a number."
    },
    "region": {
     "type": "string",
     "description": "The geographic region to which a shipping rate applies (e.g. zip code)."
    },
    "service": {
     "type": "string",
     "description": "A free-form description of the service class or delivery speed."
    }
   }
  },
  "ProductShippingDimension": {
   "id": "ProductShippingDimension",
   "type": "object",
   "properties": {
    "unit": {
     "type": "string",
     "description": "The unit of value.\n\nAcceptable values are:  \n- \"cm\" \n- \"in\""
    },
    "value": {
     "type": "number",
     "description": "The dimension of the product used to calculate the shipping cost of the item.",
     "format": "double"
    }
   }
  },
  "ProductShippingWeight": {
   "id": "ProductShippingWeight",
   "type": "object",
   "properties": {
    "unit": {
     "type": "string",
     "description": "The unit of value."
    },
    "value": {
     "type": "number",
     "description": "The weight of the product used to calculate the shipping cost of the item.",
     "format": "double"
    }
   }
  },
  "ProductStatus": {
   "id": "ProductStatus",
   "type": "object",
   "description": "The status of a product, i.e., information about a product computed asynchronously by the data quality analysis.",
   "properties": {
    "creationDate": {
     "type": "string",
     "description": "Date on which the item has been created, in ISO 8601 format."
    },
    "dataQualityIssues": {
     "type": "array",
     "description": "A list of data quality issues associated with the product.",
     "items": {
      "$ref": "ProductStatusDataQualityIssue"
     }
    },
    "destinationStatuses": {
     "type": "array",
     "description": "The intended destinations for the product.",
     "items": {
      "$ref": "ProductStatusDestinationStatus"
     }
    },
    "googleExpirationDate": {
     "type": "string",
     "description": "Date on which the item expires in Google Shopping, in ISO 8601 format."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productStatus\".",
     "default": "content#productStatus"
    },
    "lastUpdateDate": {
     "type": "string",
     "description": "Date on which the item has been last updated, in ISO 8601 format."
    },
    "link": {
     "type": "string",
     "description": "The link to the product."
    },
    "productId": {
     "type": "string",
     "description": "The id of the product for which status is reported."
    },
    "title": {
     "type": "string",
     "description": "The title of the product."
    }
   }
  },
  "ProductStatusDataQualityIssue": {
   "id": "ProductStatusDataQualityIssue",
   "type": "object",
   "properties": {
    "detail": {
     "type": "string",
     "description": "A more detailed error string."
    },
    "fetchStatus": {
     "type": "string",
     "description": "The fetch status for landing_page_errors."
    },
    "id": {
     "type": "string",
     "description": "The id of the data quality issue."
    },
    "location": {
     "type": "string",
     "description": "The attribute name that is relevant for the issue."
    },
    "severity": {
     "type": "string",
     "description": "The severity of the data quality issue."
    },
    "timestamp": {
     "type": "string",
     "description": "The time stamp of the data quality issue."
    },
    "valueOnLandingPage": {
     "type": "string",
     "description": "The value of that attribute that was found on the landing page"
    },
    "valueProvided": {
     "type": "string",
     "description": "The value the attribute had at time of evaluation."
    }
   }
  },
  "ProductStatusDestinationStatus": {
   "id": "ProductStatusDestinationStatus",
   "type": "object",
   "properties": {
    "approvalStatus": {
     "type": "string",
     "description": "The destination's approval status."
    },
    "destination": {
     "type": "string",
     "description": "The name of the destination"
    },
    "intention": {
     "type": "string",
     "description": "Whether the destination is required, excluded, selected by default or should be validated."
    }
   }
  },
  "ProductTax": {
   "id": "ProductTax",
   "type": "object",
   "properties": {
    "country": {
     "type": "string",
     "description": "The country within which the item is taxed, specified as a CLDR territory code."
    },
    "locationId": {
     "type": "string",
     "description": "The numeric id of a location that the tax rate applies to as defined in the AdWords API.",
     "format": "int64"
    },
    "postalCode": {
     "type": "string",
     "description": "The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*."
    },
    "rate": {
     "type": "number",
     "description": "The percentage of tax rate that applies to the item price.",
     "format": "double"
    },
    "region": {
     "type": "string",
     "description": "The geographic region to which the tax rate applies."
    },
    "taxShip": {
     "type": "boolean",
     "description": "Set to true if tax is charged on shipping."
    }
   }
  },
  "ProductUnitPricingBaseMeasure": {
   "id": "ProductUnitPricingBaseMeasure",
   "type": "object",
   "properties": {
    "unit": {
     "type": "string",
     "description": "The unit of the denominator."
    },
    "value": {
     "type": "string",
     "description": "The denominator of the unit price.",
     "format": "int64"
    }
   }
  },
  "ProductUnitPricingMeasure": {
   "id": "ProductUnitPricingMeasure",
   "type": "object",
   "properties": {
    "unit": {
     "type": "string",
     "description": "The unit of the measure."
    },
    "value": {
     "type": "number",
     "description": "The measure of an item.",
     "format": "double"
    }
   }
  },
  "ProductsCustomBatchRequest": {
   "id": "ProductsCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "ProductsCustomBatchRequestEntry"
     }
    }
   }
  },
  "ProductsCustomBatchRequestEntry": {
   "id": "ProductsCustomBatchRequestEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch products request.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "method": {
     "type": "string"
    },
    "product": {
     "$ref": "Product",
     "description": "The product to insert. Only required if the method is insert."
    },
    "productId": {
     "type": "string",
     "description": "The ID of the product to get or delete. Only defined if the method is get or delete."
    }
   }
  },
  "ProductsCustomBatchResponse": {
   "id": "ProductsCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "ProductsCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productsCustomBatchResponse\".",
     "default": "content#productsCustomBatchResponse"
    }
   }
  },
  "ProductsCustomBatchResponseEntry": {
   "id": "ProductsCustomBatchResponseEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch products response.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors defined if and only if the request failed."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productsCustomBatchResponseEntry\".",
     "default": "content#productsCustomBatchResponseEntry"
    },
    "product": {
     "$ref": "Product",
     "description": "The inserted product. Only defined if the method is insert and if the request was successful."
    }
   }
  },
  "ProductsListResponse": {
   "id": "ProductsListResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productsListResponse\".",
     "default": "content#productsListResponse"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The token for the retrieval of the next page of products."
    },
    "resources": {
     "type": "array",
     "items": {
      "$ref": "Product"
     }
    }
   }
  },
  "ProductstatusesCustomBatchRequest": {
   "id": "ProductstatusesCustomBatchRequest",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The request entries to be processed in the batch.",
     "items": {
      "$ref": "ProductstatusesCustomBatchRequestEntry"
     }
    }
   }
  },
  "ProductstatusesCustomBatchRequestEntry": {
   "id": "ProductstatusesCustomBatchRequestEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch productstatuses request.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "An entry ID, unique within the batch request.",
     "format": "uint32"
    },
    "merchantId": {
     "type": "string",
     "description": "The ID of the managing account.",
     "format": "uint64"
    },
    "method": {
     "type": "string"
    },
    "productId": {
     "type": "string",
     "description": "The ID of the product whose status to get."
    }
   }
  },
  "ProductstatusesCustomBatchResponse": {
   "id": "ProductstatusesCustomBatchResponse",
   "type": "object",
   "properties": {
    "entries": {
     "type": "array",
     "description": "The result of the execution of the batch requests.",
     "items": {
      "$ref": "ProductstatusesCustomBatchResponseEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productstatusesCustomBatchResponse\".",
     "default": "content#productstatusesCustomBatchResponse"
    }
   }
  },
  "ProductstatusesCustomBatchResponseEntry": {
   "id": "ProductstatusesCustomBatchResponseEntry",
   "type": "object",
   "description": "A batch entry encoding a single non-batch productstatuses response.",
   "properties": {
    "batchId": {
     "type": "integer",
     "description": "The ID of the request entry this entry responds to.",
     "format": "uint32"
    },
    "errors": {
     "$ref": "Errors",
     "description": "A list of errors, if the request failed."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productstatusesCustomBatchResponseEntry\".",
     "default": "content#productstatusesCustomBatchResponseEntry"
    },
    "productStatus": {
     "$ref": "ProductStatus",
     "description": "The requested product status. Only defined if the request was successful."
    }
   }
  },
  "ProductstatusesListResponse": {
   "id": "ProductstatusesListResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productstatusesListResponse\".",
     "default": "content#productstatusesListResponse"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The token for the retrieval of the next page of products statuses."
    },
    "resources": {
     "type": "array",
     "items": {
      "$ref": "ProductStatus"
     }
    }
   }
  },
  "TestOrder": {
   "id": "TestOrder",
   "type": "object",
   "properties": {
    "customer": {
     "$ref": "TestOrderCustomer",
     "description": "The details of the customer who placed the order.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"content#testOrder\".",
     "default": "content#testOrder"
    },
    "lineItems": {
     "type": "array",
     "description": "Line items that are ordered. At least one line item must be provided.",
     "items": {
      "$ref": "TestOrderLineItem"
     },
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "paymentMethod": {
     "$ref": "TestOrderPaymentMethod",
     "description": "The details of the payment method."
    },
    "predefinedDeliveryAddress": {
     "type": "string",
     "description": "Identifier of one of the predefined delivery addresses for the delivery.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "shippingCost": {
     "$ref": "Price",
     "description": "The total cost of shipping for all items.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "shippingCostTax": {
     "$ref": "Price",
     "description": "The tax for the total shipping cost.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "shippingOption": {
     "type": "string",
     "description": "The requested shipping option.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    }
   }
  },
  "TestOrderCustomer": {
   "id": "TestOrderCustomer",
   "type": "object",
   "properties": {
    "email": {
     "type": "string",
     "description": "Email address of the customer.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "explicitMarketingPreference": {
     "type": "boolean",
     "description": "If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. Optional."
    },
    "fullName": {
     "type": "string",
     "description": "Full name of the customer."
    }
   }
  },
  "TestOrderLineItem": {
   "id": "TestOrderLineItem",
   "type": "object",
   "properties": {
    "product": {
     "$ref": "TestOrderLineItemProduct",
     "description": "Product data from the time of the order placement."
    },
    "quantityOrdered": {
     "type": "integer",
     "description": "Number of items ordered.",
     "format": "uint32",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "returnInfo": {
     "$ref": "OrderLineItemReturnInfo",
     "description": "Details of the return policy for the line item.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "shippingDetails": {
     "$ref": "OrderLineItemShippingDetails",
     "description": "Details of the requested shipping for the line item.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "unitTax": {
     "$ref": "Price",
     "description": "Unit tax for the line item.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    }
   }
  },
  "TestOrderLineItemProduct": {
   "id": "TestOrderLineItemProduct",
   "type": "object",
   "properties": {
    "brand": {
     "type": "string",
     "description": "Brand of the item.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "channel": {
     "type": "string",
     "description": "The item's channel.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "condition": {
     "type": "string",
     "description": "Condition or state of the item.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "contentLanguage": {
     "type": "string",
     "description": "The two-letter ISO 639-1 language code for the item.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "gtin": {
     "type": "string",
     "description": "Global Trade Item Number (GTIN) of the item. Optional."
    },
    "imageLink": {
     "type": "string",
     "description": "URL of an image of the item.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "itemGroupId": {
     "type": "string",
     "description": "Shared identifier for all variants of the same product. Optional."
    },
    "mpn": {
     "type": "string",
     "description": "Manufacturer Part Number (MPN) of the item. Optional."
    },
    "offerId": {
     "type": "string",
     "description": "An identifier of the item.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "price": {
     "$ref": "Price",
     "description": "The price for the product.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "targetCountry": {
     "type": "string",
     "description": "The CLDR territory code of the target country of the product.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "title": {
     "type": "string",
     "description": "The title of the product.",
     "annotations": {
      "required": [
       "content.orders.createtestorder"
      ]
     }
    },
    "variantAttributes": {
     "type": "array",
     "description": "Variant attributes for the item. Optional.",
     "items": {
      "$ref": "OrderLineItemProductVariantAttribute"
     }
    }
   }
  },
  "TestOrderPaymentMethod": {
   "id": "TestOrderPaymentMethod",
   "type": "object",
   "properties": {
    "expirationMonth": {
     "type": "integer",
     "description": "The card expiration month (January = 1, February = 2 etc.).",
     "format": "int32"
    },
    "expirationYear": {
     "type": "integer",
     "description": "The card expiration year (4-digit, e.g. 2015).",
     "format": "int32"
    },
    "lastFourDigits": {
     "type": "string",
     "description": "The last four digits of the card number."
    },
    "predefinedBillingAddress": {
     "type": "string",
     "description": "The billing address."
    },
    "type": {
     "type": "string",
     "description": "The type of instrument. Note that real orders might have different values than the four values accepted by createTestOrder."
    }
   }
  },
  "Weight": {
   "id": "Weight",
   "type": "object",
   "properties": {
    "unit": {
     "type": "string",
     "description": "The weight unit.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    },
    "value": {
     "type": "string",
     "description": "The weight represented as a number.",
     "annotations": {
      "required": [
       "content.accountshipping.update"
      ]
     }
    }
   }
  }
 },
 "resources": {
  "accounts": {
   "methods": {
    "authinfo": {
     "id": "content.accounts.authinfo",
     "path": "accounts/authinfo",
     "httpMethod": "GET",
     "description": "Returns information about the authenticated user.",
     "response": {
      "$ref": "AccountsAuthInfoResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "custombatch": {
     "id": "content.accounts.custombatch",
     "path": "accounts/batch",
     "httpMethod": "POST",
     "description": "Retrieves, inserts, updates, and deletes multiple Merchant Center (sub-)accounts in a single request.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      }
     },
     "request": {
      "$ref": "AccountsCustomBatchRequest"
     },
     "response": {
      "$ref": "AccountsCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "delete": {
     "id": "content.accounts.delete",
     "path": "{merchantId}/accounts/{accountId}",
     "httpMethod": "DELETE",
     "description": "Deletes a Merchant Center sub-account.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "get": {
     "id": "content.accounts.get",
     "path": "{merchantId}/accounts/{accountId}",
     "httpMethod": "GET",
     "description": "Retrieves a Merchant Center account.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "response": {
      "$ref": "Account"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "insert": {
     "id": "content.accounts.insert",
     "path": "{merchantId}/accounts",
     "httpMethod": "POST",
     "description": "Creates a Merchant Center sub-account.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "request": {
      "$ref": "Account"
     },
     "response": {
      "$ref": "Account"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "list": {
     "id": "content.accounts.list",
     "path": "{merchantId}/accounts",
     "httpMethod": "GET",
     "description": "Lists the sub-accounts in your Merchant Center account.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of accounts to return in the response, used for paging.",
       "format": "uint32",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "pageToken": {
       "type": "string",
       "description": "The token returned by the previous request.",
       "location": "query"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "response": {
      "$ref": "AccountsListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "patch": {
     "id": "content.accounts.patch",
     "path": "{merchantId}/accounts/{accountId}",
     "httpMethod": "PATCH",
     "description": "Updates a Merchant Center account. This method supports patch semantics.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "request": {
      "$ref": "Account"
     },
     "response": {
      "$ref": "Account"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "update": {
     "id": "content.accounts.update",
     "path": "{merchantId}/accounts/{accountId}",
     "httpMethod": "PUT",
     "description": "Updates a Merchant Center account.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "request": {
      "$ref": "Account"
     },
     "response": {
      "$ref": "Account"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  },
  "accountshipping": {
   "methods": {
    "custombatch": {
     "id": "content.accountshipping.custombatch",
     "path": "accountshipping/batch",
     "httpMethod": "POST",
     "description": "Retrieves and updates the shipping settings of multiple accounts in a single request.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      }
     },
     "request": {
      "$ref": "AccountshippingCustomBatchRequest"
     },
     "response": {
      "$ref": "AccountshippingCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "get": {
     "id": "content.accountshipping.get",
     "path": "{merchantId}/accountshipping/{accountId}",
     "httpMethod": "GET",
     "description": "Retrieves the shipping settings of the account.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account for which to get/update account shipping settings.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "response": {
      "$ref": "AccountShipping"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "list": {
     "id": "content.accountshipping.list",
     "path": "{merchantId}/accountshipping",
     "httpMethod": "GET",
     "description": "Lists the shipping settings of the sub-accounts in your Merchant Center account.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of shipping settings to return in the response, used for paging.",
       "format": "uint32",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "pageToken": {
       "type": "string",
       "description": "The token returned by the previous request.",
       "location": "query"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "response": {
      "$ref": "AccountshippingListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "patch": {
     "id": "content.accountshipping.patch",
     "path": "{merchantId}/accountshipping/{accountId}",
     "httpMethod": "PATCH",
     "description": "Updates the shipping settings of the account. This method supports patch semantics.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account for which to get/update account shipping settings.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "request": {
      "$ref": "AccountShipping"
     },
     "response": {
      "$ref": "AccountShipping"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "update": {
     "id": "content.accountshipping.update",
     "path": "{merchantId}/accountshipping/{accountId}",
     "httpMethod": "PUT",
     "description": "Updates the shipping settings of the account.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account for which to get/update account shipping settings.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "request": {
      "$ref": "AccountShipping"
     },
     "response": {
      "$ref": "AccountShipping"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  },
  "accountstatuses": {
   "methods": {
    "custombatch": {
     "id": "content.accountstatuses.custombatch",
     "path": "accountstatuses/batch",
     "httpMethod": "POST",
     "request": {
      "$ref": "AccountstatusesCustomBatchRequest"
     },
     "response": {
      "$ref": "AccountstatusesCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "get": {
     "id": "content.accountstatuses.get",
     "path": "{merchantId}/accountstatuses/{accountId}",
     "httpMethod": "GET",
     "description": "Retrieves the status of a Merchant Center account.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "response": {
      "$ref": "AccountStatus"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "list": {
     "id": "content.accountstatuses.list",
     "path": "{merchantId}/accountstatuses",
     "httpMethod": "GET",
     "description": "Lists the statuses of the sub-accounts in your Merchant Center account.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of account statuses to return in the response, used for paging.",
       "format": "uint32",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "pageToken": {
       "type": "string",
       "description": "The token returned by the previous request.",
       "location": "query"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "response": {
      "$ref": "AccountstatusesListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  },
  "accounttax": {
   "methods": {
    "custombatch": {
     "id": "content.accounttax.custombatch",
     "path": "accounttax/batch",
     "httpMethod": "POST",
     "description": "Retrieves and updates tax settings of multiple accounts in a single request.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      }
     },
     "request": {
      "$ref": "AccounttaxCustomBatchRequest"
     },
     "response": {
      "$ref": "AccounttaxCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "get": {
     "id": "content.accounttax.get",
     "path": "{merchantId}/accounttax/{accountId}",
     "httpMethod": "GET",
     "description": "Retrieves the tax settings of the account.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account for which to get/update account tax settings.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "response": {
      "$ref": "AccountTax"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "list": {
     "id": "content.accounttax.list",
     "path": "{merchantId}/accounttax",
     "httpMethod": "GET",
     "description": "Lists the tax settings of the sub-accounts in your Merchant Center account.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of tax settings to return in the response, used for paging.",
       "format": "uint32",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "pageToken": {
       "type": "string",
       "description": "The token returned by the previous request.",
       "location": "query"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "response": {
      "$ref": "AccounttaxListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "patch": {
     "id": "content.accounttax.patch",
     "path": "{merchantId}/accounttax/{accountId}",
     "httpMethod": "PATCH",
     "description": "Updates the tax settings of the account. This method supports patch semantics.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account for which to get/update account tax settings.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "request": {
      "$ref": "AccountTax"
     },
     "response": {
      "$ref": "AccountTax"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "update": {
     "id": "content.accounttax.update",
     "path": "{merchantId}/accounttax/{accountId}",
     "httpMethod": "PUT",
     "description": "Updates the tax settings of the account.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The ID of the account for which to get/update account tax settings.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "accountId"
     ],
     "request": {
      "$ref": "AccountTax"
     },
     "response": {
      "$ref": "AccountTax"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  },
  "datafeeds": {
   "methods": {
    "custombatch": {
     "id": "content.datafeeds.custombatch",
     "path": "datafeeds/batch",
     "httpMethod": "POST",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      }
     },
     "request": {
      "$ref": "DatafeedsCustomBatchRequest"
     },
     "response": {
      "$ref": "DatafeedsCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "delete": {
     "id": "content.datafeeds.delete",
     "path": "{merchantId}/datafeeds/{datafeedId}",
     "httpMethod": "DELETE",
     "description": "Deletes a datafeed from your Merchant Center account.",
     "parameters": {
      "datafeedId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "datafeedId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "get": {
     "id": "content.datafeeds.get",
     "path": "{merchantId}/datafeeds/{datafeedId}",
     "httpMethod": "GET",
     "description": "Retrieves a datafeed from your Merchant Center account.",
     "parameters": {
      "datafeedId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "merchantId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "datafeedId"
     ],
     "response": {
      "$ref": "Datafeed"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "insert": {
     "id": "content.datafeeds.insert",
     "path": "{merchantId}/datafeeds",
     "httpMethod": "POST",
     "description": "Registers a datafeed with your Merchant Center account.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "request": {
      "$ref": "Datafeed"
     },
     "response": {
      "$ref": "Datafeed"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "list": {
     "id": "content.datafeeds.list",
     "path": "{merchantId}/datafeeds",
     "httpMethod": "GET",
     "description": "Lists the datafeeds in your Merchant Center account.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of products to return in the response, used for paging.",
       "format": "uint32",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "pageToken": {
       "type": "string",
       "description": "The token returned by the previous request.",
       "location": "query"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "response": {
      "$ref": "DatafeedsListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "patch": {
     "id": "content.datafeeds.patch",
     "path": "{merchantId}/datafeeds/{datafeedId}",
     "httpMethod": "PATCH",
     "description": "Updates a datafeed of your Merchant Center account. This method supports patch semantics.",
     "parameters": {
      "datafeedId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "datafeedId"
     ],
     "request": {
      "$ref": "Datafeed"
     },
     "response": {
      "$ref": "Datafeed"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "update": {
     "id": "content.datafeeds.update",
     "path": "{merchantId}/datafeeds/{datafeedId}",
     "httpMethod": "PUT",
     "description": "Updates a datafeed of your Merchant Center account.",
     "parameters": {
      "datafeedId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "datafeedId"
     ],
     "request": {
      "$ref": "Datafeed"
     },
     "response": {
      "$ref": "Datafeed"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  },
  "datafeedstatuses": {
   "methods": {
    "custombatch": {
     "id": "content.datafeedstatuses.custombatch",
     "path": "datafeedstatuses/batch",
     "httpMethod": "POST",
     "request": {
      "$ref": "DatafeedstatusesCustomBatchRequest"
     },
     "response": {
      "$ref": "DatafeedstatusesCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "get": {
     "id": "content.datafeedstatuses.get",
     "path": "{merchantId}/datafeedstatuses/{datafeedId}",
     "httpMethod": "GET",
     "description": "Retrieves the status of a datafeed from your Merchant Center account.",
     "parameters": {
      "datafeedId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "merchantId": {
       "type": "string",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "datafeedId"
     ],
     "response": {
      "$ref": "DatafeedStatus"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "list": {
     "id": "content.datafeedstatuses.list",
     "path": "{merchantId}/datafeedstatuses",
     "httpMethod": "GET",
     "description": "Lists the statuses of the datafeeds in your Merchant Center account.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of products to return in the response, used for paging.",
       "format": "uint32",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "pageToken": {
       "type": "string",
       "description": "The token returned by the previous request.",
       "location": "query"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "response": {
      "$ref": "DatafeedstatusesListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  },
  "inventory": {
   "methods": {
    "custombatch": {
     "id": "content.inventory.custombatch",
     "path": "inventory/batch",
     "httpMethod": "POST",
     "description": "Updates price and availability for multiple products or stores in a single request. This operation does not update the expiration date of the products.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      }
     },
     "request": {
      "$ref": "InventoryCustomBatchRequest"
     },
     "response": {
      "$ref": "InventoryCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "set": {
     "id": "content.inventory.set",
     "path": "{merchantId}/inventory/{storeCode}/products/{productId}",
     "httpMethod": "POST",
     "description": "Updates price and availability of a product in your Merchant Center account. This operation does not update the expiration date of the product.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "productId": {
       "type": "string",
       "description": "The ID of the product for which to update price and availability.",
       "required": true,
       "location": "path"
      },
      "storeCode": {
       "type": "string",
       "description": "The code of the store for which to update price and availability. Use online to update price and availability of an online product.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "storeCode",
      "productId"
     ],
     "request": {
      "$ref": "InventorySetRequest"
     },
     "response": {
      "$ref": "InventorySetResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  },
  "orders": {
   "methods": {
    "acknowledge": {
     "id": "content.orders.acknowledge",
     "path": "{merchantId}/orders/{orderId}/acknowledge",
     "httpMethod": "POST",
     "description": "Marks an order as acknowledged.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the order.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "request": {
      "$ref": "OrdersAcknowledgeRequest"
     },
     "response": {
      "$ref": "OrdersAcknowledgeResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "advancetestorder": {
     "id": "content.orders.advancetestorder",
     "path": "{merchantId}/testorders/{orderId}/advance",
     "httpMethod": "POST",
     "description": "Sandbox only. Moves a test order from state \"inProgress\" to state \"pendingShipment\".",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the test order to modify.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "response": {
      "$ref": "OrdersAdvanceTestOrderResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "cancel": {
     "id": "content.orders.cancel",
     "path": "{merchantId}/orders/{orderId}/cancel",
     "httpMethod": "POST",
     "description": "Cancels all line items in an order.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the order to cancel.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "request": {
      "$ref": "OrdersCancelRequest"
     },
     "response": {
      "$ref": "OrdersCancelResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "cancellineitem": {
     "id": "content.orders.cancellineitem",
     "path": "{merchantId}/orders/{orderId}/cancelLineItem",
     "httpMethod": "POST",
     "description": "Cancels a line item.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the order.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "request": {
      "$ref": "OrdersCancelLineItemRequest"
     },
     "response": {
      "$ref": "OrdersCancelLineItemResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "createtestorder": {
     "id": "content.orders.createtestorder",
     "path": "{merchantId}/testorders",
     "httpMethod": "POST",
     "description": "Sandbox only. Creates a test order.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "request": {
      "$ref": "OrdersCreateTestOrderRequest"
     },
     "response": {
      "$ref": "OrdersCreateTestOrderResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "custombatch": {
     "id": "content.orders.custombatch",
     "path": "orders/batch",
     "httpMethod": "POST",
     "description": "Retrieves or modifies multiple orders in a single request.",
     "request": {
      "$ref": "OrdersCustomBatchRequest"
     },
     "response": {
      "$ref": "OrdersCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "get": {
     "id": "content.orders.get",
     "path": "{merchantId}/orders/{orderId}",
     "httpMethod": "GET",
     "description": "Retrieves an order from your Merchant Center account.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the order.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "response": {
      "$ref": "Order"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "getbymerchantorderid": {
     "id": "content.orders.getbymerchantorderid",
     "path": "{merchantId}/ordersbymerchantid/{merchantOrderId}",
     "httpMethod": "GET",
     "description": "Retrieves an order using merchant order id.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "merchantOrderId": {
       "type": "string",
       "description": "The merchant order id to be looked for.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "merchantOrderId"
     ],
     "response": {
      "$ref": "OrdersGetByMerchantOrderIdResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "gettestordertemplate": {
     "id": "content.orders.gettestordertemplate",
     "path": "{merchantId}/testordertemplates/{templateName}",
     "httpMethod": "GET",
     "description": "Sandbox only. Retrieves an order template that can be used to quickly create a new order in sandbox.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "templateName": {
       "type": "string",
       "description": "The name of the template to retrieve.",
       "required": true,
       "enum": [
        "template1",
        "template2"
       ],
       "enumDescriptions": [
        "",
        ""
       ],
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "templateName"
     ],
     "response": {
      "$ref": "OrdersGetTestOrderTemplateResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "list": {
     "id": "content.orders.list",
     "path": "{merchantId}/orders",
     "httpMethod": "GET",
     "description": "Lists the orders in your Merchant Center account.",
     "parameters": {
      "acknowledged": {
       "type": "boolean",
       "description": "Obtains orders that match the acknowledgement status. When set to true, obtains orders that have been acknowledged. When false, obtains orders that have not been acknowledged.\nWe recommend using this filter set to false, in conjunction with the acknowledge call, such that only un-acknowledged orders are returned.",
       "location": "query"
      },
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of orders to return in the response, used for paging. The default value is 25 orders per page, and the maximum allowed value is 250 orders per page.\nKnown issue: All List calls will return all Orders without limit regardless of the value of this field.",
       "format": "uint32",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderBy": {
       "type": "string",
       "description": "The ordering of the returned list. The only supported value are placedDate desc and placedDate asc for now, which returns orders sorted by placement date. \"placedDate desc\" stands for listing orders by placement date, from oldest to most recent. \"placedDate asc\" stands for listing orders by placement date, from most recent to oldest. In future releases we'll support other sorting criteria.",
       "enum": [
        "placedDate asc",
        "placedDate desc"
       ],
       "enumDescriptions": [
        "",
        ""
       ],
       "location": "query"
      },
      "pageToken": {
       "type": "string",
       "description": "The token returned by the previous request.",
       "location": "query"
      },
      "placedDateEnd": {
       "type": "string",
       "description": "Obtains orders placed before this date (exclusively), in ISO 8601 format.",
       "location": "query"
      },
      "placedDateStart": {
       "type": "string",
       "description": "Obtains orders placed after this date (inclusively), in ISO 8601 format.",
       "location": "query"
      },
      "statuses": {
       "type": "string",
       "description": "Obtains orders that match any of the specified statuses. Multiple values can be specified with comma separation. Additionally, please note that active is a shortcut for pendingShipment and partiallyShipped, and completed is a shortcut for shipped , partiallyDelivered, delivered, partiallyReturned, returned, and canceled.",
       "enum": [
        "active",
        "canceled",
        "completed",
        "delivered",
        "inProgress",
        "partiallyDelivered",
        "partiallyReturned",
        "partiallyShipped",
        "pendingShipment",
        "returned",
        "shipped"
       ],
       "enumDescriptions": [
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
       ],
       "repeated": true,
       "location": "query"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "response": {
      "$ref": "OrdersListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "refund": {
     "id": "content.orders.refund",
     "path": "{merchantId}/orders/{orderId}/refund",
     "httpMethod": "POST",
     "description": "Refund a portion of the order, up to the full amount paid.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the order to refund.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "request": {
      "$ref": "OrdersRefundRequest"
     },
     "response": {
      "$ref": "OrdersRefundResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "returnlineitem": {
     "id": "content.orders.returnlineitem",
     "path": "{merchantId}/orders/{orderId}/returnLineItem",
     "httpMethod": "POST",
     "description": "Returns a line item.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the order.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "request": {
      "$ref": "OrdersReturnLineItemRequest"
     },
     "response": {
      "$ref": "OrdersReturnLineItemResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "shiplineitems": {
     "id": "content.orders.shiplineitems",
     "path": "{merchantId}/orders/{orderId}/shipLineItems",
     "httpMethod": "POST",
     "description": "Marks line item(s) as shipped.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the order.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "request": {
      "$ref": "OrdersShipLineItemsRequest"
     },
     "response": {
      "$ref": "OrdersShipLineItemsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "updatemerchantorderid": {
     "id": "content.orders.updatemerchantorderid",
     "path": "{merchantId}/orders/{orderId}/updateMerchantOrderId",
     "httpMethod": "POST",
     "description": "Updates the merchant order ID for a given order.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the order.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "request": {
      "$ref": "OrdersUpdateMerchantOrderIdRequest"
     },
     "response": {
      "$ref": "OrdersUpdateMerchantOrderIdResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "updateshipment": {
     "id": "content.orders.updateshipment",
     "path": "{merchantId}/orders/{orderId}/updateShipment",
     "httpMethod": "POST",
     "description": "Updates a shipment's status, carrier, and/or tracking ID.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "orderId": {
       "type": "string",
       "description": "The ID of the order.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "orderId"
     ],
     "request": {
      "$ref": "OrdersUpdateShipmentRequest"
     },
     "response": {
      "$ref": "OrdersUpdateShipmentResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  },
  "products": {
   "methods": {
    "custombatch": {
     "id": "content.products.custombatch",
     "path": "products/batch",
     "httpMethod": "POST",
     "description": "Retrieves, inserts, and deletes multiple products in a single request.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      }
     },
     "request": {
      "$ref": "ProductsCustomBatchRequest"
     },
     "response": {
      "$ref": "ProductsCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "delete": {
     "id": "content.products.delete",
     "path": "{merchantId}/products/{productId}",
     "httpMethod": "DELETE",
     "description": "Deletes a product from your Merchant Center account.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "productId": {
       "type": "string",
       "description": "The ID of the product.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "productId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "get": {
     "id": "content.products.get",
     "path": "{merchantId}/products/{productId}",
     "httpMethod": "GET",
     "description": "Retrieves a product from your Merchant Center account.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "productId": {
       "type": "string",
       "description": "The ID of the product.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "productId"
     ],
     "response": {
      "$ref": "Product"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "insert": {
     "id": "content.products.insert",
     "path": "{merchantId}/products",
     "httpMethod": "POST",
     "description": "Uploads a product to your Merchant Center account.",
     "parameters": {
      "dryRun": {
       "type": "boolean",
       "description": "Flag to run the request in dry-run mode.",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "request": {
      "$ref": "Product"
     },
     "response": {
      "$ref": "Product"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "list": {
     "id": "content.products.list",
     "path": "{merchantId}/products",
     "httpMethod": "GET",
     "description": "Lists the products in your Merchant Center account.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of products to return in the response, used for paging.",
       "format": "uint32",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "pageToken": {
       "type": "string",
       "description": "The token returned by the previous request.",
       "location": "query"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "response": {
      "$ref": "ProductsListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  },
  "productstatuses": {
   "methods": {
    "custombatch": {
     "id": "content.productstatuses.custombatch",
     "path": "productstatuses/batch",
     "httpMethod": "POST",
     "description": "Gets the statuses of multiple products in a single request.",
     "request": {
      "$ref": "ProductstatusesCustomBatchRequest"
     },
     "response": {
      "$ref": "ProductstatusesCustomBatchResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "get": {
     "id": "content.productstatuses.get",
     "path": "{merchantId}/productstatuses/{productId}",
     "httpMethod": "GET",
     "description": "Gets the status of a product from your Merchant Center account.",
     "parameters": {
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "productId": {
       "type": "string",
       "description": "The ID of the product.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "merchantId",
      "productId"
     ],
     "response": {
      "$ref": "ProductStatus"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    },
    "list": {
     "id": "content.productstatuses.list",
     "path": "{merchantId}/productstatuses",
     "httpMethod": "GET",
     "description": "Lists the statuses of the products in your Merchant Center account.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of product statuses to return in the response, used for paging.",
       "format": "uint32",
       "location": "query"
      },
      "merchantId": {
       "type": "string",
       "description": "The ID of the managing account.",
       "required": true,
       "format": "uint64",
       "location": "path"
      },
      "pageToken": {
       "type": "string",
       "description": "The token returned by the previous request.",
       "location": "query"
      }
     },
     "parameterOrder": [
      "merchantId"
     ],
     "response": {
      "$ref": "ProductstatusesListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/content"
     ]
    }
   }
  }
 }
}
