---
title: "Publish release"
method: POST
path: "/api/projects/{projectId}/releases/{releaseId}/publish"
tags: ["Release"]
---

# Publish release

`POST /api/projects/{projectId}/releases/{releaseId}/publish`

Publish a draft release, assigning it a semantic version.

## Path parameters

- `projectId` string, uuid, required
- `releaseId` string, uuid, required

## Request body

- object, nullable
  - `name` string, nullable — Updated release name
  - `description` string, nullable — Updated release description
  - `versionType` 'major' | 'minor' | 'patch' — Version increment type for semantic versioning

## Response `200`

Published release information

- object — Published release information
  - `id` string, uuid, required — Release unique identifier
  - `createdAt` string, required — Release creation timestamp
  - `deletedAt` string, nullable — Release deletion timestamp
  - `name` string, nullable — Release name
  - `description` string, nullable — Release description
  - `version` number, nullable — Legacy numeric version
  - `semanticVersion` string, nullable — Semantic version (e.g., 1.0.0)
  - `status` 'draft' | 'published' | 'completed' — Release status
  - `projectId` string, uuid, required — Project ID the release belongs to
  - `createdById` string, uuid, nullable — ID of the user who created the release
  - `commitId` string, uuid, nullable — Associated commit ID
  - `meta` object, nullable — Release storage metadata
    - `bucket` string — Storage bucket name
    - `key` string — Storage object key

---

[API](https://skmtc.dev/gorules/apis/gorules-agent-api.md) · [All operations](https://skmtc.dev/gorules/apis/gorules-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gorules/gorules-agent-api/revisions/52c0773fcd80/schema)
