Method: monetization.subscriptions.basePlans.batchMigratePrices
Stay organized with collections
Save and categorize content based on your preferences.
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 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:
Fields |
requests[] |
object (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:
Fields |
responses[] |
object (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.
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 (RegionalPriceMigrationConfig )
Required. The regional prices to update.
|
regionsVersion |
object (RegionsVersion )
Required. The version of the available regions being used for the regionalPriceMigrations.
|
latencyTolerance |
enum (ProductUpdateLatencyTolerance )
Optional. The latency tolerance for the propagation of this product update. Defaults to latency-sensitive.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-21 UTC.
[null,null,["Last updated 2025-05-21 UTC."],[[["\u003cp\u003eUse this endpoint to migrate prices for up to 100 base plans within subscriptions, potentially across multiple subscriptions.\u003c/p\u003e\n"],["\u003cp\u003eThe request body must include details like the package name, product ID, base plan ID, regional price migrations, and regions version for each base plan.\u003c/p\u003e\n"],["\u003cp\u003eThis endpoint requires authorization with the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e scope.\u003c/p\u003e\n"],["\u003cp\u003eSet \u003ccode\u003elatencyTolerance\u003c/code\u003e to \u003ccode\u003ePRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT\u003c/code\u003e for potentially faster updates but with a higher chance of temporary inconsistencies.\u003c/p\u003e\n"],["\u003cp\u003eThe response provides a status for each requested price migration in the same order as the request.\u003c/p\u003e\n"]]],["This outlines a batch API endpoint for migrating base plan prices for Android subscriptions. It uses a POST request to `https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans:batchMigratePrices`. The request body contains an array of `MigrateBasePlanPricesRequest`, specifying the `packageName`, `productId`, `basePlanId`, and `regionalPriceMigrations`. The response includes an array of `MigrateBasePlanPricesResponse`, mirroring the request order. The API requires `androidpublisher` authorization scope. Up to 100 price migration requests are allowed per call.\n"],null,["# Method: monetization.subscriptions.basePlans.batchMigratePrices\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.BatchMigrateBasePlanPricesResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [MigrateBasePlanPricesRequest](#MigrateBasePlanPricesRequest)\n - [JSON representation](#MigrateBasePlanPricesRequest.SCHEMA_REPRESENTATION)\n- [Try it!](#try-it)\n\nBatch variant of the basePlans.migratePrices endpoint.\n\nSet the latencyTolerance field on nested requests to PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT to achieve maximum update throughput.\n\n### HTTP request\n\n`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans:batchMigratePrices`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `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. |\n| `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. |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"requests\": [ { object (/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans/batchMigratePrices#MigrateBasePlanPricesRequest) } ] } ``` |\n\n| Fields ||\n|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `requests[]` | `object (`[MigrateBasePlanPricesRequest](/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. |\n\n### Response body\n\nResponse message for basePlans.batchMigratePrices.\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------|\n| ``` { \"responses\": [ { object (/android-publisher/api-ref/rest/v3/MigrateBasePlanPricesResponse) } ] } ``` |\n\n| Fields ||\n|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `responses[]` | `object (`[MigrateBasePlanPricesResponse](/android-publisher/api-ref/rest/v3/MigrateBasePlanPricesResponse)`)` Contains one response per requested price migration, in the same order as the request. |\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`\n\nMigrateBasePlanPricesRequest\n----------------------------\n\nRequest message for basePlans.migratePrices.\n\n| JSON representation |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"packageName\": string, \"productId\": string, \"basePlanId\": string, \"regionalPriceMigrations\": [ { object (/android-publisher/api-ref/rest/v3/RegionalPriceMigrationConfig) } ], \"regionsVersion\": { object (/android-publisher/api-ref/rest/v3/RegionsVersion) }, \"latencyTolerance\": enum (/android-publisher/api-ref/rest/v3/ProductUpdateLatencyTolerance) } ``` |\n\n| Fields ||\n|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `packageName` | `string` Required. Package name of the parent app. Must be equal to the packageName field on the Subscription resource. |\n| `productId` | `string` Required. The ID of the subscription to update. Must be equal to the productId field on the Subscription resource. |\n| `basePlanId` | `string` Required. The unique base plan ID of the base plan to update prices on. |\n| `regionalPriceMigrations[]` | `object (`[RegionalPriceMigrationConfig](/android-publisher/api-ref/rest/v3/RegionalPriceMigrationConfig)`)` Required. The regional prices to update. |\n| `regionsVersion` | `object (`[RegionsVersion](/android-publisher/api-ref/rest/v3/RegionsVersion)`)` Required. The version of the available regions being used for the regionalPriceMigrations. |\n| `latencyTolerance` | `enum (`[ProductUpdateLatencyTolerance](/android-publisher/api-ref/rest/v3/ProductUpdateLatencyTolerance)`)` Optional. The latency tolerance for the propagation of this product update. Defaults to latency-sensitive. |"]]