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

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

Get a help center by ID

Request

Retrieves a single help center by its unique identifier.

Returns the help center object if found in your organization.

Response

Returns a help center object with:

  • id - Unique identifier
  • displayName - Help center display name
  • title - Help center title
  • description - Help center description
  • searchPlaceholder - Search input placeholder text
  • isPublic - Whether the help center is publicly accessible
  • defaultLocale - Default locale for content
  • locale - Current locale
  • availableLocales - Array of available locales
  • navItems - Navigation items configuration
  • urls - URL configuration (subpath, custom domain)
  • createdAt - ISO 8601 timestamp when created
  • updatedAt - ISO 8601 timestamp when last updated

Errors

  • 404 - Help center not found in your organization
Security
bearerAuth
Path
idstring[ 1 .. 16 ] characters^[a-zA-Z0-9]+$required

Help center unique identifier

Example: 2tgy0ig982j54qfl
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/help_center/help_centers/2tgy0ig982j54qfl \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Featurebase-Version: 2026-01-01.nova'

Responses

Success

Bodyapplication/json
objectstringrequired

Object type identifier

Value"help_center"
Example: "help_center"
idstringrequired

Help center unique identifier

Example: "2tgy0ig982j54qfl"
displayNamestring

Help center display name

Example: "Your Help Center"
titlestring

Help center title

Example: "Help Center"
descriptionstring

Help center description

Example: ""
searchPlaceholderstring

Search input placeholder

Example: "Search for help..."
isPublicbooleanrequired

Whether the help center is public

Example: true
hideAuthorInfoboolean

Whether to hide author info on articles

Example: false
hideDateInfoboolean

Whether to hide date info on articles

Example: false
externalLinksOpenInNewTabboolean

Whether external links in articles open in a new tab

Example: true
internalLinksOpenInNewTabboolean

Whether internal links in articles open in a new tab

Example: false
defaultLocalestringrequired

Default locale for the help center

Enum"bn""bs""pt-BR""bg""ca""hr""cs""da""nl""en"
Example: "en"
localestringrequired

Current locale

Enum"bn""bs""pt-BR""bg""ca""hr""cs""da""nl""en"
Example: "en"
availableLocalesArray of stringsrequired

Available locales

Items Enum"bn""bs""pt-BR""bg""ca""hr""cs""da""nl""en"
Example: ["en"]
navItemsArray of objects(HelpCenterNavItem)

Navigation items

urlsobject(HelpCenterUrls)

URLs configuration

translationsobject

Translations for different locales

organizationstringrequired

Organization ID

Example: "6595518396205e06b897ad65"
createdAtstringrequired

ISO 8601 timestamp when created

Example: "2024-06-26T13:27:21.920Z"
updatedAtstringrequired

ISO 8601 timestamp when last updated

Example: "2024-06-26T13:52:19.415Z"
Response
application/json
{ "object": "help_center", "id": "2tgy0ig982j54qfl", "displayName": "Your Help Center", "title": "Help Center", "description": "", "searchPlaceholder": "Search for help...", "isPublic": true, "hideAuthorInfo": false, "hideDateInfo": false, "externalLinksOpenInNewTab": true, "internalLinksOpenInNewTab": false, "defaultLocale": "en", "locale": "en", "availableLocales": [ "en" ], "navItems": [ {} ], "urls": { "featurebaseSubpath": "/help", "externalDomain": "help.example.com" }, "translations": { "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": {} }, "organization": "6595518396205e06b897ad65", "createdAt": "2024-06-26T13:27:21.920Z", "updatedAt": "2024-06-26T13:52:19.415Z" }

List collections

Request

Returns a paginated list of collections within your organization's help center.

Collections are used to organize articles into logical groups.

Query Parameters

  • limit - Number of items to return (1-100, default 10)
  • cursor - Cursor for pagination

Response Format

Returns a list object with:

  • object - Always "list"
  • data - Array of collection objects
  • nextCursor - Cursor for next page (null if no more results)

Collection Object

Each collection includes:

  • id - Unique identifier
  • name - Collection name
  • description - Collection description
  • slug - URL slug
  • icon - Collection icon (emoji or custom)
  • parentId - Parent collection ID (null for root collections)
  • helpCenterId - ID of the help center this collection belongs to
  • organization - Organization ID
  • defaultLocale - Default locale for content
  • locale - Current locale
  • availableLocales - Array of available locales
  • featurebaseUrl - Featurebase URL for the collection
  • externalUrl - External URL if custom domain is configured
  • articleCount - Number of articles in this collection
  • authorCount - Number of authors who contributed
  • order - Display order
  • translations - Translations for different locales
  • createdAt - ISO 8601 timestamp when created
  • updatedAt - ISO 8601 timestamp when last updated
