Google Play Android Developer API
  1. monetization
Google Play Android Developer API
  • internalappsharingartifacts
    • /androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/apk
      POST
    • /androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/bundle
      POST
  • applications
    • /androidpublisher/v3/applications/{packageName}/deviceTierConfigs
      GET
    • /androidpublisher/v3/applications/{packageName}/deviceTierConfigs
      POST
    • /androidpublisher/v3/applications/{packageName}/deviceTierConfigs/{deviceTierConfigId}
      GET
  • edits
    • /androidpublisher/v3/applications/{packageName}/edits
      POST
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}
      DELETE
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks
      POST
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/externallyHosted
      POST
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}
      POST
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}
      PATCH
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}
      POST
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}
      PUT
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles
      POST
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/countryAvailability/{track}
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/details
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/details
      PATCH
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/details
      PUT
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings
      DELETE
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}
      DELETE
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}
      PATCH
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}
      PUT
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}
      DELETE
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}
      POST
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}
      DELETE
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}
      PATCH
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}
      PUT
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}
      GET
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}
      PATCH
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}
      PUT
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}:commit
      POST
    • /androidpublisher/v3/applications/{packageName}/edits/{editId}:validate
      POST
  • generatedapks
    • /androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}
    • /androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}/downloads/{downloadId}:download
  • inappproducts
    • /androidpublisher/v3/applications/{packageName}/inappproducts
    • /androidpublisher/v3/applications/{packageName}/inappproducts
    • /androidpublisher/v3/applications/{packageName}/inappproducts/{sku}
    • /androidpublisher/v3/applications/{packageName}/inappproducts/{sku}
    • /androidpublisher/v3/applications/{packageName}/inappproducts/{sku}
    • /androidpublisher/v3/applications/{packageName}/inappproducts/{sku}
  • orders
    • /androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund
  • monetization
    • /androidpublisher/v3/applications/{packageName}/pricing:convertRegionPrices
      POST
    • /androidpublisher/v3/applications/{packageName}/subscriptions
      GET
    • /androidpublisher/v3/applications/{packageName}/subscriptions
      POST
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}
      DELETE
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}
      GET
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}
      PATCH
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}
      DELETE
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers
      GET
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers
      POST
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}
      DELETE
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}
      GET
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}
      PATCH
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}:activate
      POST
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}:deactivate
      POST
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}:activate
      POST
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}:deactivate
      POST
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}:migratePrices
      POST
    • /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}:archive
      POST
  • purchases
    • /androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}
    • /androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}:acknowledge
    • /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}
    • /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:acknowledge
    • /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel
    • /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer
    • /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund
    • /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke
    • /androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token}
    • /androidpublisher/v3/applications/{packageName}/purchases/voidedpurchases
  • reviews
    • /androidpublisher/v3/applications/{packageName}/reviews
    • /androidpublisher/v3/applications/{packageName}/reviews/{reviewId}
    • /androidpublisher/v3/applications/{packageName}/reviews/{reviewId}:reply
  • systemapks
    • /androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants
    • /androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants
    • /androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId}
    • /androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId}:download
  • users
    • /androidpublisher/v3/{name}
    • /androidpublisher/v3/{name}
    • /androidpublisher/v3/{parent}/users
    • /androidpublisher/v3/{parent}/users
  • grants
    • /androidpublisher/v3/{parent}/grants
  1. monetization

/androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}

