Boards (post categories) organize feedback into distinct containers with their own settings.
- List contacts attached to a company
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.
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.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
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- 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 company by its Featurebase ID.
This will also remove the company from all linked users' associations.
id- The Featurebase internal ID of the company (MongoDB ObjectId)
Returns a deletion confirmation object:
{
"id": "507f1f77bcf86cd799439011",
"object": "company",
"deleted": true
}- 404 Not Found - Company with the specified ID does not exist
This endpoint is only available in API version 2026-01-01.nova and newer.
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/companies/{id}
- Productionhttps://do.featurebase.app/v2/companies/{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/companies/507f1f77bcf86cd799439011 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Featurebase-Version: 2026-01-01.nova'{ "id": "507f1f77bcf86cd799439011", "object": "company", "deleted": true }
Request
Returns all contacts (customers) attached to a specific company.
Only returns contacts with type "customer" that have the company in their companyIds array. Uses cursor-based pagination.
id- The Featurebase internal ID of the company (MongoDB ObjectId)
limit- Number of contacts to return (1-100, default: 10)cursor- Opaque cursor from a previous response for pagination
The response includes:
object- Always "list"data- Array of contact objectsnextCursor- Cursor for the next page (null if no more results)
{
"object": "list",
"data": [
{
"object": "contact",
"id": "507f1f77bcf86cd799439011",
"userId": "usr_12345",
"email": "john@acme.com",
"name": "John Doe",
"type": "customer",
"companies": [...],
"createdAt": "2025-01-01T12:00:00.000Z"
}
],
"nextCursor": "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9"
}- 404 Not Found - Company with the specified ID does not exist
This endpoint is only available in API version 2026-01-01.nova and newer.
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/companies/{id}/contacts
- Productionhttps://do.featurebase.app/v2/companies/{id}/contacts
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.featurebase.app/_mock/rest-api/v2/companies/507f1f77bcf86cd799439011/contacts?limit=10&cursor=eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Featurebase-Version: 2026-01-01.nova'{ "object": "list", "data": [], "nextCursor": "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9" }
Request
Attaches a contact (customer) to a company.
Adds the company to the contact's companyIds array and embedded companies array. This operation is additive - existing company associations are preserved. Also increments the linkedUsers count on the company.
id- The Featurebase internal ID of the company (MongoDB ObjectId)
| Field | Type | Required | Description |
|---|---|---|---|
contactId | string | Yes | The Featurebase internal ID of the contact to attach (MongoDB ObjectId) |
{
"contactId": "507f1f77bcf86cd799439012"
}Returns the updated contact object with the new company association.
{
"object": "contact",
"id": "507f1f77bcf86cd799439012",
"userId": "usr_12345",
"email": "john@acme.com",
"name": "John Doe",
"type": "customer",
"companies": [
{
"object": "company",
"id": "507f1f77bcf86cd799439011",
"companyId": "comp_12345",
"name": "Acme Inc"
}
]
}- 404 Not Found - Company or contact does not exist
This endpoint is only available in API version 2026-01-01.nova and newer.
- Mock serverhttps://docs.featurebase.app/_mock/rest-api/v2/companies/{id}/contacts
- Productionhttps://do.featurebase.app/v2/companies/{id}/contacts
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.featurebase.app/_mock/rest-api/v2/companies/507f1f77bcf86cd799439011/contacts \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Featurebase-Version: 2026-01-01.nova' \
-d '{
"contactId": "507f1f77bcf86cd799439012"
}'{ "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 } }
CommentsCopy for LLM Copy page as Markdown for LLMs View as Markdown Open this page as Markdown Open in ChatGPT Get insights from ChatGPT Open in Claude Get insights from Claude Connect to Cursor Install MCP server on Cursor Connect to VS Code Install MCP server on VS Code
Threaded discussions on posts and changelogs. Comments support voting, moderation, and privacy controls.