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
Returns all custom fields configured in your organization that can be used on tickets.
This endpoint returns all custom fields at once. No pagination is supported.
Each custom field includes:
id- Unique field identifierlabel- Field label displayed to userstype- Field type (text, number, select, multi-select, checkbox, date, file)required- Whether the field is requiredplaceholder- Placeholder text (for text/number fields)public- Whether the field value is publicly visibleinternal- Whether the field is for internal use onlyoptions- Array of options (for select/multi-select fields)allowMultiple- Whether multiple files can be uploaded (file fields only)
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/tickets/custom_fields
- Productionhttps://do.featurebase.app/v2/tickets/custom_fields
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.featurebase.app/_mock/rest-api/v2/tickets/custom_fields \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Featurebase-Version: 2026-01-01.nova'Success
Array of custom fields
Field type
Whether multiple files can be uploaded (file fields only)
Options for select/multi-select fields
Cursor for fetching the next page (cursor-based pagination)
{ "object": "list", "data": [], "nextCursor": null, "pagination": { "page": 1, "limit": 10, "total": 42, "totalPages": 5 } }
Request
Retrieves a single custom field by its unique identifier.
Returns a custom field object with:
id- Unique field identifierlabel- Field label displayed to userstype- Field type (text, number, select, multi-select, checkbox, date, file)required- Whether the field is requiredplaceholder- Placeholder text (for text/number fields)public- Whether the field value is publicly visibleinternal- Whether the field is for internal use onlyoptions- Array of options (for select/multi-select fields)allowMultiple- Whether multiple files can be uploaded (file fields only)
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/tickets/custom_fields/{id}
- Productionhttps://do.featurebase.app/v2/tickets/custom_fields/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.featurebase.app/_mock/rest-api/v2/tickets/custom_fields/65d26304b2e65b1e1278170c \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Featurebase-Version: 2026-01-01.nova'{ "object": "custom_field", "id": "65d26304b2e65b1e1278170c", "label": "Your @username", "type": "text", "required": true, "allowMultiple": false, "placeholder": "Enter your username", "public": false, "internal": false, "options": [ { … } ], "createdAt": "2025-04-06T14:11:58.141Z", "updatedAt": "2025-04-06T14:11:58.141Z" }
Request
Returns all ticket categories for the authenticated organization.
Ticket categories organize tickets into distinct containers. Each category can have different:
- Access controls (public, private, segment-restricted)
- Feature toggles (comments, posting enabled)
- Custom fields
Use the supportBoard and supportBoardType fields to identify ticket categories.
This endpoint returns all categories without pagination.
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/tickets/categories
- Productionhttps://do.featurebase.app/v2/tickets/categories
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.featurebase.app/_mock/rest-api/v2/tickets/categories \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Featurebase-Version: 2026-01-01.nova'Success
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.
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.
Custom field IDs attached to this board
Localized board name (language code → text)
Localized description
Placeholder text in the post creation form
Hero title shown on the board page
Hero description/subtitle
[ { "object": "board", "id": "507f1f77bcf86cd799439011", "name": "Feature Requests", "icon": { … }, "access": { … }, "features": { … }, "postDefaults": { … }, "customFields": [ … ], "localization": { … }, "createdAt": "2023-12-12T00:00:00.000Z" } ]
Comments
Threaded discussions on posts and changelogs. Comments support voting, moderation, and privacy controls.