Method: edits.bundles.upload
Stay organized with collections
Save and categorize content based on your preferences.
Uploads a new Android App Bundle to this edit. If you are using the Google API client libraries, please increase the timeout of the http request before calling this endpoint (a timeout of 2 minutes is recommended). See Timeouts and Errors for an example in java.
HTTP request
- Upload URI, for media upload requests:
POST https://androidpublisher.googleapis.com/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles
- Metadata URI, for metadata-only requests:
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters |
packageName |
string
Package name of the app.
|
editId |
string
Identifier of the edit.
|
Query parameters
Parameters |
ackBundleInstallationWarning (deprecated) |
boolean
Deprecated. The installation warning has been removed, it's not necessary to set this field anymore.
|
deviceTierConfigId |
string
Device tier config (DTC) to be used for generating deliverables (APKs). Contains id of the DTC or "LATEST" for last uploaded DTC.
|
Request body
The request body contains an instance of BundlesUploadRequestBody
.
Response body
If successful, the response body contains an instance of Bundle
.
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/androidpublisher
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.
[null,null,["Last updated 2025-05-21 UTC."],[[["\u003cp\u003eUploads a new Android App Bundle to the specified edit using either media upload or metadata-only requests.\u003c/p\u003e\n"],["\u003cp\u003eRequires providing the package name and edit ID as path parameters in the request URL.\u003c/p\u003e\n"],["\u003cp\u003eOptionally allows setting query parameters for device tier config and acknowledging bundle installation warnings (deprecated).\u003c/p\u003e\n"],["\u003cp\u003eUtilizes the \u003ccode\u003eBundlesUploadRequestBody\u003c/code\u003e in the request body and returns a \u003ccode\u003eBundle\u003c/code\u003e object in the response upon success.\u003c/p\u003e\n"],["\u003cp\u003eNeeds authorization with the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e scope.\u003c/p\u003e\n"]]],["This document outlines how to upload an Android App Bundle to an edit using the Android Publisher API. Key actions include sending a `POST` request to a specified URI, which can be a media upload URI or a metadata-only URI. Required path parameters are `packageName` and `editId`. Optional query parameters include `deviceTierConfigId`, while `ackBundleInstallationWarning` is deprecated. The request body should contain `BundlesUploadRequestBody`, and a successful response will provide a `Bundle` instance. The operation requires the `androidpublisher` authorization scope. It is advised to increase the HTTP request timeout to 2 minutes.\n"],null,["# Method: edits.bundles.upload\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nUploads a new Android App Bundle to this edit. If you are using the Google API client libraries, please increase the timeout of the http request before calling this endpoint (a timeout of 2 minutes is recommended). See [Timeouts and Errors](https://developers.google.com/api-client-library/java/google-api-java-client/errors) for an example in java.\n\n### HTTP request\n\n- Upload URI, for media upload requests: \n `POST https://androidpublisher.googleapis.com/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles`\n- Metadata URI, for metadata-only requests: \n `POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|---------------|-----------------------------------|\n| `packageName` | `string` Package name of the app. |\n| `editId` | `string` Identifier of the edit. |\n\n### Query parameters\n\n| Parameters ||\n|-------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|\n| `ackBundleInstallationWarning` **(deprecated)** | `boolean` Deprecated. The installation warning has been removed, it's not necessary to set this field anymore. |\n| `deviceTierConfigId` | `string` Device tier config (DTC) to be used for generating deliverables (APKs). Contains id of the DTC or \"LATEST\" for last uploaded DTC. |\n\n### Request body\n\nThe request body contains an instance of `BundlesUploadRequestBody`.\n\n### Response body\n\nIf successful, the response body contains an instance of [Bundle](/android-publisher/api-ref/rest/v3/edits.bundles#Bundle).\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`"]]