Changelog entries

View as Markdown

Changelog entries are the release notes customers see on your changelog. The API can read them. It cannot create or publish them: writing and publishing is done in Tirver, because publishing marks linked feedback as shipped. See publish a changelog entry. If the workspace has switched the changelog module off, these endpoints answer 404 with module_disabled.

The changelog entry object

Field Type Meaning
id string The entry id.
slug string The address-friendly name.
title string The title.
status string draft or published.
labels array of strings Labels such as New or Integrations.
published_at string or null When it was published.
created_at string When it was created.
updated_at string When it last changed.

Lists add description, the start of the body. Fetching a single entry adds body, the notes as Markdown.

List changelog entries

GET/api/v1/changelog

Needs the changelog:read scope. Newest first.

Parameter Type What it does
status string published (the default), draft or all.
limit integer Page size, 1 to 100. Defaults to 25.
cursor string The next_cursor from the previous page.
curl "https://app.tirver.com/api/v1/changelog?status=published&limit=5" \
  -H "Authorization: Bearer $TIRVER_API_KEY"

Get a changelog entry

GET/api/v1/changelog/{id}

Needs changelog:read. {id} is the entry id or its slug. Returns one entry with its Markdown body.

Public changelog

Published entries for your workspace are also available without a key, as JSON, so you can show them on your own site. Replace WORKSPACE with your workspace slug.

GET/api/public/WORKSPACE/changelog

Returns every published entry, newest first.

{
  "workspace": { "name": "Acme", "slug": "acme" },
  "entries": [
    {
      "slug": "resizable-inbox-panels",
      "title": "Resizable inbox panels",
      "labels": ["Inbox"],
      "description": "Drag the edges of the panels to make room for what you are reading.",
      "publishedAt": "2026-11-12T09:00:00.000Z"
    }
  ]
}

GET/api/public/WORKSPACE/changelog/{slug}

Returns { "entry": ... } with the same fields plus body (Markdown), html and markdownUrl. Add .md to the slug to get the entry as Markdown text. Responses are cached for a short time and the endpoints allow requests from any origin. Note that these public endpoints use camelCase field names, unlike the keyed API.