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
Permanently deletes a contact by their Featurebase ID.
Supports deleting both customers and leads.
id- The Featurebase contact ID (24-character ObjectId)
When a contact is deleted:
- The contact record is permanently removed
- Associated data cleanup is triggered asynchronously
- Comments and posts created by the contact are handled according to retention policies
Returns a deletion confirmation object:
id- The ID of the deleted contactobject- Always "contact"deleted- Alwaystrue
{
"id": "676f0f6765bdaa7d7d760f88",
"object": "contact",
"deleted": true
}This endpoint is only available in API version 2026-01-01.nova and newer.
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/contacts/{id}
- Productionhttps://do.featurebase.app/v2/contacts/{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/contacts/507f1f77bcf86cd799439011 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Featurebase-Version: 2026-01-01.nova'{ "id": "507f1f77bcf86cd799439011", "object": "contact", "deleted": true }
Request
Retrieves a single contact by their external user ID (from your system via SSO).
Important: This endpoint only returns customers (type: "customer"). Leads are not returned.
userId- The external user ID from your system (matched via SSO integration)
Returns a single contact object with:
object- Always "contact"id- Unique contact identifieruserId- External user ID from SSOemail- Contact email addressname- Contact display nameprofilePicture- Profile picture URLtype- Always "customer" for this endpointcompanies- Array of companies the contact belongs tocustomFields- Custom field valuespostsCreated- Number of posts createdcommentsCreated- Number of comments createdlastActivity- Last activity timestamp
{
"object": "contact",
"id": "676f0f6765bdaa7d7d760f88",
"userId": "usr_12345",
"email": "john@example.com",
"name": "John Doe",
"type": "customer",
...
}This endpoint is useful when you need to look up a contact using your own system's user identifier, such as when displaying Featurebase data alongside your user's information in your own application.
This endpoint is only available in API version 2026-01-01.nova and newer.
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/contacts/by-user-id/{userId}
- Productionhttps://do.featurebase.app/v2/contacts/by-user-id/{userId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.featurebase.app/_mock/rest-api/v2/contacts/by-user-id/usr_12345 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Featurebase-Version: 2026-01-01.nova'{ "object": "contact", "id": "676f0f6765bdaa7d7d760f88", "userId": "676f0f673dbb299c8a4f3057", "organizationId": "5febde12dc56d60012d47db6", "companies": [], "email": "john@example.com", "name": "John Steezy", "profilePicture": "https://fb-usercontent.fra1.cdn.digitaloceanspaces.com/anon_23.png", "commentsCreated": 0, "postsCreated": 0, "lastActivity": "2025-01-03T21:42:30.181Z", "subscribedToChangelog": true, "manuallyOptedOutFromChangelog": false, "roles": [], "locale": "en", "verified": true, "type": "customer", "description": "", "customFields": { "property1": null, "property2": null } }
Request
Permanently deletes a contact by their external user ID.
Important: This endpoint only deletes customers (type: "customer"). Leads cannot be deleted using this endpoint.
userId- The external user ID from your system
When a contact is deleted:
- The contact record is permanently removed
- Associated data cleanup is triggered asynchronously
- Comments and posts created by the contact are handled according to retention policies
Returns a deletion confirmation object:
id- The ID of the deleted contactobject- Always "contact"deleted- Alwaystrue
{
"id": "676f0f6765bdaa7d7d760f88",
"object": "contact",
"deleted": true
}Use this endpoint when you need to delete a contact using your own system's user identifier, such as when a user deletes their account in your application.
This endpoint is only available in API version 2026-01-01.nova and newer.
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/contacts/by-user-id/{userId}
- Productionhttps://do.featurebase.app/v2/contacts/by-user-id/{userId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
https://docs.featurebase.app/_mock/rest-api/v2/contacts/by-user-id/usr_12345 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Featurebase-Version: 2026-01-01.nova'{ "id": "507f1f77bcf86cd799439011", "object": "contact", "deleted": true }
Comments
Threaded discussions on posts and changelogs. Comments support voting, moderation, and privacy controls.