curl --request POST \
--url https://api.onset.io/v1/releases \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"slug": "<string>",
"body": "<string>",
"is_public": true,
"project_id": "<string>",
"label_ids": [
"<string>"
],
"contributor_ids": [
"<string>"
],
"attachments": [
{
"type": "FILE",
"content": {
"title": "<string>",
"url": "<string>",
"size": 123,
"type": "<string>"
},
"id": "<string>"
}
],
"changes": [
{
"id": "<string>",
"changeId": "<string>",
"content": "<string>"
}
],
"is_pinned": true,
"is_pre_release": true,
"version": "<string>"
}
'import requests
url = "https://api.onset.io/v1/releases"
payload = {
"title": "<string>",
"slug": "<string>",
"body": "<string>",
"is_public": True,
"project_id": "<string>",
"label_ids": ["<string>"],
"contributor_ids": ["<string>"],
"attachments": [
{
"type": "FILE",
"content": {
"title": "<string>",
"url": "<string>",
"size": 123,
"type": "<string>"
},
"id": "<string>"
}
],
"changes": [
{
"id": "<string>",
"changeId": "<string>",
"content": "<string>"
}
],
"is_pinned": True,
"is_pre_release": True,
"version": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
slug: '<string>',
body: JSON.stringify('<string>'),
is_public: true,
project_id: '<string>',
label_ids: ['<string>'],
contributor_ids: ['<string>'],
attachments: [
{
type: 'FILE',
content: {title: '<string>', url: '<string>', size: 123, type: '<string>'},
id: '<string>'
}
],
changes: [{id: '<string>', changeId: '<string>', content: '<string>'}],
is_pinned: true,
is_pre_release: true,
version: '<string>'
})
};
fetch('https://api.onset.io/v1/releases', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.onset.io/v1/releases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'slug' => '<string>',
'body' => '<string>',
'is_public' => true,
'project_id' => '<string>',
'label_ids' => [
'<string>'
],
'contributor_ids' => [
'<string>'
],
'attachments' => [
[
'type' => 'FILE',
'content' => [
'title' => '<string>',
'url' => '<string>',
'size' => 123,
'type' => '<string>'
],
'id' => '<string>'
]
],
'changes' => [
[
'id' => '<string>',
'changeId' => '<string>',
'content' => '<string>'
]
],
'is_pinned' => true,
'is_pre_release' => true,
'version' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.onset.io/v1/releases"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"body\": \"<string>\",\n \"is_public\": true,\n \"project_id\": \"<string>\",\n \"label_ids\": [\n \"<string>\"\n ],\n \"contributor_ids\": [\n \"<string>\"\n ],\n \"attachments\": [\n {\n \"type\": \"FILE\",\n \"content\": {\n \"title\": \"<string>\",\n \"url\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\"\n },\n \"id\": \"<string>\"\n }\n ],\n \"changes\": [\n {\n \"id\": \"<string>\",\n \"changeId\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"is_pinned\": true,\n \"is_pre_release\": true,\n \"version\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.onset.io/v1/releases")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"body\": \"<string>\",\n \"is_public\": true,\n \"project_id\": \"<string>\",\n \"label_ids\": [\n \"<string>\"\n ],\n \"contributor_ids\": [\n \"<string>\"\n ],\n \"attachments\": [\n {\n \"type\": \"FILE\",\n \"content\": {\n \"title\": \"<string>\",\n \"url\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\"\n },\n \"id\": \"<string>\"\n }\n ],\n \"changes\": [\n {\n \"id\": \"<string>\",\n \"changeId\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"is_pinned\": true,\n \"is_pre_release\": true,\n \"version\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onset.io/v1/releases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"body\": \"<string>\",\n \"is_public\": true,\n \"project_id\": \"<string>\",\n \"label_ids\": [\n \"<string>\"\n ],\n \"contributor_ids\": [\n \"<string>\"\n ],\n \"attachments\": [\n {\n \"type\": \"FILE\",\n \"content\": {\n \"title\": \"<string>\",\n \"url\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\"\n },\n \"id\": \"<string>\"\n }\n ],\n \"changes\": [\n {\n \"id\": \"<string>\",\n \"changeId\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"is_pinned\": true,\n \"is_pre_release\": true,\n \"version\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"body": "<string>",
"slug": "<string>",
"version": "<string>",
"is_pinned": true,
"is_public": true,
"is_pre_release": true,
"summary": "<string>",
"hero": {
"url": "<string>"
},
"changes": [
{
"id": "<string>",
"change_id": "<string>",
"content": "<string>"
}
],
"project": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
},
"labels": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"color": "<string>"
}
],
"attachments": [
{
"type": "FILE",
"content": {
"title": "<string>",
"url": "<string>",
"size": 123,
"type": "<string>"
},
"id": "<string>"
}
],
"contributors": [
{
"id": "<string>",
"name": "<string>",
"avatar_url": "<string>"
}
],
"released_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"details": {}
}{
"error": "<string>",
"details": {}
}Create a new release
Create a new release in the workspace
curl --request POST \
--url https://api.onset.io/v1/releases \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"slug": "<string>",
"body": "<string>",
"is_public": true,
"project_id": "<string>",
"label_ids": [
"<string>"
],
"contributor_ids": [
"<string>"
],
"attachments": [
{
"type": "FILE",
"content": {
"title": "<string>",
"url": "<string>",
"size": 123,
"type": "<string>"
},
"id": "<string>"
}
],
"changes": [
{
"id": "<string>",
"changeId": "<string>",
"content": "<string>"
}
],
"is_pinned": true,
"is_pre_release": true,
"version": "<string>"
}
'import requests
url = "https://api.onset.io/v1/releases"
payload = {
"title": "<string>",
"slug": "<string>",
"body": "<string>",
"is_public": True,
"project_id": "<string>",
"label_ids": ["<string>"],
"contributor_ids": ["<string>"],
"attachments": [
{
"type": "FILE",
"content": {
"title": "<string>",
"url": "<string>",
"size": 123,
"type": "<string>"
},
"id": "<string>"
}
],
"changes": [
{
"id": "<string>",
"changeId": "<string>",
"content": "<string>"
}
],
"is_pinned": True,
"is_pre_release": True,
"version": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
slug: '<string>',
body: JSON.stringify('<string>'),
is_public: true,
project_id: '<string>',
label_ids: ['<string>'],
contributor_ids: ['<string>'],
attachments: [
{
type: 'FILE',
content: {title: '<string>', url: '<string>', size: 123, type: '<string>'},
id: '<string>'
}
],
changes: [{id: '<string>', changeId: '<string>', content: '<string>'}],
is_pinned: true,
is_pre_release: true,
version: '<string>'
})
};
fetch('https://api.onset.io/v1/releases', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.onset.io/v1/releases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'slug' => '<string>',
'body' => '<string>',
'is_public' => true,
'project_id' => '<string>',
'label_ids' => [
'<string>'
],
'contributor_ids' => [
'<string>'
],
'attachments' => [
[
'type' => 'FILE',
'content' => [
'title' => '<string>',
'url' => '<string>',
'size' => 123,
'type' => '<string>'
],
'id' => '<string>'
]
],
'changes' => [
[
'id' => '<string>',
'changeId' => '<string>',
'content' => '<string>'
]
],
'is_pinned' => true,
'is_pre_release' => true,
'version' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.onset.io/v1/releases"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"body\": \"<string>\",\n \"is_public\": true,\n \"project_id\": \"<string>\",\n \"label_ids\": [\n \"<string>\"\n ],\n \"contributor_ids\": [\n \"<string>\"\n ],\n \"attachments\": [\n {\n \"type\": \"FILE\",\n \"content\": {\n \"title\": \"<string>\",\n \"url\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\"\n },\n \"id\": \"<string>\"\n }\n ],\n \"changes\": [\n {\n \"id\": \"<string>\",\n \"changeId\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"is_pinned\": true,\n \"is_pre_release\": true,\n \"version\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.onset.io/v1/releases")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"body\": \"<string>\",\n \"is_public\": true,\n \"project_id\": \"<string>\",\n \"label_ids\": [\n \"<string>\"\n ],\n \"contributor_ids\": [\n \"<string>\"\n ],\n \"attachments\": [\n {\n \"type\": \"FILE\",\n \"content\": {\n \"title\": \"<string>\",\n \"url\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\"\n },\n \"id\": \"<string>\"\n }\n ],\n \"changes\": [\n {\n \"id\": \"<string>\",\n \"changeId\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"is_pinned\": true,\n \"is_pre_release\": true,\n \"version\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onset.io/v1/releases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"body\": \"<string>\",\n \"is_public\": true,\n \"project_id\": \"<string>\",\n \"label_ids\": [\n \"<string>\"\n ],\n \"contributor_ids\": [\n \"<string>\"\n ],\n \"attachments\": [\n {\n \"type\": \"FILE\",\n \"content\": {\n \"title\": \"<string>\",\n \"url\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\"\n },\n \"id\": \"<string>\"\n }\n ],\n \"changes\": [\n {\n \"id\": \"<string>\",\n \"changeId\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"is_pinned\": true,\n \"is_pre_release\": true,\n \"version\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"body": "<string>",
"slug": "<string>",
"version": "<string>",
"is_pinned": true,
"is_public": true,
"is_pre_release": true,
"summary": "<string>",
"hero": {
"url": "<string>"
},
"changes": [
{
"id": "<string>",
"change_id": "<string>",
"content": "<string>"
}
],
"project": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
},
"labels": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"color": "<string>"
}
],
"attachments": [
{
"type": "FILE",
"content": {
"title": "<string>",
"url": "<string>",
"size": 123,
"type": "<string>"
},
"id": "<string>"
}
],
"contributors": [
{
"id": "<string>",
"name": "<string>",
"avatar_url": "<string>"
}
],
"released_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"details": {}
}{
"error": "<string>",
"details": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Release title
3 - 255Release status
DRAFT, RELEASED URL-friendly release identifier
3 - 255^[a-z0-9]+(?:-[a-z0-9]+)*$Release description/body content
Whether release should be publicly visible
ID of the project this release belongs to
Array of label IDs to attach to the release
Array of contributor IDs to attach to the release
Array of attachments to include
- Option 1
- Option 2
Show child attributes
Show child attributes
Hero image/video for the release
Show child attributes
Show child attributes
List of changes in this release
Show child attributes
Show child attributes
Whether release should be pinned
Whether this is a pre-release
Release version
Response
Release created successfully
Unique release identifier
Release title
Release description/body content (HTML formatted)
URL-friendly release identifier
Current release status
DRAFT, RELEASED Release version
Whether release is pinned
Whether release is publicly visible
Whether this is a pre-release
AI generated summary of the release
Hero image/video for the release
Show child attributes
Show child attributes
List of changes in this release
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
List of contributors to this release
Show child attributes
Show child attributes
When the release was released
When the release was created
When the release was last updated
Was this page helpful?

