- HTTP request
- Path parameters
- Request body
- Response body
- Authorization scopes
- AppStoreAppDetails
- AppStoreAppStoreListing
- AppStoreAppActiveApks
- AppStoreAppActiveApkSet
- AppStoreAppPolicyDeclaration
- PolicyResponse
- PolicyStringResponse
- PolicySingleChoiceResponse
- PolicyMultipleChoiceResponse
- PolicyGroupResponse
- Group
- NestedPolicyResponse
- PolicyBooleanResponse
- PolicyDocumentResponse
- Date
- 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. 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 ] } |
| 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. |
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 to a policy question about an app.
| JSON representation |
|---|
{ "questionId": string, // Union field |
| Fields | |
|---|---|
questionId |
Required. ID of the question being answered. |
Union field value. Specific response value. value can be only one of the following: |
|
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. |
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, // Union field |
| Fields | |
|---|---|
questionId |
Required. ID of the question being answered. |
Union field value. Specific response value. value can be only one of the following: |
|
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. |
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, // Union field |
| Fields | |
|---|---|
documentId |
Required. ID of the uploaded document. |
Union field expiry. Expiry information for the document. expiry can be only one of the following: |
|
expiryDate |
Optional. Expiry date for the document. |
nonExpiring |
Optional. True if confirmed that the document does not have an expiry date. |
Date
Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:
- A full date, with non-zero year, month, and day values.
- A month and day, with a zero year (for example, an anniversary).
- A year on its own, with a zero month and a zero day.
- A year and month, with a zero day (for example, a credit card expiration date).
Related types:
google.type.TimeOfDaygoogle.type.DateTimegoogle.protobuf.Timestamp
| JSON representation |
|---|
{ "year": integer, "month": integer, "day": integer } |
| Fields | |
|---|---|
year |
Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. |
month |
Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. |
day |
Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. |
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. |