canonical: https://jentic.com/apis/googleapis.com/games-configuration

# Google Play Games Services Publishing API

The Google Play Games Services Publishing API lets developers configure their games' Play Games Services resources programmatically. It manages the definition of achievements and leaderboards under an application, including localised metadata, sort order, and image references. Use it from build pipelines to keep game configuration in source control and apply changes without clicking through the Play Console.

## For AI agents

Define and update Play Games achievements and leaderboards programmatically, including titles, descriptions, and ordering. Built for game tooling that needs configuration-as-code.

## Scope

Does not award achievements, post scores, or reset player state - use the Games API for runtime and the Games Management API for resets; this API is for configuration only.

## Capabilities

- Create new achievements under a game application
- Update achievement metadata such as name, description, and image
- Delete achievements that are no longer needed
- Create and update leaderboards with sort order and time scopes
- List all achievements or leaderboards configured for an application
- Retrieve a single achievement or leaderboard by id

## Use cases

### Configuration-as-Code for Game Releases

Game studios that ship frequent updates want their Play Games configuration in version control alongside game code. The Publishing API lets a CI pipeline reconcile a JSON or YAML manifest of achievements and leaderboards against the live application configuration, creating, updating, or deleting entries as needed. This removes manual Play Console clicks and keeps environments consistent.

Example prompt: Call POST /games/v1configuration/applications/{applicationId}/achievements for each new achievement defined in the release manifest.

### Localise Achievement Strings

Games shipping in multiple languages need localised achievement titles and descriptions. The achievements update endpoint accepts localised string sets, so a translation pipeline can push new locales into Play Games without engineering involvement. The configuration is then served by the Play Games SDK in the player's language at runtime.

Example prompt: Call PUT /games/v1configuration/achievements/{achievementId} with an updated achievementName containing localised string entries for additional locales.

### Audit Leaderboard Configuration

Live operations teams need to verify which leaderboards are configured against an application before a tournament. The list leaderboards endpoint returns every leaderboard with sort order, score format, and identifier, enabling automated checks that the right boards exist before enabling them in the client.

Example prompt: Call GET /games/v1configuration/applications/{applicationId}/leaderboards and verify the expected leaderboard ids and sort orders are present.

### Agent-Generated Achievement Sets

An AI assistant for game designers can propose an achievement set for a new game mode and apply it to the Play Console via Jentic. The agent searches for the create achievement operation, loads its schema, and creates each achievement with name, description, and points. The designer reviews the live configuration in the Play Console before publishing.

Example prompt: Use Jentic to search 'create a play games achievement', load the schema for POST /games/v1configuration/applications/{applicationId}/achievements, and execute it for each generated achievement.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /games/v1configuration/applications/{applicationId}/achievements | List achievement configurations |
| POST | /games/v1configuration/applications/{applicationId}/achievements | Create an achievement |
| GET | /games/v1configuration/achievements/{achievementId} | Get a single achievement configuration |
| PUT | /games/v1configuration/achievements/{achievementId} | Update an achievement configuration |
| DELETE | /games/v1configuration/achievements/{achievementId} | Delete an achievement |
| GET | /games/v1configuration/applications/{applicationId}/leaderboards | List leaderboard configurations |
| POST | /games/v1configuration/applications/{applicationId}/leaderboards | Create a leaderboard |

## Key resources

- **achievementConfigurations** — Achievement definitions: name, description, points, and images.
- **leaderboardConfigurations** — Leaderboard definitions: sort order, score format, and metadata.

## Why Jentic

- **Setup:** Wiring the Google Play Games Services Publishing API by hand means setting up Google OAuth 2.0 for the authorised developer account and coding the achievement and leaderboard configuration calls from Google's spec. Through Jentic you install once, import the Google Play Games Services Publishing API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** This configuration API puts the application in the URL path (/games/v1configuration/applications/{applicationId}/achievements, /games/v1configuration/applications/{applicationId}/leaderboards), so a rule can pin your agent to one application: it can list and create achievements and leaderboards there and nothing else. You choose the operations it may call, so achievement deletion is not included unless you add it.
- **Credential handling:** Your Google OAuth credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a Play Games achievement' or 'add a leaderboard', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Google Play Games Services API** — Awards achievements and posts scores at runtime against configurations made here.
- **Google Play Games Services Management API** — Resets achievements and scores during testing.
- **Google Play Developer API** — Manages app listings and releases on the Play Store.

## FAQ

### What authentication does the Play Games Services Publishing API use?

It uses Google OAuth 2.0 with the androidpublisher scope, scoped to the developer account that owns the application. Through Jentic, those credentials live encrypted in the vault and agents receive only scoped bearer tokens.

### Can I create achievements with this API?

Yes. Use POST /games/v1configuration/applications/{applicationId}/achievements with the achievement name, description, points, and image references to create a new achievement under the application.

### What are the rate limits for the Play Games Services Publishing API?

Google enforces standard per-project quotas, typically around 60 write requests per minute. Bulk reconciliation jobs should pace requests and retry on HTTP 429.

### How do I provision a new leaderboard through Jentic?

Search Jentic for 'create a play games leaderboard', load the schema for POST /games/v1configuration/applications/{applicationId}/leaderboards, and execute it with the leaderboard name, sort order, and score format.

### Is the Play Games Services Publishing API free?

Yes, the API itself is free. A Google Play developer account and a configured application are required to use it.

### Can I award achievements with this API?

No. Awarding achievements to players is done via the Google Play Games Services API. This Publishing API only configures the achievement definitions.

### Can I limit what my agent is allowed to do with the Google Play Games Services Publishing API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, and this configuration API puts the application in the URL path (/games/v1configuration/applications/{applicationId}/achievements and /leaderboards), so a rule can pin the agent to a single application. You can allow it to list and create achievements and leaderboards there and nothing else, and you choose the operations it may call, so achievement deletion stays excluded unless you add it. The Google OAuth credential is injected only at execution time and never reaches the agent's prompt or logs.