Security
bearerAuth
Query
limitinteger[ 1 .. 100 ]

A limit on the number of objects to be returned, between 1 and 100.

Default 10
Example: limit=10
cursorstring<= 512 characters

An opaque cursor for pagination. Use the nextCursor value from a previous response to fetch the next page.

Example: cursor=eyJpZCI6IjY0NzQ2ODQifQ
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/help_center/collections?limit=10&cursor=eyJpZCI6IjY0NzQ2ODQifQ' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Featurebase-Version: 2026-01-01.nova'

Responses

Success

Bodyapplication/json
objectstringrequired

Object type identifier

Value"list"
Example: "list"
dataArray of objects(Collection)required

Array of collections

Example: []
data[].​objectstringrequired

Object type identifier

Value"collection"
Example: "collection"
data[].​idstringrequired

Collection unique identifier

Example: "6474684"
data[].​namestring

Collection name

Example: "English Collection Name"
data[].​descriptionstring

Collection description

Example: "A description in English"
data[].​slugstring

URL slug

Example: "6474684-english-version"
data[].​iconobject or null(CollectionIcon)

Collection icon

data[].​parentIdstring or nullrequired

Parent collection ID

Example: null
data[].​helpCenterIdstringrequired

Help center ID

Example: "j7c5g8ah3ewxp4lo"
data[].​organizationstringrequired

Organization ID

Example: "6595518396205e06b897ad65"
data[].​defaultLocalestring

Default locale

Enum"bn""bs""pt-BR""bg""ca""hr""cs""da""nl""en"
Example: "en"
data[].​localestringrequired

Current locale

Enum"bn""bs""pt-BR""bg""ca""hr""cs""da""nl""en"
Example: "en"
data[].​availableLocalesArray of stringsrequired

Available locales

Items Enum"bn""bs""pt-BR""bg""ca""hr""cs""da""nl""en"
Example: ["en","de"]
data[].​featurebaseUrlstring

Featurebase URL

Example: "https://yourorg.featurebase.app/en/help/collections/6474684-english-version"
data[].​externalUrlstring

External URL

Example: "https://help.yourdomain.com/en/collections/6474684-english-version"
data[].​articleCountnumber

Number of articles

Example: 15
data[].​authorCountnumber

Number of authors

Example: 3
data[].​ordernumber or null

Display order

Example: 1
data[].​pathstring

Collection path

Example: "ox6qrqprmsuqaunj/3876752/3513543"
data[].​collapseSidebarboolean

Whether to collapse sidebar

Example: false
data[].​translationsobject

Translations by locale code

data[].​createdAtstringrequired

ISO 8601 timestamp when created

Example: "2024-10-18T12:33:09.099Z"
data[].​updatedAtstringrequired

ISO 8601 timestamp when last updated

Example: "2024-10-18T13:03:25.921Z"
nextCursorstring or nullrequired

Cursor for fetching the next page (cursor-based pagination)

Example: null
Response
application/json
{ "object": "list", "data": [], "nextCursor": null }

Create a collection

Request

Creates a new collection in your organization's help center.

Request Body

Required attributes:

  • name - The name of the collection

Optional attributes:

  • description - A description of the collection
  • icon - An icon object representing the collection icon (with type and value)
  • parentId - The ID of the parent collection, if any
  • translations - A dictionary of translations keyed by locale

Response

Returns the created collection object with:

  • id - Unique identifier
  • name - Collection name
  • description - Collection description
  • slug - URL slug
  • icon - Collection icon (emoji or custom)
  • parentId - Parent collection ID (null for root collections)
  • helpCenterId - ID of the help center this collection belongs to
  • organization - Organization ID
  • defaultLocale - Default locale for content
  • locale - Current locale
  • availableLocales - Array of available locales
  • featurebaseUrl - Featurebase URL for the collection
  • externalUrl - External URL if custom domain is configured
  • articleCount - Number of articles in this collection
  • authorCount - Number of authors who contributed
  • order - Display order
  • translations - Translations for different locales
  • createdAt - ISO 8601 timestamp when created
  • updatedAt - ISO 8601 timestamp when last updated
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
Bodyapplication/json
namestring<= 255 charactersrequired

