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
- Get entries
- Get single entry
- Add entry
- Get all tags
- Get all subscribers
- Add subscriber
- Delete subscriber
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/jsonContent-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" } ]}
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
DELETE
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.Accept: application/jsonContent-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" ]}