AI-generated Key Takeaways
-
Creating a custom app requires authorization and involves uploading media with a maximum size of 100MB and specific MIME types.
-
The API supports both media upload requests using the
/upload
URI and metadata-only requests with separate POST endpoints. -
The request requires a developer account ID as a path parameter and an
uploadType
query parameter for upload requests. -
Authorization is required with the
https://www.googleapis.com/auth/androidpublisher
scope. -
The request and successful response bodies include details about the app's title, language code, and the organizations it's available to.
Requires authorization.
Create and publish a new custom app. Try it now.
This method supports an /upload URI and accepts uploaded media with the following characteristics:
- Maximum file size: 100MB
- Accepted Media MIME types:
application/octet-stream
,application/vnd.android.package-archive
Request
HTTP request
This method provides media upload functionality through two separate URIs. For more details, see the document on media upload.
- Upload URI, for media upload requests:
POST https://playcustomapp.googleapis.com/upload/playcustomapp/v1/accounts/account/customApps
- Metadata URI, for metadata-only requests:
POST https://playcustomapp.googleapis.com/playcustomapp/v1/accounts/account/customApps
Parameters
Parameter name | Value | Description |
---|---|---|
Path parameters | ||
account |
long |
Developer account ID.
|
Required query parameters | ||
uploadType |
string |
The type of upload request to the /upload URI.
Acceptable values are:
|
Authorization
This request requires authorization with the following scope:
Scope |
---|
https://www.googleapis.com/auth/androidpublisher |
Request body
In the request body, supply data with the following structure:
{ "title": string, "languageCode": string, "organizations": [ { "organizationId": string, "organizationName": string } ] }
Property name | Value | Description | Notes |
---|---|---|---|
title |
string |
Title for the Android app. | |
languageCode |
string |
Default listing language in BCP 47 format. | |
organizations[] |
list |
Organizations to which the custom app should be made available. If the request contains any organizations, then the app will be restricted to only these organizations. To support the organization linked to the developer account, the organization ID should be provided explicitly together with other organizations. If no organizations are provided, then the app is only available to the organization linked to the developer account. |
|
organizations[].organizationId |
string |
ID of the organization. Required. | |
organizations[].organizationName |
string |
A human-readable name of the organization, to help recognize the organization. Optional. |
Response
If successful, this method returns a response body with the following structure:
{ "title": string, "languageCode": string, "organizations": [ { "organizationId": string, "organizationName": string } ] }
Property name | Value | Description | Notes |
---|---|---|---|
title |
string |
Title for the Android app. | |
languageCode |
string |
Default listing language in BCP 47 format. | |
organizations[] |
list |
Organizations to which the custom app should be made available. If the request contains any organizations, then the app will be restricted to only these organizations. To support the organization linked to the developer account, the organization ID should be provided explicitly together with other organizations. If no organizations are provided, then the app is only available to the organization linked to the developer account. |
|
organizations[].organizationId |
string |
ID of the organization. Required. | |
organizations[].organizationName |
string |
A human-readable name of the organization, to help recognize the organization. Optional. |
Try it!
Note: APIs Explorer currently supports metadata requests only.
Use the APIs Explorer below to call this method on live data and see the response.