# Method: inappproducts.batchUpdate

- [HTTP request](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#body.PATH_PARAMETERS)
- [Request body](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#body.request_body)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#body.response_body)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#body.InappproductsBatchUpdateResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#body.aspect)
- [InappproductsUpdateRequest](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#InappproductsUpdateRequest)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#InappproductsUpdateRequest.SCHEMA_REPRESENTATION)
- [Try it!](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#try-it)

Updates or inserts one or more in-app products (managed products or subscriptions).

Set the latencyTolerance field on nested requests to PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT to achieve maximum update throughput.

This method should no longer be used to update subscriptions. See [this article](https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html) for more information.

### HTTP request

`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/inappproducts:batchUpdate`

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

### Path parameters

| Parameters ||
|---|---|
| `packageName` | `string` Package name of the app. |

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "requests": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#InappproductsUpdateRequest`) } ] } ``` |

| Fields ||
|---|---|
| `requests[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts/batchUpdate#InappproductsUpdateRequest`)`` Required. Individual update requests. At least one request is required. Can contain up to 100 requests. All requests must correspond to different in-app products. |

### Response body

Response for a batch in-app product update.

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

| JSON representation |
|---|
| ``` { "inappproducts": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts#InAppProduct`) } ] } ``` |

| Fields ||
|---|---|
| `inappproducts[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts#InAppProduct`)`` The updated or inserted in-app products. |

### Authorization scopes

Requires the following OAuth scope:

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

## InappproductsUpdateRequest

Request to update an in-app product.

| JSON representation |
|---|
| ``` { "packageName": string, "sku": string, "autoConvertMissingPrices": boolean, "inappproduct": { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts#InAppProduct`) }, "allowMissing": boolean, "latencyTolerance": enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/ProductUpdateLatencyTolerance`) } ``` |

| Fields ||
|---|---|
| `packageName` | `string` Package name of the app. |
| `sku` | `string` Unique identifier for the in-app product. |
| `autoConvertMissingPrices` | `boolean` If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false. |
| `inappproduct` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts#InAppProduct`)`` The new in-app product. |
| `allowMissing` | `boolean` If set to true, and the in-app product with the given packageName and sku doesn't exist, the in-app product will be created. |
| `latencyTolerance` | ``enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/ProductUpdateLatencyTolerance`)`` Optional. The latency tolerance for the propagation of this product update. Defaults to latency-sensitive. |