Play edit

A Play edit is the short-lived transaction object the Play Developer API uses for changes to an app: you open one, stage everything against it, then commit it in a single call.

Nothing you stage exists publicly until the commit. Uploading a bundle, assigning it to a track, changing release notes and updating listing text are all writes against the edit, and if you never commit, none of them happened. That is a useful property, because it means a half-finished pipeline leaves no half-finished release.

Edits expire. edits.insert returns an expiryTimeSeconds alongside the edit id, and once past it every call against that edit fails.

Two failure modes show up in logs. An expired edit, usually because a long upload, a manual approval step or a retry loop ate the window. And an edit invalidated by someone else: committing a different edit, or a change made in Play Console, can leave your open edit stale, which surfaces as a commit failure or an already-committed error.

The correct response to both is the same, and it is not to retry the failing call. Open a fresh edit and replay every staged change, including the bundle upload if it was part of that transaction. Edits are cheap and disposable; treat them as scratch space with a deadline, not as durable state you can hold across a pipeline stage.

See also: Play Developer API, track, staged rollout.

Last reviewed 2026-08-17. Apple and Google change their rules without notice, so check anything decision-critical against their live documentation.