Boards (post categories) organize feedback into distinct containers with their own settings.
Featurebase API (2026-01-01.nova)
Welcome to the Featurebase API. This API allows you to programmatically interact with your Featurebase organization.
This documentation reflects API version 2026-01-01.nova.
API Versioning
This API uses date-based versioning. Each version is identified by a release date and slug, e.g., 2026-01-01.nova.
Specifying a Version
Include the version in the request header:
Featurebase-Version: 2026-01-01.novaOr set a default version for your organization in the dashboard settings.
Version Compatibility
- Newer versions may add new fields to responses (always backwards-compatible)
- Breaking changes (removed/renamed fields, changed behavior) only occur in new versions
- Your integration will continue to work as long as you pin to a specific version
Authentication
All API requests require authentication via API key.
Include in headers:
Authorization: Bearer <api-key>Create and manage your API keys in the Featurebase dashboard.
Error Handling
The API uses conventional HTTP response codes to indicate success or failure:
2xx- Success4xx- Client errors (bad request, unauthorized, not found, etc.)5xx- Server errors (internal error)
Error Response Format
All errors follow a consistent format:
{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "Post not found",
"param": "id",
"status": 404
}
}Error Types
| Type | Description |
|---|---|
authentication_error | Authentication failed (401) |
authorization_error | Permission denied (403) |
invalid_request_error | Invalid request parameters or resource not found (400, 404, 410) |
api_error | Server-side error (500) |
rate_limit_error | Too many requests (429) |
Request
Publishes a changelog and optionally sends an email notification to subscribers.
sendEmail- Whether to send an email notification to subscribers (default: false)locales- Array of locales to publish. An empty array publishes to all available localesscheduledDate- A future date/time when the changelog should be published
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
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)
Returns a success confirmation:
{
"success": true,
"state": "published"
}Or for scheduled publishes:
{
"success": true,
"state": "scheduled"
}400- Invalid changelog ID or scheduled date is not in the future404- Changelog not found or doesn't belong to your organization
A flag indicating whether to send an email notification to subscribers.
An array of locales to publish the changelog to. An empty array publishes to all locales.
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/changelogs/{id}/publish
- Productionhttps://do.featurebase.app/v2/changelogs/{id}/publish
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.featurebase.app/_mock/rest-api/v2/changelogs/507f1f77bcf86cd799439011/publish \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Featurebase-Version: 2026-01-01.nova' \
-d '{
"sendEmail": true,
"locales": [
"en",
"de"
],
"scheduledDate": "2023-12-01T00:00:00Z"
}'{ "success": true, "state": "published" }
Request
Unpublishes a changelog, removing it from public view.
locales- Array of locales to unpublish from. An empty array unpublishes from all locales
- The changelog content is preserved (reverts to draft state)
- Any scheduled publishes for the specified locales are cancelled
- The changelog can be re-published later
Returns a success confirmation:
{
"success": true,
"state": "unpublished"
}400- Invalid changelog ID format404- Changelog not found or doesn't belong to your organization
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/changelogs/{id}/unpublish
- Productionhttps://do.featurebase.app/v2/changelogs/{id}/unpublish
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.featurebase.app/_mock/rest-api/v2/changelogs/507f1f77bcf86cd799439011/unpublish \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Featurebase-Version: 2026-01-01.nova' \
-d '{
"locales": [
"en"
]
}'{ "success": true, "state": "published" }
Request
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).
emails- Array of email addresses to add (required, 1-1000 emails)locale- Locale for the subscribers (optional, defaults to organization default)
- Invalid email addresses are automatically filtered out
- Emails are normalized (trimmed, lowercased)
- Duplicate emails are deduplicated
This endpoint is rate limited to prevent abuse. If you need to import more subscribers, please contact support.
Returns a confirmation with the count of processed emails:
{
"object": "changelog_subscribers_import",
"count": 150
}400- Invalid request (empty emails array, too many emails)429- Rate limit exceeded
Array of email addresses to add as changelog subscribers
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/changelogs/subscribers
- Productionhttps://do.featurebase.app/v2/changelogs/subscribers
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.featurebase.app/_mock/rest-api/v2/changelogs/subscribers \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Featurebase-Version: 2026-01-01.nova' \
-d '{
"emails": [
"john@example.com",
"jane@example.com"
],
"locale": "en"
}'{ "object": "changelog_subscribers_import", "count": 150 }
CommentsCopy for LLM Copy page as Markdown for LLMs View as Markdown Open this page as Markdown Open in ChatGPT Get insights from ChatGPT Open in Claude Get insights from Claude Connect to Cursor Install MCP server on Cursor Connect to VS Code Install MCP server on VS Code
Threaded discussions on posts and changelogs. Comments support voting, moderation, and privacy controls.