PATCH
/androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}
monetization
Updates an existing subscription offer.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PATCH 'https://androidpublisher.googleapis.com//androidpublisher/v3/applications//subscriptions//basePlans//offers/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "basePlanId": "string",
    "offerId": "string",
    "offerTags": [
        {
            "tag": "string"
        }
    ],
    "otherRegionsConfig": {
        "otherRegionsNewSubscriberAvailability": true
    },
    "packageName": "string",
    "phases": [
        {
            "duration": "string",
            "otherRegionsConfig": {
                "absoluteDiscounts": {
                    "eurPrice": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    },
                    "usdPrice": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    }
                },
                "otherRegionsPrices": {
                    "eurPrice": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    },
                    "usdPrice": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    }
                },
                "relativeDiscount": 0
            },
            "recurrenceCount": 0,
            "regionalConfigs": [
                {
                    "absoluteDiscount": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    },
                    "price": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    },
                    "regionCode": "string",
                    "relativeDiscount": 0
                }
            ]
        }
    ],
    "productId": "string",
    "regionalConfigs": [
        {
            "newSubscriberAvailability": true,
            "regionCode": "string"
        }
    ],
    "targeting": {
        "acquisitionRule": {
            "scope": {
                "specificSubscriptionInApp": "string"
            }
        },
        "upgradeRule": {
            "billingPeriodDuration": "string",
            "oncePerUser": true,
            "scope": {
                "specificSubscriptionInApp": "string"
            }
        }
    }
}'
Response Response Example
{
    "basePlanId": "string",
    "offerId": "string",
    "offerTags": [
        {
            "tag": "string"
        }
    ],
    "otherRegionsConfig": {
        "otherRegionsNewSubscriberAvailability": true
    },
    "packageName": "string",
    "phases": [
        {
            "duration": "string",
            "otherRegionsConfig": {
                "absoluteDiscounts": {
                    "eurPrice": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    },
                    "usdPrice": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    }
                },
                "otherRegionsPrices": {
                    "eurPrice": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    },
                    "usdPrice": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    }
                },
                "relativeDiscount": 0
            },
            "recurrenceCount": 0,
            "regionalConfigs": [
                {
                    "absoluteDiscount": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    },
                    "price": {
                        "currencyCode": "string",
                        "nanos": 0,
                        "units": "string"
                    },
                    "regionCode": "string",
                    "relativeDiscount": 0
                }
            ]
        }
    ],
    "productId": "string",
    "regionalConfigs": [
        {
            "newSubscriberAvailability": true,
            "regionCode": "string"
        }
    ],
    "state": "STATE_UNSPECIFIED",
    "targeting": {
        "acquisitionRule": {
            "scope": {
                "specificSubscriptionInApp": "string"
            }
        },
        "upgradeRule": {
            "billingPeriodDuration": "string",
            "oncePerUser": true,
            "scope": {
                "specificSubscriptionInApp": "string"
            }
        }
    }
}

Request

Path Params
packageName
string 
required
Required. Immutable. The package name of the app the parent subscription belongs to.
productId
string 
required
Required. Immutable. The ID of the parent subscription this offer belongs to.
basePlanId
string 
required
Required. Immutable. The ID of the base plan to which this offer is an extension.
offerId
string 
required
Required. Immutable. Unique ID of this subscription offer. Must be unique within the base plan.
Query Params
regionsVersion.version
string 
optional
Required. A string representing version of the available regions being used for the specified resource. The current version is 2022/01.
updateMask
string 
optional
Required. The list of fields to be updated.
Body Params application/json
A single, temporary offer
basePlanId
string 
optional
Required. Immutable. The ID of the base plan to which this offer is an extension.
offerId
string 
optional
Required. Immutable. Unique ID of this subscription offer. Must be unique within the base plan.
offerTags
array[object (OfferTag) {1}] 
optional
List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
tag
string 
optional
Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
otherRegionsConfig
object (OtherRegionsSubscriptionOfferConfig) 
optional
The configuration for any new locations Play may launch in the future.
otherRegionsNewSubscriberAvailability
boolean 
optional
Whether the subscription offer in any new locations Play may launch in the future. If not specified, this will default to false.
packageName
string 
optional
Required. Immutable. The package name of the app the parent subscription belongs to.
phases
array[object (SubscriptionOfferPhase) {4}] 
optional
Required. The phases of this subscription offer. Must contain at least one entry, and may contain at most five. Users will always receive all these phases in the specified order. Phases may not be added, removed, or reordered after initial creation.
duration
string 
optional
Required. The duration of a single recurrence of this phase. Specified in ISO 8601 format.
otherRegionsConfig
object (OtherRegionsSubscriptionOfferPhaseConfig) 
optional
Pricing information for any new locations Play may launch in.
recurrenceCount
integer <int32>
optional
Required. The number of times this phase repeats. If this offer phase is not free, each recurrence charges the user the price of this offer phase.
regionalConfigs
array[object (RegionalSubscriptionOfferPhaseConfig) {4}] 
optional
Required. The region-specific configuration of this offer phase. This list must contain exactly one entry for each region for which the subscription offer has a regional config.
productId
string 
optional
Required. Immutable. The ID of the parent subscription this offer belongs to.
regionalConfigs
array[object (RegionalSubscriptionOfferConfig) {2}] 
optional
Required. The region-specific configuration of this offer. Must contain at least one entry.
newSubscriberAvailability
boolean 
optional
Whether the subscription offer in the specified region is available for new subscribers. Existing subscribers will not have their subscription cancelled if this value is set to false. If not specified, this will default to false.
regionCode
string 
optional
Required. Immutable. Region code this configuration applies to, as defined by ISO 3166-2, e.g. "US".
targeting
object (SubscriptionOfferTargeting) 
optional
The requirements that users need to fulfil to be eligible for this offer. Represents the requirements that Play will evaluate to decide whether an offer should be returned. Developers may further filter these offers themselves.
acquisitionRule
object (AcquisitionTargetingRule) 
optional
Offer targeting rule for new user acquisition.
upgradeRule
object (UpgradeTargetingRule) 
optional
Offer targeting rule for upgrading users' existing plans.
Examples

