Skip to content
Dashboard

Get a changelog by ID

client.changelogs.retrieve(stringid, ChangelogRetrieveParams { allTranslations, state, featurebaseVersion } params?, RequestOptionsoptions?): ChangelogRetrieveResponse { translations }
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, a 404 is returned.

Orbit supports allTranslations=true to include a locale-keyed translations dictionary. With this option, state=live|draft selects the version for both the primary content and translations (default: live). Locales without that version are omitted; stored disabled locales remain readable. Without this option, the response is unchanged and prefers live content, falling back to draft.

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 { allTranslations, state, featurebaseVersion }
allTranslations?: "true" | "false"

Query param: Include a locale-keyed translations dictionary. Omitted or false preserves the existing response.

One of the following:
"true"
"false"
state?: "live" | "draft"

Query param: Version for allTranslations=true, defaulting to live. Ignored otherwise. Locales without this version are omitted.

One of the following:
"live"
"draft"
featurebaseVersion?: "2026-08-19.orbit" | "2026-01-01.nova" | "2025-12-12.clover"

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

One of the following:
"2026-08-19.orbit"
"2026-01-01.nova"
"2025-12-12.clover"
ReturnsExpand Collapse
ChangelogRetrieveResponse extends Changelog { id, allowedSegmentIds, availableLocales, 21 more } { translations }
translations?: Record<string, Translations>
content: string

Content in HTML format

featuredImage: string | null

Featured image URL

locale: "ar" | "am" | "fa" | 68 more

Locale of the changelog

One of the following:
"ar"
"am"
"fa"
"ht"
"lo"
"my"
"pa"
"ps"
"so"
"tl"
"ur"
"he"
"ta"
"te"
"mr"
"gu"
"kn"
"ml"
"ha"
"jv"
"yo"
"ig"
"uz"
"ne"
"sd"
"az"
"si"
"km"
"kk"
"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

state: "live" | "draft"

State of the changelog

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

Changelog title

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": "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",
  "translations": {
    "foo": {
      "content": "<p>Your changelog content in HTML format.</p>",
      "featuredImage": "https://cdn.example.com/images/feature.png",
      "locale": "en",
      "markdownContent": "Your changelog content in markdown format.",
      "state": "live",
      "title": "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",
  "translations": {
    "foo": {
      "content": "<p>Your changelog content in HTML format.</p>",
      "featuredImage": "https://cdn.example.com/images/feature.png",
      "locale": "en",
      "markdownContent": "Your changelog content in markdown format.",
      "state": "live",
      "title": "Your awesome changelog!"
    }
  }
}