Skip to content

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.

Download OpenAPI description
Languages
Servers
Mock server
https://docs.featurebase.app/_mock/rest-api/
Production
https://do.featurebase.app/

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.nova

Or 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 - Success
  • 4xx - 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

TypeDescription
authentication_errorAuthentication failed (401)
authorization_errorPermission denied (403)
invalid_request_errorInvalid request parameters or resource not found (400, 404, 410)
api_errorServer-side error (500)
rate_limit_errorToo many requests (429)

Boards

Boards (post categories) organize feedback into distinct containers with their own settings.

Operations

List all boards

Request

Returns all boards (post categories) for the authenticated organization.

Boards are containers for posts/feedback. Each board can have different:

  • Access controls (public, private, segment-restricted)
  • Feature toggles (comments, posting enabled)
  • Custom fields

This endpoint returns all boards without pagination. Organizations typically have a small number of boards.

Security
bearerAuth
Headers
Featurebase-Versionstring(FeaturebaseVersion)

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

Example: 2026-01-01.nova
curl -i -X GET \
  https://docs.featurebase.app/_mock/rest-api/v2/boards \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Featurebase-Version: 2026-01-01.nova'

Responses

Success

Bodyapplication/jsonArray [
objectstringrequired

Object type identifier

Value"board"
Example: "board"
idstringrequired

Unique identifier

Example: "507f1f77bcf86cd799439011"
namestringrequired

Display name in organization's default locale

Example: "Feature Requests"
iconEmojiIcon (object) or PredefinedIcon (object) or UrlIcon (object) or BoardIcon (null)(BoardIcon)required

The board's icon. Can be one of three types:

  • emoji: A single emoji character (e.g., 💡, 🚀, ⭐)
  • icon: A predefined icon from the built-in library (e.g., lightbulb, bug, star)
  • url: A custom image URL (HTTPS required)

Can be null if no icon is set.

One of:

The board's icon. Can be one of three types:

  • emoji: A single emoji character (e.g., 💡, 🚀, ⭐)
  • icon: A predefined icon from the built-in library (e.g., lightbulb, bug, star)
  • url: A custom image URL (HTTPS required)

Can be null if no icon is set.

icon.​typestringrequired

Emoji icon type

Value"emoji"
Example: "emoji"
icon.​valuestringrequired

A single emoji character

Example: "💡"
accessobject(BoardAccess)required
access.​adminOnlybooleanrequired

If true, only admins can see this board

Example: false
access.​segmentsArray of stringsrequired

Segment IDs that can access (empty = all)

Example: []
access.​allowedRolesArray of stringsrequired

Role IDs allowed access (empty = all)

Example: []
access.​deniedRolesArray of stringsrequired

Role IDs explicitly denied access

Example: ["role_blocked"]
featuresobject(BoardFeatures)required
features.​postingEnabledbooleanrequired

Whether users can create new posts

Example: true
features.​commentsEnabledbooleanrequired

Whether users can comment on posts

Example: true
features.​createdDatesVisiblebooleanrequired

Whether creation dates are visible on posts

Example: true
postDefaultsobject(BoardPostDefaults)required
postDefaults.​visibilitystringrequired

Default visibility for new posts

Enum"public""authorOnly""companyOnly"
Example: "public"
customFieldsArray of stringsrequired

Custom field IDs attached to this board

Example: ["cf_priority","cf_category"]
localizationobject(BoardLocalization)required
localization.​nameobjectrequired

Localized board name (language code → text)

Example: {"en":"Feature Requests","es":"Solicitudes de funciones"}
localization.​name.​property name*stringadditional property
localization.​descriptionobject or nullrequired

Localized description

Example: {"en":"Submit and vote on feature ideas"}
localization.​description.​property name*stringadditional property
localization.​formPlaceholderobject or nullrequired

Placeholder text in the post creation form

Example: {"en":"Describe your feature idea..."}
localization.​formPlaceholder.​property name*stringadditional property
localization.​heroTitleobject or nullrequired

Hero title shown on the board page

Example: {"en":"Share your ideas"}
localization.​heroTitle.​property name*stringadditional property
localization.​heroDescriptionobject or nullrequired

Hero description/subtitle

Example: null
localization.​heroDescription.​property name*stringadditional property
localization.​submitButtonTextobject or nullrequired

Submit button text

Example: {"en":"Submit Feedback"}
localization.​submitButtonText.​property name*stringadditional property
createdAtstringrequired

ISO 8601 timestamp when created

Example: "2023-12-12T00:00:00.000Z"
]
Response
application/json
[ { "object": "board", "id": "507f1f77bcf86cd799439011", "name": "Feature Requests", "icon": {}, "access": {}, "features": {}, "postDefaults": {}, "customFields": [], "localization": {}, "createdAt": "2023-12-12T00:00:00.000Z" } ]

Get a board by ID

Request

Retrieves a single board by its unique identifier.

Returns the full board object including all access controls, feature toggles, and localization settings.

Security
bearerAuth
Path
idstringrequired

Board unique identifier

Example: 507f1f77bcf86cd799439011
Headers
Featurebase-Versionstring(FeaturebaseVersion)

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

Example: 2026-01-01.nova
curl -i -X GET \
  https://docs.featurebase.app/_mock/rest-api/v2/boards/507f1f77bcf86cd799439011 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Featurebase-Version: 2026-01-01.nova'

Responses

Success

Bodyapplication/json
objectstringrequired

Object type identifier

Value"board"
Example: "board"
idstringrequired

Unique identifier

