---
title: "Draft a release for an app."
method: POST
path: "/app/{app_id}/release/draft"
tags: ["releases"]
---

# Draft a release for an app.

`POST /app/{app_id}/release/draft`

Create a draft release for the specified app, which can be further edited and eventually promoted.
Supports both KOTS and Builders draft types depending on team entitlements.

Required RBAC Policy: kots/app/[:appid]/release/create

## Path parameters

- `app_id` string, required

## Request body

- object
  - `isBuildersRelease` boolean — When true, the draft will be a Builders draft. Otherwise it will be a KOTS draft.

## Response `200`

DraftReleaseResponse contains the draft release properties

- object
  - `release` AppReleaseDraft — AppReleaseDraft is a draft of a release before it is created
    - `appId` string
    - `rawSpec` string
    - `spec` string

## Other responses

- `400` — Returned on bad input
- `401` — Return if the caller is not authorized
- `403` — Returned if the caller does not have the needed permission
- `404` — Returned on resource not found

---

[API](https://skmtc.net/replicated/apis/vendor-api-v3-2.md) · [All operations](https://skmtc.net/replicated/apis/vendor-api-v3-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/replicated/vendor-api-v3-2/revisions/6fcf9e54aba4/schema)
