---
title: "Creates a new release for a component."
method: POST
path: "/components/{componentId}/releases"
tags: ["components"]
---

# Creates a new release for a component.

`POST /components/{componentId}/releases`

## Request

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

Creates a new release in `Draft` state for a specific component. This allows Marketplace component publishers to prepare a new version of their component.

**Authorization:** The user must have permission to create releases for the component. The user is a developer of the component and meets user group rules. 

**Parameters:**
- The componentId: The corresponding component must exist in Marketplace.

**Response:** Returns HTTP 201 Created with a Location header containing the URI of the created release.

## Path parameters

- `componentId` integer, required

## Request body

- CreateReleaseRequest: Request body for creating a new release.
  - `versionNumber` string, required: The `versionNumber` is the version number of the release. It must be unique across all releases (in any state) and must follow the semantic versioning format: `major.minor.patch` (for example, `2.0.0`).
  - `mendixVersion` string, required: The `mendixVersion` is the Mendix Studio Pro version the release is built on. It must follow the semantic versioning format: `major.minor.patch` (for example, `11.0.0`).
  - `releaseNotes` string, required: The `releaseNotes` contains human-readable information about the release. This field is required and must be a non-empty string describing the changes in this release.
  - `publishManually` boolean: The `publishManually` is a boolean flag that controls the publishing behavior after a source file upload. If `true`, the release remains in `Draft` and must be published manually. If `false` (default), the release may be automatically submitted for processing and transition to `InReview` or `Published` depending on Marketplace rules.

## Response `201`

The release was successfully created and it is in `Draft` state. The `Location` header contains the URI of the new release.

## Other responses

- `400`: The request contains invalid or missing data. Possible reasons include: - Invalid `versionNumber` format. This must be `major.minor.patch` (for example, `2.0.0`). - Invalid `mendixVersion` format. - Missing required fields (`versionNumber`, `mendixVersion`, `releaseNotes`) - Empty request body.
- `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`: A release with the same version number already exists. This error occurs when attempting to create a release with a `versionNumber` that is already used by another release, which can be in any state: `Draft`, `InReview`, `Declined`, or `Published`.
- `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)
