Skip to content
Dashboard

Publish a changelog

client.changelogs.publish(stringid, ChangelogPublishParams { locales, scheduledDate, sendEmail, featurebaseVersion } params, RequestOptionsoptions?): PublishUnpublishSuccess { success, state }
POST/v2/changelogs/{id}/publish

Publishes a changelog and optionally sends an email notification to subscribers.

Optional Fields

  • sendEmail - Whether to send an email notification to subscribers (default: false)
  • locales - Array of locales to publish. An empty array publishes to all available locales
  • scheduledDate - A future date/time when the changelog should be published

Scheduling

If scheduledDate is provided:

  • Must be a future date
  • The changelog will be scheduled for publishing at that time
  • Any existing scheduled publish for the same locales will be cancelled and replaced

Email Notifications

If sendEmail is true:

  • Email notifications are sent to all subscribers in the published locales
  • Emails are only sent once per locale (won’t resend on republish)

Response

Returns a success confirmation:

{
  "success": true,
  "state": "published"
}

Or for scheduled publishes:

{
  "success": true,
  "state": "scheduled"
}

Errors

  • 400 - Invalid changelog ID or scheduled date is not in the future
  • 404 - Changelog not found or doesn’t belong to your organization
ParametersExpand Collapse
id: string

Changelog unique identifier

params: ChangelogPublishParams { locales, scheduledDate, sendEmail, featurebaseVersion }
locales?: Array<"bn" | "bs" | "pt-BR" | 39 more>

Body param: An array of locales to publish the changelog to. An empty array publishes to all locales.

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"
scheduledDate?: string | null

Body param: The date when the changelog should be published. Must be a future date. Pass null or omit to publish immediately.

sendEmail?: boolean | null

Body param: A flag indicating whether to send an email notification to subscribers.

featurebaseVersion?: "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-01-01.nova"
"2025-12-12.clover"
ReturnsExpand Collapse
PublishUnpublishSuccess { success, state }
success: true

Indicates the operation was successful

state?: "published" | "scheduled" | "unpublished"

The state of the changelog after the operation

One of the following:
"published"
"scheduled"
"unpublished"

Publish a changelog

import Featurebase from 'featurebase-node';

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

const publishUnpublishSuccess = await client.changelogs.publish('507f1f77bcf86cd799439011');

console.log(publishUnpublishSuccess.success);
{
  "success": true,
  "state": "published"
}
Returns Examples
{
  "success": true,
  "state": "published"
}