Method: monetization.subscriptions.batchUpdate
Stay organized with collections
Save and categorize content based on your preferences.
Updates a batch of subscriptions.
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:batchUpdate
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters |
packageName |
string
Required. The parent app (package name) for which the subscriptions should be updated. Must be equal to the packageName field on all the Subscription resources.
|
Request body
The request body contains data with the following structure:
Fields |
requests[] |
object (UpdateSubscriptionRequest )
Required. A list of update requests of up to 100 elements. All requests must update different subscriptions.
|
Response body
Response message for BatchUpdateSubscription.
If successful, the response body contains data with the following structure:
JSON representation |
{
"subscriptions": [
{
object (Subscription )
}
]
} |
Fields |
subscriptions[] |
object (Subscription )
The updated subscriptions list.
|
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/androidpublisher
UpdateSubscriptionRequest
Request message for subscriptions.patch.
Fields |
subscription |
object (Subscription )
Required. The subscription to update.
|
updateMask |
string (FieldMask format)
Required. The list of fields to be updated. This is a comma-separated list of fully qualified names of fields. Example: "user.displayName,photo" .
|
regionsVersion |
object (RegionsVersion )
Required. The version of the available regions being used for the subscription.
|
allowMissing |
boolean
Optional. If set to true, and the subscription with the given packageName and productId doesn't exist, the subscription will be created. If a new subscription is created, updateMask is ignored.
|
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-21 UTC."],[[["\u003cp\u003eUpdates a batch of up to 100 subscriptions for a specified Android app package.\u003c/p\u003e\n"],["\u003cp\u003eRequires providing a list of \u003ccode\u003eUpdateSubscriptionRequest\u003c/code\u003e objects, each specifying the subscription to update and desired changes.\u003c/p\u003e\n"],["\u003cp\u003eUtilizes an HTTP POST request to \u003ccode\u003ehttps://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/subscriptions:batchUpdate\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAllows for creating new subscriptions if they don't exist by setting \u003ccode\u003eallowMissing\u003c/code\u003e to true within the \u003ccode\u003eUpdateSubscriptionRequest\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eOffers control over update propagation latency using the \u003ccode\u003elatencyTolerance\u003c/code\u003e field for optimized throughput.\u003c/p\u003e\n"]]],["This document details the process of batch updating subscriptions via an HTTP POST request to `https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/subscriptions:batchUpdate`. The request body includes a list of `UpdateSubscriptionRequest` objects, each specifying a subscription to update, fields to modify, and region information. The response body returns a list of updated `Subscription` objects. A maximum of 100 requests is allowed and `packageName` must be specified. Optionally, new subscriptions can be created if they do not exist.\n"],null,["# Method: monetization.subscriptions.batchUpdate\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.BatchUpdateSubscriptionsResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [UpdateSubscriptionRequest](#UpdateSubscriptionRequest)\n - [JSON representation](#UpdateSubscriptionRequest.SCHEMA_REPRESENTATION)\n- [Try it!](#try-it)\n\nUpdates a batch of subscriptions.\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:batchUpdate`\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 updated. Must be equal to the packageName field on all the Subscription resources. |\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/batchUpdate#UpdateSubscriptionRequest) } ] } ``` |\n\n| Fields ||\n|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `requests[]` | `object (`[UpdateSubscriptionRequest](/android-publisher/api-ref/rest/v3/monetization.subscriptions/batchUpdate#UpdateSubscriptionRequest)`)` Required. A list of update requests of up to 100 elements. All requests must update different subscriptions. |\n\n### Response body\n\nResponse message for BatchUpdateSubscription.\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|--------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"subscriptions\": [ { object (/android-publisher/api-ref/rest/v3/monetization.subscriptions#Subscription) } ] } ``` |\n\n| Fields ||\n|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------|\n| `subscriptions[]` | `object (`[Subscription](/android-publisher/api-ref/rest/v3/monetization.subscriptions#Subscription)`)` The updated subscriptions list. |\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`\n\nUpdateSubscriptionRequest\n-------------------------\n\nRequest message for subscriptions.patch.\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"subscription\": { object (/android-publisher/api-ref/rest/v3/monetization.subscriptions#Subscription) }, \"updateMask\": string, \"regionsVersion\": { object (/android-publisher/api-ref/rest/v3/RegionsVersion) }, \"allowMissing\": boolean, \"latencyTolerance\": enum (/android-publisher/api-ref/rest/v3/ProductUpdateLatencyTolerance) } ``` |\n\n| Fields ||\n|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `subscription` | `object (`[Subscription](/android-publisher/api-ref/rest/v3/monetization.subscriptions#Subscription)`)` Required. The subscription to update. |\n| `updateMask` | `string (`[FieldMask](https://protobuf.dev/reference/protobuf/google.protobuf/#field-mask)` format)` Required. The list of fields to be updated. This is a comma-separated list of fully qualified names of fields. Example: `\"user.displayName,photo\"`. |\n| `regionsVersion` | `object (`[RegionsVersion](/android-publisher/api-ref/rest/v3/RegionsVersion)`)` Required. The version of the available regions being used for the subscription. |\n| `allowMissing` | `boolean` Optional. If set to true, and the subscription with the given packageName and productId doesn't exist, the subscription will be created. If a new subscription is created, updateMask is ignored. |\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. |"]]