Chrome Web Store API Reference

This reference describes the methods and resource representation available for the Chrome Web Store Publish API. Each resource type has one or more data representations and one or more methods.

See Using the Chrome Web Store Publish API for a guide on how to authenticate with and make requests to the API.

Authorization

All endpoints are authenticated using OAuth 2.0.

Valid scopes:

  • https://www.googleapis.com/auth/chromewebstore
  • https://www.googleapis.com/auth/chromewebstore.readonly

API endpoints

For Item Resource details, see the resource representation.

All URIs are relative to https://www.googleapis.com.

Operation HTTP request Description
get GET
/chromewebstore/v1.1/items/itemId
Gets a Chrome Web Store item. Provide projection="DRAFT" in URL (case sensitive).
insert POST
/upload/chromewebstore/v1.1/items
Inserts a new item.
publish POST
/chromewebstore/v1.1/
items/itemId/publish
Publishes an item.

The optional publishTarget query parameter specifies how the item will be published. Valid values are "trustedTesters" and "default".
update PUT
/upload/chromewebstore/v1.1/
items/itemId


and

PUT
/items/itemId
Updates an existing item.

Get

Gets a Chrome Web Store item. Provide projection="DRAFT" (case sensitive) as a URL Parameter.

HTTP request

GET https://www.googleapis.com/chromewebstore/v1.1/items/itemId

Parameters

Parameter nameValueDescription
Path parameters
itemIdstringUnique identifier representing the Chrome App, Chrome Extension, or the Chrome Theme.
Optional query parameters
projectionstringDetermines which subset of the item information to return.

Acceptable values are:
  • "DRAFT": Return information extracted from the current draft.

Authorization

This request requires authorization with the following scope.

https://www.googleapis.com/auth/chromewebstore.readonly

The above URL is used as the scope parameter when generating an access token. For more details on API authorization and authentication, consult the OAuth 2.0 documentation.

Request body

Don't supply a request body with this method.

Response

If successful, this method returns an Items resource in the response body.

Insert

Inserts a new item.

This method supports an upload URI and accepts uploaded media.

HTTP request

POST https://www.googleapis.com/upload/chromewebstore/v1.1/items

Parameters

Parameter nameValueDescription
Required query parameters
uploadTypestringThe type of upload request to the /upload URI. The only accepted value is media: a simple upload of the media data.
Optional query parameters
publisherEmailstringThe email of the publisher who owns the items. Defaults to the caller's email address.

Authorization

This request requires authorization with the following scope.

https://www.googleapis.com/auth/chromewebstore

The above URL is used as the scope parameter when generating an access token. For more details on API authorization and authentication, consult the OAuth 2.0 documentation.

Request body

Don't supply a request body with this method.

Response

If successful, this method returns an Items resource in the response body.

Publish

Publishes an item. Provide defined publishTarget in URL (case sensitive): publishTarget = "trustedTesters" or publishTarget = "default".

HTTP request

POST https://www.googleapis.com/chromewebstore/v1.1/items/itemId/publish

Parameters

Parameter nameValueDescription
Path parameters
itemIdstringThe ID of the item to publish.
Optional query parameters
publishTargetstringProvide defined publishTarget in URL (case sensitive): publishTarget="trustedTesters" or publishTarget="default". Defaults to publishTarget="default".

Request body

In the request body, you can optionally supply data with the following structure:

JSON
{
  "target": string
}
Property nameValueDescription
targetstringThe publish target of this publish operation. This is the same as using publishTarget as a URL query parameter. The string value can either be target="trustedTesters" or target="default". The default value, if none is supplied, is target="default". Recommended usage is to use the URL query parameter to specify the value.

Authorization

This request requires authorization with the following scope.

https://www.googleapis.com/auth/chromewebstore

The above URL is used as the scope parameter when generating an access token. For more details on API authorization and authentication, consult the OAuth 2.0 documentation.

Response

If successful, this method returns a response body with the following structure:

{
  "kind": "chromewebstore#item",
  "item_id": string,
  "status": [
    string
  ],
  "statusDetail": [
    string
  ]
}
Property nameValueDescription
kindstringStatic string value is always "chromewebstore#item".
item_idstringThe ID of this item.
status[]listThe status code of this publish operation. It may contain multiple elements from the following list: OK, NOT_AUTHORIZED, INVALID_DEVELOPER, DEVELOPER_NO_OWNERSHIP, DEVELOPER_SUSPENDED, ITEM_NOT_FOUND, ITEM_PENDING_REVIEW, ITEM_TAKEN_DOWN, PUBLISHER_SUSPENDED.
statusDetail[]listDetailed human-comprehensible explanation of the status code above.

Update

Updates an existing item.

This method supports an upload URI and accepts uploaded media.

HTTP request

This method provides media upload functionality through two separate URIs.

  • Upload URI, for media upload requests:

    PUT https://www.googleapis.com/upload/chromewebstore/v1.1/items/itemId
    
  • Metadata URI, for metadata-only requests:

    PUT https://www.googleapis.com/chromewebstore/v1.1/items/itemId
    

Parameters

Parameter nameValueDescription
Path parameters
itemIdstringThe ID of the item to upload.
Required query parameters
uploadTypestringThe type of upload request to the /upload URI. Acceptable values are: media - Simple upload. Upload the media only, without any metadata.

Request body

In the request body, supply an Items resource as the metadata.

Authorization

This request requires authorization with the following scope.

https://www.googleapis.com/auth/chromewebstore

The above URL is used as the scope parameter when generating an access token. For more details on API authorization and authentication, consult the OAuth 2.0 documentation.

Response

If successful, this method returns an Items resource in the response body.

Item Resource

{
  "kind": "chromewebstore#item",
  "id": string,
  "publicKey": string,
  "uploadState": string,
  "itemError": [
    (value)
  ]
}
Property nameValueDescription
idstringUnique ID of the item.
itemError[]listDetail human-readable status of the operation, in English only. Same error messages are displayed when you upload your app to the Chrome Web Store.
kindstringIdentifies this resource as an Item. Value: the fixed string "chromewebstore#item".
publicKeystringPublic key of this item.
uploadStatestringStatus of the operation.

Acceptable values are:
  • "FAILURE"
  • "IN_PROGRESS"
  • "NOT_FOUND"
  • "SUCCESS"