Skip to content
Dashboard

Get a changelog by ID

client.changelogs.retrieve(stringid, ChangelogRetrieveParams { featurebaseVersion } params?, RequestOptionsoptions?): Changelog { id, allowedSegmentIds, availableLocales, 21 more }
GET/v2/changelogs/{id}

Retrieves a single changelog by its unique identifier or slug.

Returns the full changelog object including:

  • Title and content (in HTML and markdown formats)
  • Featured image
  • Publication date
  • Categories
  • Comment count
  • Email notification status

Localization

The changelog content is returned in the organization’s default locale. If the changelog doesn’t exist in the default locale, the first available locale is used.

State

Both published (live) and draft changelogs can be retrieved. The state field indicates the current publication status.

ParametersExpand Collapse
id: string

Changelog unique identifier

params: ChangelogRetrieveParams { featurebaseVersion }
featurebaseVersion?: "2026-01-01.nova" | "2025-12-12.clover"

API version for this request. Defaults to your organization’s configured API version if not specified.

One of the following:
"2026-01-01.nova"
"2025-12-12.clover"
ReturnsExpand Collapse
Changelog { id, allowedSegmentIds, availableLocales, 21 more }
id: string

Unique identifier

allowedSegmentIds: Array<string>

Segment IDs that are allowed to view this changelog

availableLocales: Array<string>

Array of locale codes where the changelog has content

categories: Array<Category>

Categories the changelog belongs to

id: string

Category unique identifier

name: string

Category name

roles?: Array<string>

Roles allowed to view this category

commentCount: number

Number of comments

content: string

Content in HTML format

createdAt: string

ISO 8601 timestamp when created

date: string

Publication date as ISO 8601 timestamp

emailSentToSubscribers: boolean

Whether email notification was sent to subscribers

featuredImage: string | null

Featured image URL

isDraftDiffersFromLive: boolean

Whether the draft content differs from the published live content

isPublished: boolean

Whether the changelog is published (has a live version) in this locale

locale: "bn" | "bs" | "pt-BR" | 39 more

Locale of the changelog

One of the following:
"bn"
"bs"
"pt-BR"
"bg"
"ca"
"hr"
"cs"
"da"
"nl"
"en"
"et"
"fi"
"fr"
"de"
"el"
"hi"
"hu"
"id"
"it"
"ja"
"ko"
"lv"
"lt"
"ms"
"mn"
"nb"
"pl"
"pt"
"ro"
"ru"
"sr"
"zh-CN"
"sk"
"sl"
"es"
"sw"
"sv"
"th"
"zh-TW"
"tr"
"uk"
"vi"
markdownContent: string | null

Content in markdown format

notifications: Record<string, Notifications>

Notification settings for each locale

scheduledDate: string | null

Scheduled publication date as ISO 8601 timestamp

emailSent?: boolean

Whether the email notification has been sent

hideFromBoardAndWidgets?: boolean

Whether the changelog is hidden from the board and widgets

sendEmailNotification?: boolean

Whether email notification should be sent for this locale

object: "changelog"

Object type identifier

organization: string

Organization identifier

publishedLocales: Array<string>

Array of locale codes where the changelog is published

slug: string

URL-friendly slug

slugs: Record<string, string>

URL-friendly slugs for each locale

state: "live" | "draft"

State of the changelog

One of the following:
"live"
"draft"
title: string

Changelog title

updatedAt: string

ISO 8601 timestamp when updated

url: string

Public URL to view the changelog

Get a changelog by ID

import Featurebase from 'featurebase-node';

const client = new Featurebase({
  apiKey: process.env['FEATUREBASE_API_KEY'], // This is the default and can be omitted
});

const changelog = await client.changelogs.retrieve('507f1f77bcf86cd799439011');

console.log(changelog.id);
{
  "id": "6457e3ff70afca5d8c27dccc",
  "allowedSegmentIds": [
    "string"
  ],
  "availableLocales": [
    "en",
    "de",
    "fr"
  ],
  "categories": [
    {
      "id": "6438a1efda3640f8feb72121",
      "name": "New Features",
      "roles": [
        "string"
      ]
    }
  ],
  "commentCount": 2,
  "content": "<p>Your changelog content in HTML format.</p>",
  "createdAt": "2023-12-12T00:00:00.000Z",
  "date": "2023-05-07T12:59:59.000Z",
  "emailSentToSubscribers": true,
  "featuredImage": "https://cdn.example.com/images/feature.png",
  "isDraftDiffersFromLive": false,
  "isPublished": true,
  "locale": "en",
  "markdownContent": "Your changelog content in markdown format.",
  "notifications": {
    "foo": {
      "scheduledDate": "2024-01-15T12:00:00.000Z",
      "emailSent": true,
      "hideFromBoardAndWidgets": false,
      "sendEmailNotification": true
    }
  },
  "object": "changelog",
  "organization": "myorg",
  "publishedLocales": [
    "en",
    "de"
  ],
  "slug": "your-awesome-changelog",
  "slugs": {
    "en": "your-awesome-changelog",
    "de": "dein-tolles-changelog"
  },
  "state": "live",
  "title": "Your awesome changelog!",
  "updatedAt": "2023-12-13T00:00:00.000Z",
  "url": "https://myorg.featurebase.app/en/changelog/your-awesome-changelog"
}
Returns Examples
{
  "id": "6457e3ff70afca5d8c27dccc",
  "allowedSegmentIds": [
    "string"
  ],
  "availableLocales": [
    "en",
    "de",
    "fr"
  ],
  "categories": [
    {
      "id": "6438a1efda3640f8feb72121",
      "name": "New Features",
      "roles": [
        "string"
      ]
    }
  ],
  "commentCount": 2,
  "content": "<p>Your changelog content in HTML format.</p>",
  "createdAt": "2023-12-12T00:00:00.000Z",
  "date": "2023-05-07T12:59:59.000Z",
  "emailSentToSubscribers": true,
  "featuredImage": "https://cdn.example.com/images/feature.png",
  "isDraftDiffersFromLive": false,
  "isPublished": true,
  "locale": "en",
  "markdownContent": "Your changelog content in markdown format.",
  "notifications": {
    "foo": {
      "scheduledDate": "2024-01-15T12:00:00.000Z",
      "emailSent": true,
      "hideFromBoardAndWidgets": false,
      "sendEmailNotification": true
    }
  },
  "object": "changelog",
  "organization": "myorg",
  "publishedLocales": [
    "en",
    "de"
  ],
  "slug": "your-awesome-changelog",
  "slugs": {
    "en": "your-awesome-changelog",
    "de": "dein-tolles-changelog"
  },
  "state": "live",
  "title": "Your awesome changelog!",
  "updatedAt": "2023-12-13T00:00:00.000Z",
  "url": "https://myorg.featurebase.app/en/changelog/your-awesome-changelog"
}