---
title: "Update or halt one existing rollout and commit, preserving other releases"
method: POST
path: "/api/apps/{appId}/google-play/rollout/{track}"
tags: ["Google Play Publishing"]
---

# Update or halt one existing rollout and commit, preserving other releases

`POST /api/apps/{appId}/google-play/rollout/{track}`

## Request

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

Requires `releases:write`. Uses the stored service account for this AppSkyline app. Organization-admin session writes are also supported. Opens and commits a new edit. Coordinate per-app jobs to avoid invalidating other edits. Fraction cannot decrease; 1 completes rollout.

## Path parameters

- `appId` string, required
- `track` string, required

## Request body

- object
  - `action` 'set' | 'halt', required
  - `versionCode` string, required
  - `fraction` number: Required for set

## 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)
