- [HTTP request](https://developer.chrome.com/docs/webstore/api/reference/rest/v2/media/upload#body.HTTP_TEMPLATE)
- [Path parameters](https://developer.chrome.com/docs/webstore/api/reference/rest/v2/media/upload#body.PATH_PARAMETERS)
- [Request body](https://developer.chrome.com/docs/webstore/api/reference/rest/v2/media/upload#body.request_body)
- [Response body](https://developer.chrome.com/docs/webstore/api/reference/rest/v2/media/upload#body.response_body)
  - [JSON representation](https://developer.chrome.com/docs/webstore/api/reference/rest/v2/media/upload#body.UploadItemPackageResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developer.chrome.com/docs/webstore/api/reference/rest/v2/media/upload#body.aspect)
- [Try it!](https://developer.chrome.com/docs/webstore/api/reference/rest/v2/media/upload#try-it)

Upload a new package to an existing item.

### HTTP request

- Upload URI, for media upload requests:  
  `POST https://chromewebstore.googleapis.com/upload/v2/{name=publishers/*/items/*}:upload`
- Metadata URI, for metadata-only requests:  
  `POST https://chromewebstore.googleapis.com/v2/{name=publishers/*/items/*}:upload`

The URL uses[gRPC Transcoding](https://google.aip.dev/127)syntax.

### Path parameters

|                                                          Parameters                                                           ||
|--------|-----------------------------------------------------------------------------------------------------------------------|
| `name` | `string` Required. Name of the item to upload the new package to in the form`publishers/{publisherId}/items/{itemId}` |

### Request body

The request body must be empty.

### Response body

Response message for`media.upload`.

If successful, the response body contains data with the following structure:

|                                                                          JSON representation                                                                           |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ``` { "name": string, "itemId": string, "crxVersion": string, "uploadState": enum (https://developer.chrome.com/docs/webstore/api/reference/rest/v2/UploadState) } ``` |

|                                                                                                                          Fields                                                                                                                           ||
|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `name`        | `string` The name of the item the package was uploaded to.                                                                                                                                                                                 |
| `itemId`      | `string` Output only. The ID of the item the package was uploaded to.                                                                                                                                                                      |
| `crxVersion`  | `string` The extension version provided in the manifest of the uploaded package. This will not be set if the upload is still in progress (`uploadState`is`UPLOAD_IN_PROGRESS`).                                                            |
| `uploadState` | `enum (`[UploadState](https://developer.chrome.com/docs/webstore/api/reference/rest/v2/UploadState)`)` Output only. The state of the upload. If`uploadState`is`UPLOAD_IN_PROGRESS`, you can poll for updates using the fetchStatus method. |

### Authorization scopes

Requires the following OAuth scope:

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