- HTTP request
- Path parameters
- Request body
- Response body
- Authorization scopes
- AppStoreAppDetails
- AppStoreAppStoreListing
- AppStoreAppActiveApks
- AppStoreAppActiveApkSet
- AppStoreAppPolicyDeclaration
- PolicyResponse
- PolicyStringResponse
- PolicySingleChoiceResponse
- PolicyMultipleChoiceResponse
- PolicyGroupResponse
- Group
- NestedPolicyResponse
- PolicyBooleanResponse
- PolicyDocumentResponse
- PolicyKeyedGroupResponse
- KeyedGroup
- Try it!
Updates details for an app hosted on an app store. Use this to provide details for a new app, or to update details for an existing app. The update will be sent for review immediately after creation.
HTTP request
POST https://androidpublisher.googleapis.com/androidpublisher/v3/appstore/{appStorePackageName}/apps:update
The URL uses gRPC Transcoding syntax.
Path parameters
| Parameters | |
|---|---|
appStorePackageName |
Required. Package name of the third-party app store. |
Request body
The request body contains data with the following structure:
| JSON representation |
|---|
{ "packageName": string, "appDetails": { object ( |
| Fields | |
|---|---|
packageName |
Required. Package name of the app. |
appDetails |
Required. General developer details for the app. |
activeLocalizedStoreListings[] |
Required. Localized store listings details of the update. |
activeApks |
Required. Actively distributed APKs of the app. |
policyDeclarations[] |
Required. Policy declarations provided for the app. |
Response body
If successful, the response body is empty.
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/androidpublisher
AppStoreAppDetails
Details about the app.
| JSON representation |
|---|
{ "developerName": string, "contactEmail": string, "developerWebsite": string } |
| Fields | |
|---|---|
developerName |
Required. The app developer's name. |
contactEmail |
Required. The app developer's contact email address. |
developerWebsite |
Optional. Website link for the developer or app. |
AppStoreAppStoreListing
A localized store listing. These are the details about the app as shown in your app store.
| JSON representation |
|---|
{ "languageCode": string, "appName": string, "fullDescription": string, "shortDescription": string, "appIconId": string, "screenshotId": [ string ], "videoLink": string } |
| Fields | |
|---|---|
languageCode |
Required. Language code (e.g., "en-US") of the listing. |
appName |
Required. The title of the app. |
fullDescription |
Required. Comprehensive description text about the app. |
shortDescription |
Optional. Quick summary about the app. |
appIconId |
Required. Image ID generated from appstoreappsreview.uploadimage for the main app icon. |
screenshotId[] |
Required. Multiple image IDs for screenshot galleries. |
videoLink |
Optional. Link to a video about the app. |
AppStoreAppActiveApks
Information about active APKs of an app store hosted app.
| JSON representation |
|---|
{
"activeApkSets": [
{
object ( |
| Fields | |
|---|---|
activeApkSets[] |
Required. List specifying which APK sets are distributed together. This list should contain all APKs that you're distributing for this app. Add an entry for each individual installable set of APKs. |
AppStoreAppActiveApkSet
An installable set of active APKs. All APKs in this set should belong to the same version of the app. A set of APKs might only contain 1 APK if the app in question publishes using APKs. If the app uses app bundles (or a similar technology), this set should contain all APKs (even optional ones) that might be installed for this app. A set of APKs should be installable together. If certain APKs are exclusive to one another and cannot be installed together, then a separate AppStoreAppActiveApkSet should be created.
| JSON representation |
|---|
{ "baseApkId": string, "splitApkId": [ string ], "versionCode": string, "alreadyPublishedOnPlay": boolean } |
| Fields | |
|---|---|
baseApkId |
Required. The ID for the main base application module. Example: base.apk or app.apk. |
splitApkId[] |
Optional. IDs for split modules that might be installed in combination with the base APK. Can be empty if app bundles (or a similar technology) are not used. Example: config.en.apk. |
versionCode |
Optional. Version code for the version this APK set represents. |
alreadyPublishedOnPlay |
Optional. Whether all APKs referenced in this active APK set are published on Play Store (or derived from an app bundle published on Play Store). When this is set, versionCode must be provided. |
AppStoreAppPolicyDeclaration
A policy declaration with its responses.
| JSON representation |
|---|
{
"declarationId": string,
"responses": [
{
object ( |
| Fields | |
|---|---|
declarationId |
Required. ID of the policy declaration. |
responses[] |
Required. Responses provided for this declaration. |
PolicyResponse
An individual response (answer) to a policy question about an app.
| JSON representation |
|---|
{ "questionId": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "stringResponse": { object ( |
| Fields | |
|---|---|
questionId |
Required. ID of the question being answered. |
| Specific response value. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
stringResponse |
Optional. A string response. |
singleChoiceResponse |
Optional. A single choice response. |
multipleChoiceResponse |
Optional. A multiple choice response. |
groupResponse |
Optional. A group response. |
keyedGroupResponse |
Optional. A keyed group response. |
booleanResponse |
Optional. A boolean response. |
documentResponse |
Optional. A document response. |
| End of mutually exclusive fields. | |
PolicyStringResponse
Any response best encoded as a string. Includes URLs and multiline text fields.
| JSON representation |
|---|
{ "value": string } |
| Fields | |
|---|---|
value |
Required. Provided string value. |
PolicySingleChoiceResponse
Any response where a single option is chosen from several possibilities.
| JSON representation |
|---|
{ "value": string } |
| Fields | |
|---|---|
value |
Required. Provided value. |
PolicyMultipleChoiceResponse
Any response where multiple options can be chosen from several possibilities.
| JSON representation |
|---|
{ "values": [ string ] } |
| Fields | |
|---|---|
values[] |
Optional. Provided values. |
PolicyGroupResponse
A repeated group of responses.
| JSON representation |
|---|
{
"groups": [
{
object ( |
| Fields | |
|---|---|
groups[] |
Optional. Groups of responses to questions. |
Group
A group of responses.
| JSON representation |
|---|
{
"responses": [
{
object ( |
| Fields | |
|---|---|
responses[] |
Required. Responses within a group. |
NestedPolicyResponse
An individual nested response to a policy question about an app. Nested responses are like regular responses but without groups.
| JSON representation |
|---|
{ "questionId": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "stringResponse": { object ( |
| Fields | |
|---|---|
questionId |
Required. ID of the question being answered. |
| Specific response value. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
stringResponse |
Optional. A string response. |
singleChoiceResponse |
Optional. A single choice response. |
multipleChoiceResponse |
Optional. A multiple choice response. |
booleanResponse |
Optional. A boolean response. |
documentResponse |
Optional. A document response. |
| End of mutually exclusive fields. | |
PolicyBooleanResponse
Responses that will only ever be a boolean.
| JSON representation |
|---|
{ "value": boolean } |
| Fields | |
|---|---|
value |
Required. Provided boolean value. |
PolicyDocumentResponse
An uploaded document. Must be a single logical document (e.g. a financial license).
| JSON representation |
|---|
{
"documentId": string,
// The following is a list of mutually exclusive fields. At most one of the
// fields will be set in a response:
"expiryDate": {
object ( |
| Fields | |
|---|---|
documentId |
Required. ID of the uploaded document. |
| Expiry information for the document. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
expiryDate |
Optional. Expiry date for the document. |
nonExpiring |
Optional. True if confirmed that the document does not have an expiry date. |
| End of mutually exclusive fields. | |
PolicyKeyedGroupResponse
A group of responses each identified by a distinct key within an allowed set.
| JSON representation |
|---|
{
"groups": [
{
object ( |
| Fields | |
|---|---|
groups[] |
Optional. Groups of responses to questions. Each KeyedGroup.key must be unique within this list. |
KeyedGroup
A group of responses, with a key.
| JSON representation |
|---|
{
"key": string,
"responses": [
{
object ( |
| Fields | |
|---|---|
key |
Required. Key for this group. |
responses[] |
Required. Responses in this group. |