The name of the collection

Example: "English Collection"
descriptionstring<= 512 characters

A description of the collection

Example: "This is a collection of articles in English."
iconobject or null

An updated icon object for the collection

parentIdstring or null[ 1 .. 16 ] characters^[a-zA-Z0-9]+$

The ID of the parent collection, if any

Example: null
translationsobject

A dictionary of translations keyed by locale

curl -i -X POST \
  https://docs.featurebase.app/_mock/rest-api/v2/help_center/collections \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Featurebase-Version: 2026-01-01.nova' \
  -d '{
    "name": "English Collection",
    "description": "This is a collection of articles in English.",
    "icon": {
      "type": "emoji",
      "value": "📝"
    },
    "parentId": null,
    "translations": {
      "bn": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "bs": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "pt-BR": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "bg": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "ca": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "hr": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "cs": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "da": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "nl": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "en": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "et": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "fi": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "fr": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "de": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "el": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "hi": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "hu": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "id": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "it": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "ja": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "ko": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "lv": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "lt": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "ms": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "mn": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "nb": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "pl": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "pt": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "ro": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "ru": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "sr": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "zh-CN": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "sk": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "sl": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "es": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "sw": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "sv": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "th": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "zh-TW": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "tr": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "uk": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      },
      "vi": {
        "name": "German Collection",
        "description": "This is a collection of articles in German."
      }
    }
  }'

Responses

Success

Bodyapplication/json
objectstringrequired

Object type identifier

Value"collection"
Example: "collection"
idstringrequired

Collection unique identifier

Example: "6474684"
namestring

Collection name

Example: "English Collection Name"
descriptionstring

Collection description

Example: "A description in English"
slugstring

URL slug

Example: "6474684-english-version"
iconobject or null(CollectionIcon)

Collection icon

parentIdstring or nullrequired

Parent collection ID

Example: null
helpCenterIdstringrequired

Help center ID

Example: "j7c5g8ah3ewxp4lo"
organizationstringrequired

Organization ID

Example: "6595518396205e06b897ad65"
defaultLocalestring

Default locale

Enum"bn""bs""pt-BR""bg""ca""hr""cs""da""nl""en"
Example: "en"
localestringrequired

Current locale

Enum"bn""bs""pt-BR""bg""ca""hr""cs""da""nl""en"
Example: "en"
availableLocalesArray of stringsrequired

Available locales

Items Enum"bn""bs""pt-BR""bg""ca""hr""cs""da""nl""en"
Example: ["en","de"]
featurebaseUrlstring

Featurebase URL

Example: "https://yourorg.featurebase.app/en/help/collections/6474684-english-version"
externalUrlstring

External URL

Example: "https://help.yourdomain.com/en/collections/6474684-english-version"
articleCountnumber

Number of articles

Example: 15
authorCountnumber

Number of authors

Example: 3
ordernumber or null

Display order

Example: 1
pathstring

Collection path

Example: "ox6qrqprmsuqaunj/3876752/3513543"
collapseSidebarboolean

Whether to collapse sidebar

Example: false
translationsobject

Translations by locale code

createdAtstringrequired

ISO 8601 timestamp when created

Example: "2024-10-18T12:33:09.099Z"
updatedAtstringrequired

ISO 8601 timestamp when last updated

Example: "2024-10-18T13:03:25.921Z"
Response
application/json
{ "object": "collection", "id": "6474684", "name": "English Collection Name", "description": "A description in English", "slug": "6474684-english-version", "icon": { "type": "emoji", "value": "🥾" }, "parentId": null, "helpCenterId": "j7c5g8ah3ewxp4lo", "organization": "6595518396205e06b897ad65", "defaultLocale": "en", "locale": "en", "availableLocales": [ "en", "de" ], "featurebaseUrl": "https://yourorg.featurebase.app/en/help/collections/6474684-english-version", "externalUrl": "https://help.yourdomain.com/en/collections/6474684-english-version", "articleCount": 15, "authorCount": 3, "order": 1, "path": "ox6qrqprmsuqaunj/3876752/3513543", "collapseSidebar": false, "translations": { "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": {} }, "createdAt": "2024-10-18T12:33:09.099Z", "updatedAt": "2024-10-18T13:03:25.921Z" }

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