{
  "version_module": true,
  "batchPath": "batch",
  "servicePath": "",
  "id": "chromewebstore:v2",
  "basePath": "",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "mtlsRootUrl": "https://chromewebstore.mtls.googleapis.com/",
  "parameters": {
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "alt": {
      "type": "string",
      "description": "Data format for response.",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "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.",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    }
  },
  "title": "Chrome Web Store API",
  "ownerDomain": "google.com",
  "kind": "discovery#restDescription",
  "name": "chromewebstore",
  "version": "v2",
  "canonicalName": "Chromewebstore",
  "description": "The Chrome Web Store API provides access to data about apps and extensions, as well as developer tools for managing them.",
  "rootUrl": "https://chromewebstore.googleapis.com/",
  "schemas": {
    "PublishItemRequest": {
      "id": "PublishItemRequest",
      "description": "Request message for PublishItem.",
      "type": "object",
      "properties": {
        "publishType": {
          "description": "Optional. Use this to control if the item is published immediately on approval or staged for publishing in the future. Defaults to `DEFAULT_PUBLISH` if unset.",
          "type": "string",
          "enumDescriptions": [
            "Default value. This is the same as DEFAULT_PUBLISH.",
            "The submission will be published immediately after being approved.",
            "After approval the submission will be staged and can then be published by the developer."
          ],
          "enum": [
            "PUBLISH_TYPE_UNSPECIFIED",
            "DEFAULT_PUBLISH",
            "STAGED_PUBLISH"
          ]
        },
        "deployInfos": {
          "description": "Optional. Additional deploy information including the desired initial percentage rollout. Defaults to the current value saved in the developer dashboard if unset.",
          "type": "array",
          "items": {
            "$ref": "DeployInfo"
          }
        },
        "skipReview": {
          "description": "Optional. Whether to attempt to skip item review. The API will validate if the item qualifies and return a validation error if the item requires review. Defaults to `false` if unset.",
          "type": "boolean"
        },
        "blockOnWarnings": {
          "description": "Optional. When set to true the request will fail if there are any warnings during validation and the details will be included in the error_details. Otherwise warnings are treated as non-blocking and will be ignored for validation but will be included in the response for inspection. Defaults to `false` if unset.",
          "type": "boolean"
        }
      }
    },
    "DeployInfo": {
      "id": "DeployInfo",
      "description": "Deployment information for a specific release channel. Used in requests to update deployment parameters.",
      "type": "object",
      "properties": {
        "deployPercentage": {
          "description": "Required. The current deploy percentage for the release channel (nonnegative number between 0 and 100).",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "PublishItemResponse": {
      "id": "PublishItemResponse",
      "description": "Response message for `PublishItem`.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the item that was submitted",
          "type": "string"
        },
        "itemId": {
          "description": "Output only. The ID of the item.",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "description": "Output only. The current state of the submission.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The item is pending review.",
            "The item has been approved and is ready to be published.",
            "The item is published publicly.",
            "The item is published to trusted testers.",
            "The item has been rejected for publishing.",
            "The item submission has been cancelled."
          ],
          "enum": [
            "ITEM_STATE_UNSPECIFIED",
            "PENDING_REVIEW",
            "STAGED",
            "PUBLISHED",
            "PUBLISHED_TO_TESTERS",
            "REJECTED",
            "CANCELLED"
          ]
        },
        "warningInfo": {
          "description": "Output only. Non-blocking warnings encountered during the request.",
          "readOnly": true,
          "$ref": "WarningsInfo"
        }
      }
    },
    "WarningsInfo": {
      "id": "WarningsInfo",
      "description": "Message containing details on warnings encountered during PublishItem.",
      "type": "object",
      "properties": {
        "warnings": {
          "description": "All warnings encountered during the request.",
          "type": "array",
          "items": {
            "$ref": "Warning"
          }
        }
      }
    },
    "Warning": {
      "id": "Warning",
      "description": "Represents a single warning encountered during the request.",
      "type": "object",
      "properties": {
        "reason": {
          "description": "The reason for the warning. This is a constant value that identifies the proximate cause of the warning. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.",
          "type": "string"
        },
        "description": {
          "description": "A description of the warning. Developers should use this message to understand the warning and take appropriate action to resolve the issue.",
          "type": "string"
        }
      }
    },
    "FetchItemStatusResponse": {
      "id": "FetchItemStatusResponse",
      "description": "Response message for `FetchItemStatus`.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the requested item.",
          "type": "string"
        },
        "itemId": {
          "description": "Output only. The ID of the item.",
          "readOnly": true,
          "type": "string"
        },
        "publicKey": {
          "description": "The public key of the item, which may be generated by the store.",
          "type": "string"
        },
        "publishedItemRevisionStatus": {
          "description": "Output only. Status of the current published revision of the item. Will be unset if the item is not published.",
          "readOnly": true,
          "$ref": "ItemRevisionStatus"
        },
        "submittedItemRevisionStatus": {
          "description": "Status of the item revision submitted to be published. Will be unset if the item has not been submitted for publishing since the last successful publish.",
          "$ref": "ItemRevisionStatus"
        },
        "lastAsyncUploadState": {
          "description": "Output only. The state of the last async upload for an item. Only set when there has been an async upload for the item in the past 24 hours.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The default value.",
            "The upload succeeded.",
            "The upload is currently being processed.",
            "The upload failed.",
            "Used as the value of `lastAsyncUploadState` in a `fetchStatus` response indicating that an upload attempt was not found."
          ],
          "enum": [
            "UPLOAD_STATE_UNSPECIFIED",
            "SUCCEEDED",
            "IN_PROGRESS",
            "FAILED",
            "NOT_FOUND"
          ]
        },
        "takenDown": {
          "description": "If true, the item has been taken down for a policy violation. Check the developer dashboard for details.",
          "type": "boolean"
        },
        "warned": {
          "description": "If true, the item has been warned for a policy violation and will be taken down if not resolved. Check the developer dashboard for details.",
          "type": "boolean"
        }
      }
    },
    "ItemRevisionStatus": {
      "id": "ItemRevisionStatus",
      "description": "Details on the status of an item revision.",
      "type": "object",
      "properties": {
        "state": {
          "description": "Output only. Current state of the item",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The item is pending review.",
            "The item has been approved and is ready to be published.",
            "The item is published publicly.",
            "The item is published to trusted testers.",
            "The item has been rejected for publishing.",
            "The item submission has been cancelled."
          ],
          "enum": [
            "ITEM_STATE_UNSPECIFIED",
            "PENDING_REVIEW",
            "STAGED",
            "PUBLISHED",
            "PUBLISHED_TO_TESTERS",
            "REJECTED",
            "CANCELLED"
          ]
        },
        "distributionChannels": {
          "description": "Details on the package of the item",
          "type": "array",
          "items": {
            "$ref": "DistributionChannel"
          }
        }
      }
    },
    "DistributionChannel": {
      "id": "DistributionChannel",
      "description": "Deployment information for a specific release channel",
      "type": "object",
      "properties": {
        "deployPercentage": {
          "description": "The current deploy percentage for the release channel (nonnegative number between 0 and 100).",
          "type": "integer",
          "format": "int32"
        },
        "crxVersion": {
          "description": "The extension version provided in the manifest of the uploaded package.",
          "type": "string"
        }
      }
    },
    "UploadItemPackageRequest": {
      "id": "UploadItemPackageRequest",
      "description": "Request message for UploadItemPackage.",
      "type": "object",
      "properties": {}
    },
    "UploadItemPackageResponse": {
      "id": "UploadItemPackageResponse",
      "description": "Response message for `UploadItemPackage`.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the item the package was uploaded to.",
          "type": "string"
        },
        "itemId": {
          "description": "Output only. The ID of the item the package was uploaded to.",
          "readOnly": true,
          "type": "string"
        },
        "crxVersion": {
          "description": "The extension version provided in the manifest of the uploaded package. This will not be set if the upload is still in progress (`upload_state` is `UPLOAD_IN_PROGRESS`).",
          "type": "string"
        },
        "uploadState": {
          "description": "Output only. The state of the upload. If `upload_state` is `UPLOAD_IN_PROGRESS`, you can poll for updates using the fetchStatus method.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The default value.",
            "The upload succeeded.",
            "The upload is currently being processed.",
            "The upload failed.",
            "Used as the value of `lastAsyncUploadState` in a `fetchStatus` response indicating that an upload attempt was not found."
          ],
          "enum": [
            "UPLOAD_STATE_UNSPECIFIED",
            "SUCCEEDED",
            "IN_PROGRESS",
            "FAILED",
            "NOT_FOUND"
          ]
        }
      }
    },
    "CancelSubmissionRequest": {
      "id": "CancelSubmissionRequest",
      "description": "Request message for CancelSubmission.",
      "type": "object",
      "properties": {}
    },
    "CancelSubmissionResponse": {
      "id": "CancelSubmissionResponse",
      "description": "Response message for `CancelSubmission`.",
      "type": "object",
      "properties": {}
    },
    "SetPublishedDeployPercentageRequest": {
      "id": "SetPublishedDeployPercentageRequest",
      "description": "Request message for SetPublishedDeployPercentage.",
      "type": "object",
      "properties": {
        "deployPercentage": {
          "description": "Required. Unscaled percentage value for the publised revision (nonnegative number between 0 and 100). It must be larger than the existing target percentage.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "SetPublishedDeployPercentageResponse": {
      "id": "SetPublishedDeployPercentageResponse",
      "description": "Response message for `SetPublishedDeployPercentage`.",
      "type": "object",
      "properties": {}
    }
  },
  "fullyEncodeReservedExpansion": true,
  "ownerName": "Google",
  "revision": "20260527",
  "baseUrl": "https://chromewebstore.googleapis.com/",
  "resources": {
    "publishers": {
      "resources": {
        "items": {
          "methods": {
            "publish": {
              "id": "chromewebstore.publishers.items.publish",
              "path": "v2/{+name}:publish",
              "flatPath": "v2/publishers/{publishersId}/items/{itemsId}:publish",
              "httpMethod": "POST",
              "parameters": {
                "name": {
                  "description": "Required. Name of the item in the form `publishers/{publisherId}/items/{itemId}`",
                  "pattern": "^publishers/[^/]+/items/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "PublishItemRequest"
              },
              "response": {
                "$ref": "PublishItemResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/chromewebstore"
              ],
              "description": "Submit the item to be published in the store. The item will be submitted for review unless `skip_review` is set to true, or the item is staged from a previous submission with `publish_type` set to `STAGED_PUBLISH`."
            },
            "fetchStatus": {
              "id": "chromewebstore.publishers.items.fetchStatus",
              "path": "v2/{+name}:fetchStatus",
              "flatPath": "v2/publishers/{publishersId}/items/{itemsId}:fetchStatus",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "Required. Name of the item to retrieve the status of in the form `publishers/{publisherId}/items/{itemId}`",
                  "pattern": "^publishers/[^/]+/items/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "FetchItemStatusResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/chromewebstore",
                "https://www.googleapis.com/auth/chromewebstore.readonly"
              ],
              "description": "Fetch the status of an item."
            },
            "cancelSubmission": {
              "id": "chromewebstore.publishers.items.cancelSubmission",
              "path": "v2/{+name}:cancelSubmission",
              "flatPath": "v2/publishers/{publishersId}/items/{itemsId}:cancelSubmission",
              "httpMethod": "POST",
              "parameters": {
                "name": {
                  "description": "Required. Name of the item to cancel the submission of in the form `publishers/{publisherId}/items/{itemId}`",
                  "pattern": "^publishers/[^/]+/items/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "CancelSubmissionRequest"
              },
              "response": {
                "$ref": "CancelSubmissionResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/chromewebstore"
              ],
              "description": "Cancel the current active submission of an item if present. This can be used to cancel the review of a pending submission."
            },
            "setPublishedDeployPercentage": {
              "id": "chromewebstore.publishers.items.setPublishedDeployPercentage",
              "path": "v2/{+name}:setPublishedDeployPercentage",
              "flatPath": "v2/publishers/{publishersId}/items/{itemsId}:setPublishedDeployPercentage",
              "httpMethod": "POST",
              "parameters": {
                "name": {
                  "description": "Required. Name of the item to update the published revision of in the form `publishers/{publisherId}/items/{itemId}`",
                  "pattern": "^publishers/[^/]+/items/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "SetPublishedDeployPercentageRequest"
              },
              "response": {
                "$ref": "SetPublishedDeployPercentageResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/chromewebstore"
              ],
              "description": "Set a higher target deploy percentage for the item's published revision. This will be updated without the item being submitted for review. This is only available to items with over 10,000 seven-day active users."
            }
          }
        }
      }
    },
    "media": {
      "methods": {
        "upload": {
          "id": "chromewebstore.media.upload",
          "path": "v2/{+name}:upload",
          "flatPath": "v2/publishers/{publishersId}/items/{itemsId}:upload",
          "httpMethod": "POST",
          "parameters": {
            "name": {
              "description": "Required. Name of the item to upload the new package to in the form `publishers/{publisherId}/items/{itemId}`",
              "pattern": "^publishers/[^/]+/items/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "supportsMediaUpload": true,
          "mediaUpload": {
            "accept": [
              "*/*"
            ],
            "maxSize": "2147483648",
            "protocols": {
              "simple": {
                "multipart": true,
                "path": "/upload/v2/{+name}:upload"
              }
            }
          },
          "request": {
            "$ref": "UploadItemPackageRequest"
          },
          "response": {
            "$ref": "UploadItemPackageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/chromewebstore"
          ],
          "description": "Upload a new package to an existing item."
        }
      }
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/chromewebstore": {
          "description": "See, edit, update, or publish your Chrome Web Store extensions, themes, apps, and licences you have access to"
        },
        "https://www.googleapis.com/auth/chromewebstore.readonly": {
          "description": "See and download your Chrome Web Store extensions and apps, and see licenses you have access to"
        }
      }
    }
  },
  "documentationLink": "https://developer.chrome.com/docs/webstore/api",
  "discoveryVersion": "v1",
  "protocol": "rest"
}
