---
title: "List releases for the app."
method: GET
path: "/apps/{appId}/releases"
tags: ["releases"]
---

# List releases for the app.

`GET /apps/{appId}/releases`

## Request

- Base URL: `https://api.shorebird.dev/api/v1`
- URL: `https://api.shorebird.dev/api/v1/apps/{appId}/releases`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

## Query parameters

- `sideloadable` boolean
- `per_page` integer
- `cursor` string

## Response `200`

The releases for the app, most recently created first.

- GetReleasesResponse: The response body for GET /apps/{appId}/releases.
  - `releases` Release[], required: The list of releases for the app.
    - `id` integer, required: The ID of the release.
    - `app_id` string, required: The ID of the app.
    - `version` string, required: The version of the release.
    - `flutter_revision` string, required: The Flutter revision used to create the release.
    - `flutter_version` string: The Flutter version used to create the release. Optional because it was added later; older releases do not have it.
    - `display_name` string: The display name for the release.
    - `platform_statuses` object: The status of the release for each platform. Deprecated: read `platforms`, which carries the same statuses with each platform's signing. Still sent, for CLIs that predate `platforms`.
    - `platforms` object, required: The release on each platform it has been released to: that platform's status and signing.
    - `created_at` string, date-time, required: The date and time the release was created.
    - `updated_at` string, date-time, required: The date and time the release was last updated.
    - `notes` string: Freeform notes associated with the release, if any.
    - `flutter_revision_issue` FlutterRevisionIssue: A known problem with the Flutter revision a release was built on, which Shorebird marked bad. Absent from a release whose revision has no mark. A mark names the platforms it affects; a release on none of them is not affected.
      - `summary` string, required: What is wrong, in one line of at most 80 characters.
      - `details` string: The full explanation and what to do, as markdown.
      - `platforms` ReleasePlatform[]: The platforms the problem affects. Absent when it affects every platform.
      - `fixed_in_revision` string: The Flutter revision to release with instead, if any.
      - `fixed_in_version` string: The Flutter version of `fixed_in_revision`, when known.
  - `next_cursor` string: The opaque cursor of the next page; send it back as `cursor` to get that page. Present only when the request was paginated (sent `per_page` or `cursor`) and another page follows. Absent on the last page and on unpaginated responses.

## Other responses

- `default`: Standard error response. Emitted for any non-2xx status where a body can be decoded into an [ErrorResponse].

## Changes

- **2026-11-05** `941da8871d10`: 1 breaking, 7 info
  - the response property `releases/items/platform_statuses` became optional for the status `200`
  - added the new optional `query` request parameter `cursor`
  - added the new optional `query` request parameter `per_page`
  - added the optional property `documentation_url` to the response with the `default` status
  - …4 more

[Operation history](https://skmtc.dev/shorebird/apis/shorebird-codepush-api/changes/apps/:appId/releases/get.md)

---

[API](https://skmtc.dev/shorebird/apis/shorebird-codepush-api.md) - [All operations](https://skmtc.dev/shorebird/apis/shorebird-codepush-api/llms.txt) - [OpenAPI document](https://skmtc.dev/shorebird/apis/shorebird-codepush-api/revisions/941da8871d10?raw)
