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).
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
| Method | Path | What it does |
|---|---|---|
POST | /api/v1/feedback | Submit feedback from your own pipeline (CI, alerts, support desk, anything) |
GET | /api/v1/feedback | List feedback for a project, filtered by status or source |
GET | /api/v1/feedback/:id | Get one item in full, including its metadata |
PATCH | /api/v1/feedback/:id | Update status, or append a note |
GET | /api/v1/projects | List the projects your token can access |
GET | /api/v1/me | Check 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.
npm install -g @lyncsystems/feedlabfeedlab 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.