---
title: "Preview full track release replacement without writing"
method: POST
path: "/api/apps/{appId}/google-play/release/plan"
tags: ["Google Play Publishing"]
---

# Preview full track release replacement without writing

`POST /api/apps/{appId}/google-play/release/plan`

## Request

- Base URL: `https://api.appskyline.com`
- URL: `https://api.appskyline.com/api/apps/{appId}/google-play/release/plan`
- Auth: one of:
  - HTTP basic
  - API key in header `Authorization`

Requires `releases:read`. Uses the stored service account for this AppSkyline app. Organization-admin session writes are also supported.

## Path parameters

- `appId` string, required

## Query parameters

- `track` string

## Request body

- object
  - `versionCodes` string[], required
  - `status` 'draft' | 'completed' | 'inProgress' | 'halted'
  - `userFraction` number
  - `name` string
  - `releaseNotes` object[]
    - `language` string, required
    - `text` string, required

## Response `200`

Operation result; includes appId and packageName. Commit is not proof of publication.

- object

## Other responses

- `400`: Invalid input or Google API error; details retain upstream status and review action
- `401`: Authentication required
- `403`: Insufficient scope, app binding, or administrator role
- `404`: App not found in the authenticated organization

---

[API](https://skmtc.dev/appskyline/apis/appskyline-api.md) · [All operations](https://skmtc.dev/appskyline/apis/appskyline-api/llms.txt) · [OpenAPI document](https://skmtc.dev/appskyline/apis/appskyline-api/revisions/46928c020440?raw)
