## Publish a changelog `client.changelogs.publish(stringid, ChangelogPublishParamsparams, RequestOptionsoptions?): PublishUnpublishSuccess` **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: ```json { "success": true, "state": "published" } ``` Or for scheduled publishes: ```json { "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 ### Parameters - `id: string` Changelog unique identifier - `params: ChangelogPublishParams` - `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. - `"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. - `"2026-01-01.nova"` - `"2025-12-12.clover"` ### Returns - `PublishUnpublishSuccess` - `success: true` Indicates the operation was successful - `true` - `state?: "published" | "scheduled" | "unpublished"` The state of the changelog after the operation - `"published"` - `"scheduled"` - `"unpublished"` ### Example ```typescript 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); ``` #### Response ```json { "success": true, "state": "published" } ```