Skip to content

Google Play API ​

All paths begin with /api/v1/orgs/:orgId/apps/:appId/google-play. Configuration routes require a dashboard session. Publication routes also accept an app-matched API token with the listed scope.

Method and suffixMinimum accessSuccess
GET /Viewer session200 configuration view
PUT /Admin session200 configuration view
DELETE /Admin session204
POST /verifyAdmin session200 verification result
GET /publicationsViewer session or read token200 { "items": [...] }
POST /publicationsDeveloper session or promote token202 queued publication
PATCH /publications/:idDeveloper session or promote token202 queued update
POST /syncDeveloper session or promote token200 { "items": [...] }

PUT / accepts packageName, optional defaultLanguage (default en-US), and service-account JSON text in serviceAccountJson. The service-account credential is write-only and may be omitted when updating an existing configuration. The view exposes configured, packageName, serviceAccountEmail, defaultLanguage, and lastVerifiedAt.

GET /publications?releaseId=rel_... filters the list. POST /publications accepts releaseId, optional artifactId, track, percent (1–100, default 100), and includeNotes (default true). Standard tracks are internal, alpha, beta, and production; a valid custom closed-track name is also allowed. A PATCH accepts either { "percent": 50 } or { "action": "halt" }, { "action": "resume" }, or { "action": "complete" }. Publication objects include track, version code, status, rollout fraction, busy flag, error, and sync timestamps. POST /sync queries Google Play immediately; an upstream sync failure can return 502 play_request_failed.

Store actions queue work, so 202 means accepted rather than published. Check the publication status after processing. Invalid JSON fields produce route-validation 400 responses; an app outside the organization is hidden with 404.