Google Play Game Services Publishing API
The Google Play Game Services Publishing API allows developers to configure their games in Game Services
COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"servers": [
{
"url": "https://gamesconfiguration.googleapis.com/"
}
],
"info": {
"contact": {
"name": "Google",
"url": "https://google.com",
"x-twitter": "youtube"
},
"description": "The Google Play Game Services Publishing API allows developers to configure their games in Game Services.",
"license": {
"name": "Creative Commons Attribution 3.0",
"url": "http://creativecommons.org/licenses/by/3.0/"
},
"termsOfService": "https://developers.google.com/terms/",
"title": "Google Play Game Services Publishing API",
"version": "v1configuration",
"x-apiClientRegistration": {
"url": "https://console.developers.google.com"
},
"x-apisguru-categories": [
"analytics",
"media"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_www.google.com_images_branding_googlelogo_2x_googlelogo_color_272x92dp.png"
},
"x-origin": [
{
"format": "google",
"url": "https://gamesconfiguration.googleapis.com/$discovery/rest?version=v1configuration",
"version": "v1"
}
],
"x-providerName": "googleapis.com",
"x-serviceName": "gamesConfiguration"
},
"externalDocs": {
"url": "https://developers.google.com/games/"
},
"tags": [
{
"name": "achievementConfigurations"
},
{
"name": "leaderboardConfigurations"
}
],
"paths": {
"/games/v1configuration/achievements/{achievementId}": {
"delete": {
"description": "Delete the achievement configuration with the given ID.",
"operationId": "gamesConfiguration.achievementConfigurations.delete",
"parameters": [
{
"description": "The ID of the achievement used by this method.",
"in": "path",
"name": "achievementId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"achievementConfigurations"
]
},
"get": {
"description": "Retrieves the metadata of the achievement configuration with the given ID.",
"operationId": "gamesConfiguration.achievementConfigurations.get",
"parameters": [
{
"description": "The ID of the achievement used by this method.",
"in": "path",
"name": "achievementId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AchievementConfiguration"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"achievementConfigurations"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
],
"put": {
"description": "Update the metadata of the achievement configuration with the given ID.",
"operationId": "gamesConfiguration.achievementConfigurations.update",
"parameters": [
{
"description": "The ID of the achievement used by this method.",
"in": "path",
"name": "achievementId",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AchievementConfiguration"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AchievementConfiguration"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"achievementConfigurations"
]
}
},
"/games/v1configuration/applications/{applicationId}/achievements": {
"get": {
"description": "Returns a list of the achievement configurations in this application.",
"operationId": "gamesConfiguration.achievementConfigurations.list",
"parameters": [
{
"description": "The application ID from the Google Play developer console.",
"in": "path",
"name": "applicationId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "The maximum number of resource configurations to return in the response, used for paging. For any response, the actual number of resources returned may be less than the specified `maxResults`.",
"in": "query",
"name": "maxResults",
"schema": {
"type": "integer"
}
},
{
"description": "The token returned by the previous request.",
"in": "query",
"name": "pageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AchievementConfigurationListResponse"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"achievementConfigurations"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
],
"post": {
"description": "Insert a new achievement configuration in this application.",
"operationId": "gamesConfiguration.achievementConfigurations.insert",
"parameters": [
{
"description": "The application ID from the Google Play developer console.",
"in": "path",
"name": "applicationId",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AchievementConfiguration"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AchievementConfiguration"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"achievementConfigurations"
]
}
},
"/games/v1configuration/applications/{applicationId}/leaderboards": {
"get": {
"description": "Returns a list of the leaderboard configurations in this application.",
"operationId": "gamesConfiguration.leaderboardConfigurations.list",
"parameters": [
{
"description": "The application ID from the Google Play developer console.",
"in": "path",
"name": "applicationId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "The maximum number of resource configurations to return in the response, used for paging. For any response, the actual number of resources returned may be less than the specified `maxResults`.",
"in": "query",
"name": "maxResults",
"schema": {
"type": "integer"
}
},
{
"description": "The token returned by the previous request.",
"in": "query",
"name": "pageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeaderboardConfigurationListResponse"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"leaderboardConfigurations"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
],
"post": {
"description": "Insert a new leaderboard configuration in this application.",
"operationId": "gamesConfiguration.leaderboardConfigurations.insert",
"parameters": [
{
"description": "The application ID from the Google Play developer console.",
"in": "path",
"name": "applicationId",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeaderboardConfiguration"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeaderboardConfiguration"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"leaderboardConfigurations"
]
}
},
"/games/v1configuration/leaderboards/{leaderboardId}": {
"delete": {
"description": "Delete the leaderboard configuration with the given ID.",
"operationId": "gamesConfiguration.leaderboardConfigurations.delete",
"parameters": [
{
"description": "The ID of the leaderboard.",
"in": "path",
"name": "leaderboardId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"leaderboardConfigurations"
]
},
"get": {
"description": "Retrieves the metadata of the leaderboard configuration with the given ID.",
"operationId": "gamesConfiguration.leaderboardConfigurations.get",
"parameters": [
{
"description": "The ID of the leaderboard.",
"in": "path",
"name": "leaderboardId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeaderboardConfiguration"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"leaderboardConfigurations"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
],
"put": {
"description": "Update the metadata of the leaderboard configuration with the given ID.",
"operationId": "gamesConfiguration.leaderboardConfigurations.update",
"parameters": [
{
"description": "The ID of the leaderboard.",
"in": "path",
"name": "leaderboardId",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeaderboardConfiguration"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeaderboardConfiguration"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/androidpublisher"
],
"Oauth2c": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
],
"tags": [
"leaderboardConfigurations"
]
}
}
},
"components": {
"parameters": {
"_.xgafv": {
"description": "V1 error format.",
"in": "query",
"name": "$.xgafv",
"schema": {
"enum": [
"1",
"2"
],
"type": "string"
}
},
"access_token": {
"description": "OAuth access token.",
"in": "query",
"name": "access_token",
"schema": {
"type": "string"
}
},
"alt": {
"description": "Data format for response.",
"in": "query",
"name": "alt",
"schema": {
"enum": [
"json",
"media",
"proto"
],
"type": "string"
}
},
"callback": {
"description": "JSONP",
"in": "query",
"name": "callback",
"schema": {
"type": "string"
}
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"in": "query",
"name": "fields",
"schema": {
"type": "string"
}
},
"key": {
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"in": "query",
"name": "key",
"schema": {
"type": "string"
}
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"in": "query",
"name": "oauth_token",
"schema": {
"type": "string"
}
},
"prettyPrint": {
"description": "Returns response with indentations and line breaks.",
"in": "query",
"name": "prettyPrint",
"schema": {
"type": "boolean"
}
},
"quotaUser": {
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"in": "query",
"name": "quotaUser",
"schema": {
"type": "string"
}
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"in": "query",
"name": "uploadType",
"schema": {
"type": "string"
}
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"in": "query",
"name": "upload_protocol",
"schema": {
"type": "string"
}
}
},
"schemas": {
"AchievementConfiguration": {
"description": "An achievement configuration resource.",
"properties": {
"achievementType": {
"description": "The type of the achievement.",
"enum": [
"ACHIEVEMENT_TYPE_UNSPECIFIED",
"STANDARD",
"INCREMENTAL"
],
"type": "string"
},
"draft": {
"$ref": "#/components/schemas/AchievementConfigurationDetail",
"description": "The draft data of the achievement."
},
"id": {
"description": "The ID of the achievement.",
"type": "string"
},
"initialState": {
"description": "The initial state of the achievement.",
"enum": [
"INITIAL_STATE_UNSPECIFIED",
"HIDDEN",
"REVEALED"
],
"type": "string"
},
"kind": {
"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#achievementConfiguration`.",
"type": "string"
},
"published": {
"$ref": "#/components/schemas/AchievementConfigurationDetail",
"description": "The read-only published data of the achievement."
},
"stepsToUnlock": {
"description": "Steps to unlock. Only applicable to incremental achievements.",
"format": "int32",
"type": "integer"
},
"token": {
"description": "The token for this resource.",
"type": "string"
}
},
"type": "object"
},
"AchievementConfigurationDetail": {
"description": "An achievement configuration detail.",
"properties": {
"description": {
"$ref": "#/components/schemas/LocalizedStringBundle",
"description": "Localized strings for the achievement description."
},
"iconUrl": {
"description": "The icon url of this achievement. Writes to this field are ignored.",
"type": "string"
},
"kind": {
"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#achievementConfigurationDetail`.",
"type": "string"
},
"name": {
"$ref": "#/components/schemas/LocalizedStringBundle",
"description": "Localized strings for the achievement name."
},
"pointValue": {
"description": "Point value for the achievement.",
"format": "int32",
"type": "integer"
},
"sortRank": {
"description": "The sort rank of this achievement. Writes to this field are ignored.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"AchievementConfigurationListResponse": {
"description": "A ListConfigurations response.",
"properties": {
"items": {
"description": "The achievement configurations.",
"items": {
"$ref": "#/components/schemas/AchievementConfiguration"
},
"type": "array"
},
"kind": {
"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#achievementConfigurationListResponse`.",
"type": "string"
},
"nextPageToken": {
"description": "The pagination token for the next page of results.",
"type": "string"
}
},
"type": "object"
},
"GamesNumberAffixConfiguration": {
"description": "A number affix resource.",
"properties": {
"few": {
"$ref": "#/components/schemas/LocalizedStringBundle",
"description": "When the language requires special treatment of \"small\" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish)."
},
"many": {
"$ref": "#/components/schemas/LocalizedStringBundle",
"description": "When the language requires special treatment of \"large\" numbers (as with numbers ending 11-99 in Maltese)."
},
"one": {
"$ref": "#/components/schemas/LocalizedStringBundle",
"description": "When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class)."
},
"other": {
"$ref": "#/components/schemas/LocalizedStringBundle",
"description": "When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English)."
},
"two": {
"$ref": "#/components/schemas/LocalizedStringBundle",
"description": "When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian)."
},
"zero": {
"$ref": "#/components/schemas/LocalizedStringBundle",
"description": "When the language requires special treatment of the number 0 (as in Arabic)."
}
},
"type": "object"
},
"GamesNumberFormatConfiguration": {
"description": "A number format resource.",
"properties": {
"currencyCode": {
"description": "The curreny code string. Only used for CURRENCY format type.",
"type": "string"
},
"numDecimalPlaces": {
"description": "The number of decimal places for number. Only used for NUMERIC format type.",
"format": "int32",
"type": "integer"
},
"numberFormatType": {
"description": "The formatting for the number.",
"enum": [
"NUMBER_FORMAT_TYPE_UNSPECIFIED",
"NUMERIC",
"TIME_DURATION",
"CURRENCY"
],
"type": "string"
},
"suffix": {
"$ref": "#/components/schemas/GamesNumberAffixConfiguration",
"description": "An optional suffix for the NUMERIC format type. These strings follow the same plural rules as all Android string resources."
}
},
"type": "object"
},
"LeaderboardConfiguration": {
"description": "An leaderboard configuration resource.",
"properties": {
"draft": {
"$ref": "#/components/schemas/LeaderboardConfigurationDetail",
"description": "The draft data of the leaderboard."
},
"id": {
"description": "The ID of the leaderboard.",
"type": "string"
},
"kind": {
"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#leaderboardConfiguration`.",
"type": "string"
},
"published": {
"$ref": "#/components/schemas/LeaderboardConfigurationDetail",
"description": "The read-only published data of the leaderboard."
},
"scoreMax": {
"description": "Maximum score that can be posted to this leaderboard.",
"format": "int64",
"type": "string"
},
"scoreMin": {
"description": "Minimum score that can be posted to this leaderboard.",
"format": "int64",
"type": "string"
},
"scoreOrder": {
"enum": [
"SCORE_ORDER_UNSPECIFIED",
"LARGER_IS_BETTER",
"SMALLER_IS_BETTER"
],
"type": "string"
},
"token": {
"description": "The token for this resource.",
"type": "string"
}
},
"type": "object"
},
"LeaderboardConfigurationDetail": {
"description": "A leaderboard configuration detail.",
"properties": {
"iconUrl": {
"description": "The icon url of this leaderboard. Writes to this field are ignored.",
"type": "string"
},
"kind": {
"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#leaderboardConfigurationDetail`.",
"type": "string"
},
"name": {
"$ref": "#/components/schemas/LocalizedStringBundle",
"description": "Localized strings for the leaderboard name."
},
"scoreFormat": {
"$ref": "#/components/schemas/GamesNumberFormatConfiguration",
"description": "The score formatting for the leaderboard."
},
"sortRank": {
"description": "The sort rank of this leaderboard. Writes to this field are ignored.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"LeaderboardConfigurationListResponse": {
"description": "A ListConfigurations response.",
"properties": {
"items": {
"description": "The leaderboard configurations.",
"items": {
"$ref": "#/components/schemas/LeaderboardConfiguration"
},
"type": "array"
},
"kind": {
"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#leaderboardConfigurationListResponse`.",
"type": "string"
},
"nextPageToken": {
"description": "The pagination token for the next page of results.",
"type": "string"
}
},
"type": "object"
},
"LocalizedString": {
"description": "A localized string resource.",
"properties": {
"kind": {
"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#localizedString`.",
"type": "string"
},
"locale": {
"description": "The locale string.",
"type": "string"
},
"value": {
"description": "The string value.",
"type": "string"
}
},
"type": "object"
},
"LocalizedStringBundle": {
"description": "A localized string bundle resource.",
"properties": {
"kind": {
"description": "Uniquely identifies the type of this resource. Value is always the fixed string `gamesConfiguration#localizedStringBundle`.",
"type": "string"
},
"translations": {
"description": "The locale strings.",
"items": {
"$ref": "#/components/schemas/LocalizedString"
},
"type": "array"
}
},
"type": "object"
}
},
"securitySchemes": {
"Oauth2": {
"description": "Oauth 2.0 implicit authentication",
"flows": {
"implicit": {
"authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
"scopes": {
"https://www.googleapis.com/auth/androidpublisher": "View and manage your Google Play Developer account"
}
}
},
"type": "oauth2"
},
"Oauth2c": {
"description": "Oauth 2.0 authorizationCode authentication",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
"scopes": {
"https://www.googleapis.com/auth/androidpublisher": "View and manage your Google Play Developer account"
},
"tokenUrl": "https://accounts.google.com/o/oauth2/token"
}
},
"type": "oauth2"
}
}
}
}