# Publish a changelog 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 Endpoint: POST /v2/changelogs/{id}/publish Version: 2026-01-01.nova Security: bearerAuth ## Header parameters: - `Featurebase-Version` (string) API version for this request. Defaults to your organization's configured API version if not specified. Example: "2026-01-01.nova" ## Path parameters: - `id` (string, required) Changelog unique identifier Example: "507f1f77bcf86cd799439011" ## Request fields (application/json): - `sendEmail` (boolean,null) A flag indicating whether to send an email notification to subscribers. Example: true - `locales` (array) An array of locales to publish the changelog to. An empty array publishes to all locales. Enum: "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` (any) The date when the changelog should be published. Must be a future date. Pass null or omit to publish immediately. Example: "2023-12-01T00:00:00Z" ## Response 200 fields (application/json): - `success` (boolean, required) Indicates the operation was successful Enum: true - `state` (string) The state of the changelog after the operation Enum: "published", "scheduled", "unpublished" ## Response 400 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "invalid_id" - `error.message` (string, required) Human-readable error message Example: "An error occurred" - `error.param` (string) The parameter that caused the error (if applicable) Example: "id" - `error.status` (number, required) HTTP status code Enum: 400 ## Response 404 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "changelog_not_found" - `error.message` (string, required) Human-readable error message Example: "An error occurred" - `error.param` (string) The parameter that caused the error (if applicable) Example: "id" - `error.status` (number, required) HTTP status code Enum: 404