Example: "507f1f77bcf86cd799439011"
namestringrequired

Display name in organization's default locale

Example: "Feature Requests"
iconEmojiIcon (object) or PredefinedIcon (object) or UrlIcon (object) or BoardIcon (null)(BoardIcon)required

The board's icon. Can be one of three types:

  • emoji: A single emoji character (e.g., 💡, 🚀, ⭐)
  • icon: A predefined icon from the built-in library (e.g., lightbulb, bug, star)
  • url: A custom image URL (HTTPS required)

Can be null if no icon is set.

One of:

The board's icon. Can be one of three types:

  • emoji: A single emoji character (e.g., 💡, 🚀, ⭐)
  • icon: A predefined icon from the built-in library (e.g., lightbulb, bug, star)
  • url: A custom image URL (HTTPS required)

Can be null if no icon is set.

icon.​typestringrequired

Emoji icon type

Value"emoji"
Example: "emoji"
icon.​valuestringrequired

A single emoji character

Example: "💡"
accessobject(BoardAccess)required
access.​adminOnlybooleanrequired

If true, only admins can see this board

Example: false
access.​segmentsArray of stringsrequired

Segment IDs that can access (empty = all)

Example: []
access.​allowedRolesArray of stringsrequired

Role IDs allowed access (empty = all)

Example: []
access.​deniedRolesArray of stringsrequired

Role IDs explicitly denied access

Example: ["role_blocked"]
featuresobject(BoardFeatures)required
features.​postingEnabledbooleanrequired

Whether users can create new posts

Example: true
features.​commentsEnabledbooleanrequired

Whether users can comment on posts

Example: true
features.​createdDatesVisiblebooleanrequired

Whether creation dates are visible on posts

Example: true
postDefaultsobject(BoardPostDefaults)required
postDefaults.​visibilitystringrequired

Default visibility for new posts

Enum"public""authorOnly""companyOnly"
Example: "public"
customFieldsArray of stringsrequired

Custom field IDs attached to this board

Example: ["cf_priority","cf_category"]
localizationobject(BoardLocalization)required
localization.​nameobjectrequired

Localized board name (language code → text)

Example: {"en":"Feature Requests","es":"Solicitudes de funciones"}
localization.​name.​property name*stringadditional property
localization.​descriptionobject or nullrequired

Localized description

Example: {"en":"Submit and vote on feature ideas"}
localization.​description.​property name*stringadditional property
localization.​formPlaceholderobject or nullrequired

Placeholder text in the post creation form

Example: {"en":"Describe your feature idea..."}
localization.​formPlaceholder.​property name*stringadditional property
localization.​heroTitleobject or nullrequired

Hero title shown on the board page

Example: {"en":"Share your ideas"}
localization.​heroTitle.​property name*stringadditional property
localization.​heroDescriptionobject or nullrequired

Hero description/subtitle

Example: null
localization.​heroDescription.​property name*stringadditional property
localization.​submitButtonTextobject or nullrequired

Submit button text

Example: {"en":"Submit Feedback"}
localization.​submitButtonText.​property name*stringadditional property
createdAtstringrequired

ISO 8601 timestamp when created

Example: "2023-12-12T00:00:00.000Z"
Response
application/json
{ "object": "board", "id": "507f1f77bcf86cd799439011", "name": "Feature Requests", "icon": { "type": "emoji", "value": "💡" }, "access": { "adminOnly": false, "segments": [], "allowedRoles": [], "deniedRoles": [] }, "features": { "postingEnabled": true, "commentsEnabled": true, "createdDatesVisible": true }, "postDefaults": { "visibility": "public" }, "customFields": [ "cf_priority", "cf_category" ], "localization": { "name": {}, "description": {}, "formPlaceholder": {}, "heroTitle": {}, "heroDescription": null, "submitButtonText": {} }, "createdAt": "2023-12-12T00:00:00.000Z" }

Posts

User-submitted feedback and feature requests. Posts belong to boards and can be upvoted, commented on, and tracked through statuses.

Operations

Post Statuses

Post statuses define the workflow stages for posts (e.g., In Review, Active, Completed).

Operations

Comments

Threaded discussions on posts and changelogs. Comments support voting, moderation, and privacy controls.

Operations

Custom Fields

Configurable input fields for posts in your Featurebase organization. Custom fields allow you to collect additional structured data when users create posts.

Operations

Changelogs

Release notes and updates published by the organization. Changelogs keep users informed about new features, improvements, and fixes.

Operations

Admins

Team members who manage your Featurebase organization. Admins have roles that define their permissions.

Operations

Teams

Teams are groups within your Featurebase organization. Use this endpoint to list and retrieve team information for conversation assignment and organization management.

Operations

Contacts

Contacts are the customers and leads in your Featurebase organization. Use this endpoint to list and retrieve contact information.

Operations

Companies

Companies represent organizations or businesses that your users belong to. Use this endpoint to list and retrieve company information.

Operations

Surveys

Surveys allow you to collect targeted feedback from your users within your product. Surveys can be targeted to specific user segments or pages and can contain multiple questions with conditional logic.

Operations

Help Centers

Help centers allow organizations to create and manage knowledge bases with articles and collections. Currently, Featurebase supports one help center per organization.

Operations

Conversations

Conversations are messenger/inbox conversations in your Featurebase organization. Use this endpoint to list and retrieve conversation information.

Operations

Webhooks

Webhooks allow you to receive real-time HTTP callbacks when events occur in your Featurebase organization. Configure webhook endpoints to subscribe to specific event types.

Operations