AI-generated Key Takeaways
- 
          The batchUpdateStatesmethod is used to activate or deactivate base plans for one or multiple subscriptions.
- 
          The HTTP request uses a POST method with a URL structure that includes the package name and product ID. 
- 
          The request body contains a list of UpdateBasePlanStateRequestobjects, each specifying whether to activate or deactivate a base plan.
- 
          The response body includes a list of the updated subscriptions. 
- 
          This method requires the https://www.googleapis.com/auth/androidpublisherOAuth scope.
- HTTP request
- Path parameters
- Request body
- Response body
- Authorization scopes
- UpdateBasePlanStateRequest
- ActivateBasePlanRequest
- DeactivateBasePlanRequest
- Try it!
Activates or deactivates base plans across one or multiple 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/{productId}/basePlans:batchUpdateStates
The URL uses gRPC Transcoding syntax.
Path parameters
| Parameters | |
|---|---|
| package | 
 Required. The parent app (package name) of the updated base plans. | 
| product | 
 Required. The product ID of the parent subscription, if all updated base plans 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 ( | 
| Fields | |
|---|---|
| requests[] | 
 Required. The update request list of up to 100 elements. All requests must update different base plans. | 
Response body
Response message for basePlans.batchUpdateStates.
If successful, the response body contains data with the following structure:
| JSON representation | 
|---|
| {
  "subscriptions": [
    {
      object ( | 
| Fields | |
|---|---|
| subscriptions[] | 
 The list of updated subscriptions. This list will match the requests one to one, in the same order. | 
Authorization scopes
Requires the following OAuth scope:
- https://www.googleapis.com/auth/androidpublisher
UpdateBasePlanStateRequest
Request message to update the state of a subscription base plan.
| JSON representation | 
|---|
| { // Union field | 
| Fields | |
|---|---|
| Union field state_transition_type. The type of state transition to apply, exactly one must be set.state_transition_typecan be only one of the following: | |
| activate | 
 Activates a base plan. Once activated, base plans will be available to new subscribers. | 
| deactivate | 
 Deactivates a base plan. Once deactivated, the base plan will become unavailable to new subscribers, but existing subscribers will maintain their subscription | 
ActivateBasePlanRequest
Request message for ActivateBasePlan.
| JSON representation | 
|---|
| {
  "packageName": string,
  "productId": string,
  "basePlanId": string,
  "latencyTolerance": enum ( | 
| Fields | |
|---|---|
| packageName | 
 Required. The parent app (package name) of the base plan to activate. | 
| productId | 
 Required. The parent subscription (ID) of the base plan to activate. | 
| basePlanId | 
 Required. The unique base plan ID of the base plan to activate. | 
| latencyTolerance | 
 Optional. The latency tolerance for the propagation of this product update. Defaults to latency-sensitive. | 
DeactivateBasePlanRequest
Request message for basePlans.deactivate.
| JSON representation | 
|---|
| {
  "packageName": string,
  "productId": string,
  "basePlanId": string,
  "latencyTolerance": enum ( | 
| Fields | |
|---|---|
| package | 
 Required. The parent app (package name) of the base plan to deactivate. | 
| product | 
 Required. The parent subscription (ID) of the base plan to deactivate. | 
| base | 
 Required. The unique base plan ID of the base plan to deactivate. | 
| latency | 
 Optional. The latency tolerance for the propagation of this product update. Defaults to latency-sensitive. |