Responses

🟢200Successful response
application/json
Body
A single, temporary offer
basePlanId
string 
optional
Required. Immutable. The ID of the base plan to which this offer is an extension.
offerId
string 
optional
Required. Immutable. Unique ID of this subscription offer. Must be unique within the base plan.
offerTags
array[object (OfferTag) {1}] 
optional
List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
tag
string 
optional
Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
otherRegionsConfig
object (OtherRegionsSubscriptionOfferConfig) 
optional
The configuration for any new locations Play may launch in the future.
otherRegionsNewSubscriberAvailability
boolean 
optional
Whether the subscription offer in any new locations Play may launch in the future. If not specified, this will default to false.
packageName
string 
optional
Required. Immutable. The package name of the app the parent subscription belongs to.
phases
array[object (SubscriptionOfferPhase) {4}] 
optional
Required. The phases of this subscription offer. Must contain at least one entry, and may contain at most five. Users will always receive all these phases in the specified order. Phases may not be added, removed, or reordered after initial creation.
duration
string 
optional
Required. The duration of a single recurrence of this phase. Specified in ISO 8601 format.
otherRegionsConfig
object (OtherRegionsSubscriptionOfferPhaseConfig) 
optional
Pricing information for any new locations Play may launch in.
recurrenceCount
integer <int32>
optional
Required. The number of times this phase repeats. If this offer phase is not free, each recurrence charges the user the price of this offer phase.
regionalConfigs
array[object (RegionalSubscriptionOfferPhaseConfig) {4}] 
optional
Required. The region-specific configuration of this offer phase. This list must contain exactly one entry for each region for which the subscription offer has a regional config.
productId
string 
optional
Required. Immutable. The ID of the parent subscription this offer belongs to.
regionalConfigs
array[object (RegionalSubscriptionOfferConfig) {2}] 
optional
Required. The region-specific configuration of this offer. Must contain at least one entry.
newSubscriberAvailability
boolean 
optional
Whether the subscription offer in the specified region is available for new subscribers. Existing subscribers will not have their subscription cancelled if this value is set to false. If not specified, this will default to false.
regionCode
string 
optional
Required. Immutable. Region code this configuration applies to, as defined by ISO 3166-2, e.g. "US".
state
enum<string> 
read-onlyoptional
Output only. The current state of this offer. Can be changed using Activate and Deactivate actions. NB: the base plan state supersedes this state, so an active offer may not be available if the base plan is not active.
Allowed values:
STATE_UNSPECIFIEDDRAFTACTIVEINACTIVE
targeting
object (SubscriptionOfferTargeting) 
optional
The requirements that users need to fulfil to be eligible for this offer. Represents the requirements that Play will evaluate to decide whether an offer should be returned. Developers may further filter these offers themselves.
acquisitionRule
object (AcquisitionTargetingRule) 
optional
Offer targeting rule for new user acquisition.
upgradeRule
object (UpgradeTargetingRule) 
optional
Offer targeting rule for upgrading users' existing plans.
Modified at 2022-09-11 20:51:56
Previous
/androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}
Next
/androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}:activate
Built with