Create a new changelog
Creates a new changelog for the authenticated organization.
Required Fields
title- The title of the changelog
Content
Provide content in one of two formats (at least one is required):
htmlContent- HTML content of the changelogmarkdownContent- Markdown content of the changelog
Note: For images in content, you can use:
- External URLs in img src attributes (automatically uploaded to our storage)
- Base64 encoded data URIs (data:image/…) which are processed and stored
Optional Fields
categories- Array of category names (e.g., [“New”, “Fixed”, “Improved”])featuredImage- URL of the featured image (external URLs are uploaded to our storage)allowedSegmentIds- Array of segment IDs that are allowed to view the changeloglocale- The locale of the changelog (defaults to organization default)date- The date of the changelogstate- The state of the changelog:draft(default) orlive
Response
Returns the created changelog object.
Batched translations (Orbit only)
In API version 2026-08-19.orbit, optional translations accepts a locale-keyed dictionary of title, htmlContent or markdownContent, and featuredImage.
Every listed locale (including an explicit top-level locale) must be enabled for the organization’s changelogs, even if a translation already exists.
New translations require title and nonempty content. Top-level title and content remain required on creation; supplied top-level content must be nonempty in nonempty batches.
Top-level localized fields override the entry for locale (or the organization default); a top-level content format replaces the entry’s content input.
Nonempty batches save all drafts together and return the primary draft with draft availableLocales. Publication is separate.
Omitted or empty dictionaries retain the existing flow. Completed uploads are not rolled back on failure.
Create a new 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 changelog = await client.changelogs.create({ title: 'New Features Update' });
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"
}