# Subscribers ## Add changelog subscribers `client.changelogs.subscribers.add(SubscriberAddParamsparams, RequestOptionsoptions?): SubscriberAddResponse` **post** `/v2/changelogs/subscribers` Adds email addresses as changelog subscribers in bulk. Subscribers will receive email notifications when new changelogs are published (if email notifications are enabled during publishing). ### Request Body - `emails` - Array of email addresses to add (required, 1-1000 emails) - `locale` - Locale for the subscribers (optional, defaults to organization default) ### Email Validation - Invalid email addresses are automatically filtered out - Emails are normalized (trimmed, lowercased) - Duplicate emails are deduplicated ### Rate Limiting This endpoint is rate limited to prevent abuse. If you need to import more subscribers, please contact support. ### Response Returns a confirmation with the count of processed emails: ```json { "object": "changelog_subscribers_import", "count": 150 } ``` ### Errors - `400` - Invalid request (empty emails array, too many emails) - `429` - Rate limit exceeded ### Parameters - `params: SubscriberAddParams` - `emails: Array` Body param: Array of email addresses to add as changelog subscribers - `locale?: "bn" | "bs" | "pt-BR" | 39 more` Body param: The locale for the subscribers. Defaults to organization default locale. - `"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"` - `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 - `SubscriberAddResponse` - `count: number` Number of email addresses processed - `object: "changelog_subscribers_import"` Object type identifier - `"changelog_subscribers_import"` ### 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 response = await client.changelogs.subscribers.add({ emails: ['john@example.com', 'jane@example.com'], }); console.log(response.count); ``` #### Response ```json { "count": 150, "object": "changelog_subscribers_import" } ``` ## Remove changelog subscribers `client.changelogs.subscribers.remove(SubscriberRemoveParamsparams, RequestOptionsoptions?): SubscriberRemoveResponse` **delete** `/v2/changelogs/subscribers` Removes email addresses from changelog subscribers in bulk. Removed subscribers will no longer receive email notifications when new changelogs are published. ### Request Body - `emails` - Array of email addresses to remove (required, 1-1000 emails) ### Email Handling - Emails that don't exist as subscribers are silently ignored - Emails are normalized (trimmed, lowercased) before matching ### Response Returns a confirmation with the count of processed emails: ```json { "object": "changelog_subscribers_removal", "count": 150 } ``` ### Errors - `400` - Invalid request (empty emails array, too many emails) ### Parameters - `params: SubscriberRemoveParams` - `emails: Array` Body param: Array of email addresses to remove from changelog 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 - `SubscriberRemoveResponse` - `count: number` Number of email addresses processed - `object: "changelog_subscribers_removal"` Object type identifier - `"changelog_subscribers_removal"` ### 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 subscriber = await client.changelogs.subscribers.remove({ emails: ['john@example.com', 'jane@example.com'], }); console.log(subscriber.count); ``` #### Response ```json { "count": 150, "object": "changelog_subscribers_removal" } ``` ## Domain Types ### Subscriber Add Response - `SubscriberAddResponse` - `count: number` Number of email addresses processed - `object: "changelog_subscribers_import"` Object type identifier - `"changelog_subscribers_import"` ### Subscriber Remove Response - `SubscriberRemoveResponse` - `count: number` Number of email addresses processed - `object: "changelog_subscribers_removal"` Object type identifier - `"changelog_subscribers_removal"`