Complete FeatureBase API documentation for posts, changelog, articles, comments, votes, users, categories, webhooks, and integrations
Comprehensive API documentation for FeatureBase - the product feedback and roadmap platform.
Use this skill when:
| Resource | Operations | Documentation |
|---|---|---|
| Posts | list, get, create, update, delete | Posts API |
| Changelog | list, create, update, delete | Changelog API |
| Articles | list, get, create, update, delete | Articles API |
| Comments | list, create, update, delete | Comments API |
| Users | identify, list, update, delete | Users API |
| Votes | track via webhooks | Webhooks API |
| Webhooks | configure event notifications | Webhooks API |
FeatureBase uses API Key authentication via a custom header.
X-API-Key: YOUR_API_KEY
⚠️ Not Bearer: FeatureBase uses a custom X-API-Key header, not Bearer token format.
curl -X GET \
'https://do.featurebase.app/v2/posts' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json'
Security: Never expose API keys in client-side code. Use environment variables or backend proxies.
The Comments API uses a different authentication and content model than other FeatureBase endpoints.
The FeatureBase Comments API has unique requirements that differ from other endpoints:
| Aspect | Standard API | Comments API |
|---|---|---|
| Auth Header | Authorization: Bearer | X-API-Key: {key} |
| Content-Type | application/json | application/x-www-form-urlencoded |
| Body Format | JSON | URL-encoded form data |
The comments-client.ts file provides a specialized HTTP client:
// .claude/tools/featurebase/comments-client.ts
export async function commentsRequest<T>(
method: 'get' | 'post' | 'put' | 'delete' | 'patch',
path: string,
body?: Record<string, string | boolean | undefined>,
credentials?: { apiKey: string }
): Promise<{ ok: true; data: T } | { ok: false; error: { ... } }>;
Wrappers that interact with the Comments API should use commentsRequest():
import { commentsRequest } from './comments-client.js';
const result = await commentsRequest('post', 'v2/comments', {
postId: validated.postId,
content: validated.content,
});
create-comment.ts - Uses commentsRequestupdate-comment.ts - Uses commentsRequestdelete-comment.ts - Uses commentsRequestlist-comments.ts - Uses standard client (GET with JSON response)