---
title: "Create a new release for the app."
method: POST
path: "/apps/{appId}/releases"
tags: ["releases"]
---

# Create a new release for the app.

`POST /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

## Request body

- CreateReleaseRequest: The request body for POST /apps/{appId}/releases.
  - `version` string, required: The release version.
  - `flutter_revision` string, required: The Flutter revision used to create the release.
  - `flutter_version` string: The Flutter version used to create the release. This field is optional because it was newly added and older releases do not have this information.
  - `display_name` string: The display name for the release.

## Response `200`

The newly-created release.

- CreateReleaseResponse: The response body for POST /apps/{appId}/releases.
  - `release` Release, required: A release build of an application that is distributed to devices. A release can have zero or more patches applied to it.
    - `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.

## Other responses

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

---

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