# Method: monetization.subscriptions.basePlans.batchMigratePrices

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

Batch variant of the basePlans.migratePrices endpoint.

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

### HTTP request

`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans:batchMigratePrices`

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

### Path parameters

| Parameters ||
|---|---|
| `packageName` | `string` Required. The parent app (package name) for which the subscriptions should be created or updated. Must be equal to the packageName field on all the Subscription resources. |
| `productId` | `string` Required. The product ID of the parent subscription, if all updated offers belong to the same subscription. If this batch update spans multiple subscriptions, set this field to "-". Must be set. |

### 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/monetization.subscriptions.basePlans/batchMigratePrices#MigrateBasePlanPricesRequest`) } ] } ``` |

| Fields ||
|---|---|
| `requests[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans/batchMigratePrices#MigrateBasePlanPricesRequest`)`` Required. Up to 100 price migration requests. All requests must update different base plans. |

### Response body

Response message for basePlans.batchMigratePrices.

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

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

| Fields ||
|---|---|
| `responses[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/MigrateBasePlanPricesResponse`)`` Contains one response per requested price migration, in the same order as the request. |

### Authorization scopes

Requires the following OAuth scope:

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

## MigrateBasePlanPricesRequest

Request message for basePlans.migratePrices.

| JSON representation |
|---|
| ``` { "packageName": string, "productId": string, "basePlanId": string, "regionalPriceMigrations": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/RegionalPriceMigrationConfig`) } ], "regionsVersion": { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/RegionsVersion`) }, "latencyTolerance": enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/ProductUpdateLatencyTolerance`) } ``` |

| Fields ||
|---|---|
| `packageName` | `string` Required. Package name of the parent app. Must be equal to the packageName field on the Subscription resource. |
| `productId` | `string` Required. The ID of the subscription to update. Must be equal to the productId field on the Subscription resource. |
| `basePlanId` | `string` Required. The unique base plan ID of the base plan to update prices on. |
| `regionalPriceMigrations[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/RegionalPriceMigrationConfig`)`` Required. The regional prices to update. |
| `regionsVersion` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/RegionsVersion`)`` Required. The version of the available regions being used for the regionalPriceMigrations. |
| `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. |