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.
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
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.
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
Deletes a changelog by its unique identifier.
The changelog and all associated comments are permanently deleted. This action cannot be undone.
Only organization admins can delete changelogs.
Returns a deletion confirmation:
{
"id": "6457e3ff70afca5d8c27dccc",
"object": "changelog",
"deleted": true
}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}
- Productionhttps://do.featurebase.app/v2/changelogs/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
https://docs.featurebase.app/_mock/rest-api/v2/changelogs/507f1f77bcf86cd799439011 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Featurebase-Version: 2026-01-01.nova'{ "id": "507f1f77bcf86cd799439011", "object": "changelog", "deleted": true }
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" }
Comments
Threaded discussions on posts and changelogs. Comments support voting, moderation, and privacy controls.