---
title: "Publishes a draft release."
method: POST
path: "/releases/{releaseId}/publish"
tags: ["components"]
---

# Publishes a draft release.

`POST /releases/{releaseId}/publish`

## Request

- Base URL: `https://marketplace-api.mendix.com/v1`
- URL: `https://marketplace-api.mendix.com/v1/releases/{releaseId}/publish`
- Auth: API key in header `Authorization`

Publishes a draft release and transitions it through the required review process. This allows Marketplace component publishers to manually publish a release that was created with the `publishManually` flag set to `true`.

**Authorization:** The user must have access to manage the component. The user is a developer of the component and meets user group rules.

**Prerequisites:**
- The release must exist in Marketplace.
- The release must be in `Draft` state.
- A source file must have been uploaded for the release.

**State Transition:**
After a successful publish request, the release transitions to one of the following states:
- `InReview`
  - Mendix Admin approval is required for private components
  - A security scan is required for public components
- `Published`
  - Mendix Admin approval is not required for private components
  - A security scan is not required

A release in the `InReview` state is automatically published to Marketplace and transitions to `Published` once all required review conditions have been satisfied.

**Response:** Use GET /releases/{releaseId} to check the current status of the release.

## Path parameters

- `releaseId` string, uuid, required

## Response `202`

The release was successfully submitted for publishing and is now being processed. Use the `Location` header to check the current status.

## Other responses

- `400`: The request could not be processed. Possible reasons include: - The release does not have a source file uploaded yet - The release metadata is incomplete or invalid
- `401`: No usable authentication credentials were found. The error message gives additional information.
- `404`: The required item could not be found. The error message provides additional information.
- `409`: The request could not be completed due to a conflict with the current state of the release. This error occurs when trying to publish a release that is not in `Draft` state (e.g., already in a `InReview`, `Declined`, or `Published` state).
- `500`: An error occurred during the processing of the request. The error message provides additional information.

---

[API](https://skmtc.dev/mendix/apis/publish-api.md) - [All operations](https://skmtc.dev/mendix/apis/publish-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mendix/apis/publish-api/revisions/2cf1d323f0b8?raw)
