For integrators

Build your own feedback pipeline.

A REST API and a CLI, both backed by the same API tokens you already use for Claude and MCP. Push feedback in from anywhere, read it back, or script it from your terminal.

Authentication

Every request needs an API token as a bearer header. Create one under Settings → API Tokens — it's the same token type used by the FeedLab MCP server and the CLI, and it acts as you: it can only reach projects in your workspaces, and only on a plan that includes API access (Solo or Studio).

Every request
Authorization: Bearer fl_...

Send feedback in

Pipe anything into FeedLab's triage board: a CI failure, a monitoring alert, a support ticket. Attach arbitrary metadata (capped at 4KB) to carry along whatever your pipeline already knows — a Sentry issue id, the build number, the customer's plan.

POST /api/v1/feedback

curl -X POST https://feedlab.cloud/api/v1/feedback \
  -H "Authorization: Bearer fl_..." \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "YOUR_PROJECT_ID",
    "title": "Checkout fails for EU customers",
    "content": "Stripe returns a 402 for any card issued in the EU. Repro: ...",
    "type": "bug",
    "tags": ["payments", "eu"],
    "metadata": { "sentry_issue_id": "abc123", "environment": "production" }
  }'

Read it back

List, filter, and update feedback from the same tokens — useful for syncing FeedLab into your own dashboard or closing the loop once something's fixed.

GET /api/v1/feedback

curl "https://feedlab.cloud/api/v1/feedback?project_id=YOUR_PROJECT_ID&status=open" \
  -H "Authorization: Bearer fl_..."

Endpoints

MethodPathWhat it does
POST/api/v1/feedbackSubmit feedback from your own pipeline (CI, alerts, support desk, anything)
GET/api/v1/feedbackList feedback for a project, filtered by status or source
GET/api/v1/feedback/:idGet one item in full, including its metadata
PATCH/api/v1/feedback/:idUpdate status, or append a note
GET/api/v1/projectsList the projects your token can access
GET/api/v1/meCheck a token and see who it belongs to

Full request/response shapes are in the OpenAPI spec — load it into Postman, Insomnia, or an OpenAPI code generator to get a typed client for free.

Or just use the CLI

feedlab is a thin client over the same API — handy for scripts, CI steps, or just working from a terminal. feedlab login opens your browser to sign in; no token to copy and paste. In CI, where there's no browser, set FEEDLAB_TOKEN to a token from Settings → API Tokens instead.

Install
npm install -g @lyncsystems/feedlab
File something from CI (FEEDLAB_TOKEN set as a secret)
feedlab feedback report "Build 1.4.2 failed on main" \
  --project YOUR_PROJECT_ID --type bug \
  --metadata '{"build":"1.4.2","pipeline":"github-actions"}'

Outbound: webhooks

Rather have FeedLab push to you? Each project can send an HMAC-signed feedback.created webhook to your own endpoint — configure it under the project's Integrations tab. The signature arrives as x-feedlab-signature, an HMAC-SHA256 of the raw body using the webhook's secret.

Looking for an AI agent instead?

If you want Claude or another MCP client to write test cases and file issues for you rather than scripting it yourself, see FeedLab + your AI agent. It uses the same tokens as this API.

Ready to connect something?

Create a token and start sending feedback in.