Endpoints

Before accessing any endpoint, make sure you have created a valid access token. Also make sure to read the introduction to get familiar with our API.

Available endpoints:

Get basic workspace info

Method: GET

To get some basic info about your workspace, you can use the endpoint https://releasesapp.com/api/workspace:

$access_token = 'YOUR-ACCESS-TOKEN';
 
curl https://releasesapp.com/api/workspace \
-H "Authorization: Bearer $access_token" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'

Response

{
"success": true,
"version": "1.0",
"data": {
"identifier": "4982af36-4af0-11ee-8e70-7431996c5050",
"name": "Releases Changelog",
"slug": "releases-changelog",
"theme": "commit",
"is_public": 1,
"allow_bots": 1,
"show_backlink": 1,
"logo_url": "FULL-IMAGE-URL",
"og_image_url": "FULL-IMAGE-URL",
"created_at": "2023-08-20T08:57:18.000000Z"
}
}

Get entries

Method: GET

To get a list of all entries in a workspace, you can use the endpoint https://releasesapp.com/api/entries.

$access_token = 'YOUR-ACCESS-TOKEN';
 
curl https://releasesapp.com/api/entries \
-H "Authorization: Bearer $access_token" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'

You can add the parameter ?limit to limit the response. So https://releasesapp.com/api/entries?limit=5 will return only the latest 5 entries.

Response

{
"success": true,
"version": "1.0",
"data": [
{
"identifier": "a6b02a3e-bbcb-43f3-8f23-fc230fe7ff2e",
"title": "This is some published entry",
"slug": "this-is-some-published-entry",
"publish_at": "2023-09-05T00:00:00.000000Z",
"status": "published",
"notify_subscribers": true,
"content": "<p>HTML formatted content</p>"
},
{
"identifier": "28871f56-42eb-46c8-9d61-42eb2368ced4",
"title": "This is a new draft",
"slug": "this-is-a-new-draft",
"publish_at": "2023-09-14T00:00:00.000000Z",
"status": "draft",
"notify_subscribers": true,
"content": "<p>HTML formatted content</p>"
}
]
}

Get single entry

Method: GET

To access a single entry, use the endpoint https://releasesapp.com/api/entries/{id}.

$access_token = 'YOUR-ACCESS-TOKEN';
 
curl https://releasesapp.com/api/entries/{id} \
-H "Authorization: Bearer $access_token" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'

Add entry

Method: POST

To create a single entry, use the endpoint https://releasesapp.com/api/entry.

$access_token = 'YOUR-ACCESS-TOKEN';
 
curl https://releasesapp.com/api/entry \
-H "Authorization: Bearer $access_token" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'

The following parameters are allowed:

{
"title": "The title of the entry",
"slug": "the-slug-of-the-entry",
"is_published": true,
"publish_at": "2025-03-19",
"notify_subscribers": false,
"html": "<b>Hello there</b>"
}

The only required parameter is title.

If is_published is true and the publish_at date is in the future, the entry will be scheduled. If you supply a publish_at date, make sure it has the format YYYY-MM-DD.

It is currently not possible to add files or assign tags via the API.


Get all tags

Method: GET

To get a list of all tags, you can use the endpoint https://releasesapp.com/api/tags.

$access_token = 'YOUR-ACCESS-TOKEN';
 
curl https://releasesapp.com/api/tags \
-H "Authorization: Bearer $access_token" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'

Response

{
"success": true,
"version": "1.0",
"data": [
{
"name": "Announcement",
"slug": "announcement",
"bg_color": "#1b8bcc",
"text_color": "#ffffff"
},
{
"name": "Update",
"slug": "update",
"bg_color": "#0b9e77",
"text_color": "#ffffff"
},
{
"name": "Bugfix",
"slug": "bugfix",
"bg_color": "#98c283",
"text_color": "#d09723"
}
]
}

Get all subscribers

Method: GET

To get a list of all subscribers, use the endpoint https://releasesapp.com/api/subscribers.

$access_token = 'YOUR-ACCESS-TOKEN';
 
curl https://releasesapp.com/api/subscribers \
-H "Authorization: Bearer $access_token" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'

Response

{
"success": true,
"version": "1.0",
"data": [
{
"email": "andreas@example.com",
"name": "Andreas",
"verified_at": "2023-09-12T06:50:27.000000Z",
"created_at": "2023-09-10T11:41:02.000000Z"
},
{
"email": "rosalie@example.com",
"name": "Rosalie",
"verified_at": null,
"created_at": "2023-09-12T07:37:34.000000Z"
}
]
}

Add subscriber

Method: POST

To add a subscriber, send a POST request to https://releasesapp.com/api/subscribers. The supplied data must be valid JSON in an array format, even if you only add one subscriber.

Be sure to send these headers:

Accept: application/json
Content-Type: application/json
{
"subscribers": [
{
"name": "Alf",
"email": "alf@example.com",
"verified_at": "2023-09-14"
},
{
"name": "Willie",
"email": "willie@example.com",
"verified_at": "2023-09-14"
}
]
}

Response

{
"success": true,
"version": "1.0",
"data": [
{
"email": "alf@example.com",
"name": "Alf",
"verified_at": "2023-09-14T00:00:00.000000Z",
"created_at": "2023-09-14T14:17:39.000000Z"
},
{
"email": "willie@example.com",
"name": "Willie",
"verified_at": "2023-09-14T00:00:00.000000Z",
"created_at": "2023-09-14T14:17:39.000000Z"
}
]
}
Please note that verified_at must be formatted like YYYY-MM-DD, eg. 2023-09-14. If you do not supply a date, the current date is used when importing data.

Delete subscriber

Method: DELETE
 
To delete one or more subscriber, send a DELETE request to https://releasesapp.com/api/subscribers. The supplied data must be valid JSON in an array format, even if you only add one subscriber.
 
Be sure to send these headers:
Accept: application/json
Content-Type: application/json
{
"subscribers": [
{
"email": "alf@example.com"
},
{
"email": "willie@example.com"
}
]
}

Response

{
"success": true,
"version": "1.0",
"data": [
"alf@example.com",
"willie@example.com"
]
}

Was this article helpful?