## Get a changelog by ID `client.changelogs.retrieve(stringid, ChangelogRetrieveParamsparams?, RequestOptionsoptions?): Changelog` **get** `/v2/changelogs/{id}` Retrieves a single changelog by its unique identifier or slug. Returns the full changelog object including: - Title and content (in HTML and markdown formats) - Featured image - Publication date - Categories - Comment count - Email notification status ### Localization The changelog content is returned in the organization's default locale. If the changelog doesn't exist in the default locale, the first available locale is used. ### State Both published (`live`) and draft changelogs can be retrieved. The `state` field indicates the current publication status. ### Parameters - `id: string` Changelog unique identifier - `params: ChangelogRetrieveParams` - `featurebaseVersion?: "2026-01-01.nova" | "2025-12-12.clover"` 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 - `Changelog` - `id: string` Unique identifier - `allowedSegmentIds: Array` Segment IDs that are allowed to view this changelog - `availableLocales: Array` Array of locale codes where the changelog has content - `categories: Array` Categories the changelog belongs to - `id: string` Category unique identifier - `name: string` Category name - `roles?: Array` Roles allowed to view this category - `commentCount: number` Number of comments - `content: string` Content in HTML format - `createdAt: string` ISO 8601 timestamp when created - `date: string` Publication date as ISO 8601 timestamp - `emailSentToSubscribers: boolean` Whether email notification was sent to subscribers - `featuredImage: string | null` Featured image URL - `isDraftDiffersFromLive: boolean` Whether the draft content differs from the published live content - `isPublished: boolean` Whether the changelog is published (has a live version) in this locale - `locale: "bn" | "bs" | "pt-BR" | 39 more` Locale of the changelog - `"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"` - `markdownContent: string | null` Content in markdown format - `notifications: Record` Notification settings for each locale - `scheduledDate: string | null` Scheduled publication date as ISO 8601 timestamp - `emailSent?: boolean` Whether the email notification has been sent - `hideFromBoardAndWidgets?: boolean` Whether the changelog is hidden from the board and widgets - `sendEmailNotification?: boolean` Whether email notification should be sent for this locale - `object: "changelog"` Object type identifier - `"changelog"` - `organization: string` Organization identifier - `publishedLocales: Array` Array of locale codes where the changelog is published - `slug: string` URL-friendly slug - `slugs: Record` URL-friendly slugs for each locale - `state: "live" | "draft"` State of the changelog - `"live"` - `"draft"` - `title: string` Changelog title - `updatedAt: string` ISO 8601 timestamp when updated - `url: string` Public URL to view the changelog ### 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 changelog = await client.changelogs.retrieve('507f1f77bcf86cd799439011'); console.log(changelog.id); ``` #### Response ```json { "id": "6457e3ff70afca5d8c27dccc", "allowedSegmentIds": [ "string" ], "availableLocales": [ "en", "de", "fr" ], "categories": [ { "id": "6438a1efda3640f8feb72121", "name": "New Features", "roles": [ "string" ] } ], "commentCount": 2, "content": "

Your changelog content in HTML format.

", "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" } ```