Ir al contenido principal
Changelogs

Create a new changelog

Creates a new changelog for the authenticated organization.

POST
/v2/changelogs

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 changelog
  • markdownContent - 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 changelog. Accepts user segment ids and company segment ids (a company segment means "people with a company in the segment"). Every id must be a segment of your organization: an unknown or deleted id is rejected with 400.
  • locale - The locale of the changelog (defaults to organization default)
  • date - The date of the changelog
  • state - The state of the changelog: draft (default) or live

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.

Authorizationstringheaderobligatorio

API key as Bearer token. Use: Authorization: Bearer sk_...

Featurebase-Versionenum<string>header

API version for this request. Defaults to your organization's configured API version if not specified.

Opciones disponibles: 2026-08-19.orbit, 2026-01-01.nova, 2025-12-12.clover
Ejemplo: 2026-08-19.orbit

Cuerpo

application/json
allowedSegmentIdsstring[]

An array of segment IDs that are allowed to view the changelog

Maximum array length: 100
categoriesstring[]

An array of category names to which the changelog belongs

Maximum array length: 100
datestring | null

The date of the changelog

Ejemplo: 2024-01-15

The URL of the featured image for the changelog. External URLs will be uploaded to our storage.

Ejemplo: https://example.com/image.png
htmlContentstring

HTML content of the changelog. Provide either htmlContent or markdownContent. Supports Featurebase custom blocks (callouts, multi-code, accordions, columns, file/image/video, iframes) — see the Content Components guide. External image URLs and base64 data URIs are uploaded to our storage automatically.

Ejemplo: <p>Exciting new features to explore.</p>
localeenum<string>

The locale of the changelog, defaulting to the organization default locale

Opciones disponibles: 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
Ejemplo: en
markdownContentstring

Markdown content of the changelog (CommonMark + GFM). Provide either htmlContent or markdownContent. Markdown is converted to plain HTML — to use Featurebase custom blocks (callouts, multi-code, accordions, columns) send htmlContent instead. See the Content Components guide.

Ejemplo: Exciting new features to explore.
stateenum<string>default:draft

The state of the changelog (draft or live)

Opciones disponibles: draft, live
Ejemplo: draft
titlestringobligatorio

The title of the changelog

Required string length: 1 - 512
Ejemplo: New Features Update
translationsobject

Locale-keyed draft updates. Every listed locale must be enabled for the organization. New translations require title and nonempty htmlContent or markdownContent; existing translations preserve omitted fields. Do not combine content formats within an entry. For nonempty batches, supplied top-level content must also be nonempty. Top-level localized fields override the primary-locale entry (HTML/Markdown are one content field). An empty dictionary uses the existing flow; an empty existing-locale entry is a no-op. Nonempty batches are saved together and return the primary draft with draft availableLocales. On PATCH, if the current organization default draft is absent, return the first edited locale in alphabetical order; for an all-no-op batch, return the first listed draft in alphabetical order. The response locale identifies the selected draft. Publication is separate. Uploaded assets are not rolled back on failure.

Respuesta

application/json

Created

allowedSegmentIdsstring[]obligatorio

Segment IDs that are allowed to view this changelog

availableLocalesstring[]obligatorio

Array of locale codes where the changelog has content

categoriesobject[]obligatorio

Categories the changelog belongs to

commentCountnumberobligatorio

Number of comments

Ejemplo: 2
contentstringobligatorio

Content in HTML format

Ejemplo: <p>Your changelog content in HTML format.</p>
createdAtstringobligatorio

ISO 8601 timestamp when created

Ejemplo: 2023-12-12T00:00:00.000Z
datestringobligatorio

Publication date as ISO 8601 timestamp

Ejemplo: 2023-05-07T12:59:59.000Z
emailSentToSubscribersbooleanobligatorio

Whether email notification was sent to subscribers

Ejemplo: true

Featured image URL

Ejemplo: https://cdn.example.com/images/feature.png
idstringobligatorio

Unique identifier

Ejemplo: 6457e3ff70afca5d8c27dccc
isDraftDiffersFromLivebooleanobligatorio

Whether the draft content differs from the published live content

Ejemplo: false
isPublishedbooleanobligatorio

Whether the changelog is published (has a live version) in this locale

Ejemplo: true
localeenum<string>obligatorio

Locale of the changelog

Opciones disponibles: 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
Ejemplo: en
markdownContentstring | nullobligatorio

Content in markdown format

Ejemplo: Your changelog content in markdown format.
notificationsobjectobligatorio

Notification settings for each locale

objectenum<string>obligatorio

Object type identifier

Opciones disponibles: changelog
Ejemplo: changelog
organizationstringobligatorio

Organization identifier

Ejemplo: myorg
publishedLocalesstring[]obligatorio

Array of locale codes where the changelog is published

slugstringobligatorio

URL-friendly slug

Ejemplo: your-awesome-changelog
slugsobjectobligatorio

URL-friendly slugs for each locale

stateenum<string>obligatorio

State of the changelog

Opciones disponibles: live, draft
Ejemplo: live
titlestringobligatorio

Changelog title

Ejemplo: Your awesome changelog!
updatedAtstringobligatorio

ISO 8601 timestamp when updated

Ejemplo: 2023-12-13T00:00:00.000Z
urlstringobligatorio

Public URL to view the changelog

Ejemplo: https://myorg.featurebase.app/en/changelog/your-awesome-changelog