FeedbackJar

Public REST API

The FeedbackJar REST API lets you read and write everything in your workspace programmatically — feedback posts, boards, tags, and comments. Use it to build integrations, automate workflows, or power the MCP server.

Try endpoints live in the API Playground — paste an API token and send requests from your browser.

Authentication

All requests require an API token passed as a Bearer token.

Workspace token (tied to one workspace):

bash
Authorization: Bearer fj_live_...

Account token (works across all your workspaces — requires X-Organization-Id):

bash
Authorization: Bearer fj_user_...
X-Organization-Id: <organizationId>

See the API Tokens guide for how to create both types.

Base URL

plaintext
https://api.feedbackjar.com/api/v1

Posts

List posts

bash
GET /api/v1/posts

Query parameters

ParameterTypeDescription
statusstringFilter by status: OPEN, IN_PROGRESS, COMPLETED, CLOSED
typestringFilter by type: BUG, FEATURE_REQUEST, FEEDBACK, QUESTION, IDEA, REVIEW
boardIdstringFilter to a specific board
limitnumberResults per page (1–100, default 20)
cursorstringPagination cursor from previous response
bash
curl "https://api.feedbackjar.com/api/v1/posts?status=OPEN&type=BUG&limit=10" \
  -H "Authorization: Bearer fj_live_..."

Response

json
{
  "items": [
    {
      "id": "cm1abc123",
      "title": "Widget crashes on Safari",
      "content": "...",
      "type": "BUG",
      "status": "OPEN",
      "voteCount": 14,
      "metadata": { "browser": { "name": "Safari" }, "page": { "url": "..." } },
      "createdAt": "2026-07-01T10:00:00Z",
      "boardId": "cm1board1",
      "board": { "name": "Bugs", "slug": "bugs" },
      "tags": []
    }
  ],
  "nextCursor": "cm1abc456"
}

Get a post

bash
GET /api/v1/posts/:id

Returns the full post including widget metadata, comment count, and vote count.

bash
curl https://api.feedbackjar.com/api/v1/posts/cm1abc123 \
  -H "Authorization: Bearer fj_live_..."

Create a post

bash
POST /api/v1/posts
FieldRequiredDescription
boardIdBoard to create the post in
titlePost title
contentPost body
typeFEATURE_REQUEST (default), BUG, FEEDBACK, QUESTION, IDEA, REVIEW
visibilityPUBLIC (default), UNLISTED, PRIVATE
authorNameDisplay name for the author
authorEmailAuthor email
bash
curl -X POST https://api.feedbackjar.com/api/v1/posts \
  -H "Authorization: Bearer fj_live_..." \
  -H "Content-Type: application/json" \
  -d '{"boardId": "cm1board1", "title": "Dark mode", "content": "Please add dark mode.", "type": "FEATURE_REQUEST"}'

Update a post

bash
PATCH /api/v1/posts/:id

All fields are optional.

bash
curl -X PATCH https://api.feedbackjar.com/api/v1/posts/cm1abc123 \
  -H "Authorization: Bearer fj_live_..." \
  -H "Content-Type: application/json" \
  -d '{"status": "IN_PROGRESS", "type": "BUG"}'

Update post status

bash
PATCH /api/v1/posts/:id/status

Shorthand for updating only the status field.

bash
curl -X PATCH https://api.feedbackjar.com/api/v1/posts/cm1abc123/status \
  -H "Authorization: Bearer fj_live_..." \
  -H "Content-Type: application/json" \
  -d '{"status": "COMPLETED"}'

Valid statuses: OPEN · IN_PROGRESS · COMPLETED · CLOSED


Delete a post

bash
DELETE /api/v1/posts/:id
bash
curl -X DELETE https://api.feedbackjar.com/api/v1/posts/cm1abc123 \
  -H "Authorization: Bearer fj_live_..."

Comments

List comments

bash
GET /api/v1/posts/:id/comments

Returns top-level comments with nested replies.

bash
curl https://api.feedbackjar.com/api/v1/posts/cm1abc123/comments \
  -H "Authorization: Bearer fj_live_..."

Add a comment

bash
POST /api/v1/posts/:id/comments
bash
curl -X POST https://api.feedbackjar.com/api/v1/posts/cm1abc123/comments \
  -H "Authorization: Bearer fj_live_..." \
  -H "Content-Type: application/json" \
  -d '{"content": "Fixed in v2.3.1 — thanks for the report!"}'

Update a comment

bash
PATCH /api/v1/comments/:id

Delete a comment

bash
DELETE /api/v1/comments/:id

Boards

List boards

bash
GET /api/v1/boards
bash
curl https://api.feedbackjar.com/api/v1/boards \
  -H "Authorization: Bearer fj_live_..."

Get a board

bash
GET /api/v1/boards/:id

Create a board

bash
POST /api/v1/boards
FieldRequiredDescription
nameBoard name
slugURL slug (auto-generated from name if omitted)
descriptionOptional description
isPrivatefalse (default)
defaultPostVisibilityPUBLIC (default), UNLISTED, PRIVATE
bash
curl -X POST https://api.feedbackjar.com/api/v1/boards \
  -H "Authorization: Bearer fj_live_..." \
  -H "Content-Type: application/json" \
  -d '{"name": "Feature Requests"}'

Update a board

bash
PATCH /api/v1/boards/:id

Delete a board

bash
DELETE /api/v1/boards/:id

Tags

List tags

bash
GET /api/v1/tags

Create a tag

bash
POST /api/v1/tags
bash
curl -X POST https://api.feedbackjar.com/api/v1/tags \
  -H "Authorization: Bearer fj_live_..." \
  -H "Content-Type: application/json" \
  -d '{"name": "mobile"}'

Update a tag

bash
PATCH /api/v1/tags/:id

Delete a tag

bash
DELETE /api/v1/tags/:id