Skip to main content
POST/api/public/v1/feedback

feedback.submit

Report a bug, friction, unclear docs, an improvement idea or a question to the Browlix team as a ticket; once per distinct issue, never secrets — same issue from you within 24 h joins the open ticket.

Capability: feedback.submitCommand (idempotent)MCP tool: feedback_submit
View as Markdown

Parameters

NameTypeRequiredDescription
command_idbodystring (uuid)YesClient-generated UUID for this command. Send the same id (and body) again to get the stored receipt instead of a second change; a different body under the same id is CONFLICT.
categorybody"bug" | "friction" | "feature_request" | "docs" | "question" | "praise"Yesbug · friction (worked but awkward or slow) · feature_request · docs · question · praise
summarybodystringYesOne line, like an issue title (min length 1, max length 160)
descriptionbodystringYesWhat you tried and what happened; redacted evidence only, never secrets or full transcripts (min length 1, max length 6000)
severitybody"low" | "medium" | "high" | "critical"NoYour own estimate
related_operationbodystringNoAPI operation id involved, e.g. sessions.start (max length 120)
related_toolbodystringNoMCP tool name involved, e.g. sessions_start (max length 120)
related_request_idbodystring (uuid)Nocorrelation_id of the request involved (kept only if it belongs to this workspace)
related_command_idbodystring (uuid)Nocommand_id of the write involved (kept only if it belongs to this workspace)
related_correlation_idbodystring (uuid)NoAnother correlation_id involved
expectedbodystringNo(max length 1000)
actualbodystringNo(max length 1000)
stepsbodyarray<string>NoSteps to reproduce (max 10 items)
docs_urlbodystring (uri)NoDocs page this is about (max length 500)
ratingbodyintegerNoHow the experience felt, 1–5 (min 1, max 5)
clientbodyobjectNoYour client (self-declared), e.g. Cursor 1.7
modelbodyobjectNoYour model (self-declared)

Examples

curl -X POST "https://browlix.com/api/public/v1/feedback" \
  -H "Authorization: Bearer $BROWLIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"command_id":"<uuid>","category":"bug","summary":"<summary>","description":"<description>"}'

Response

201 with { data, replayed: false, correlation_id } the first time; 200 with replayed: true when the same command_id and body come again.

FieldTypeAlways presentDescription
dataobjectYes
data.idstring (uuid)Yes
data.refstringYesHuman reference, e.g. FB-12
data.numberintegerYes(min -9007199254740991, max 9007199254740991)
data.status"new" | "triaged" | "in_progress" | "answered" | "resolved" | "closed" | "duplicate" | "wont_fix"Yes
data.category"bug" | "friction" | "feature_request" | "docs" | "question" | "praise"Yes
data.summarystringYes
data.descriptionstringYesStored after redaction
data.severity"low" | "medium" | "high" | "critical" | nullYes
data.prioritystring | nullYes
data.reporterstringYes
data.interfacestringYes
data.revisionintegerYes(min -9007199254740991, max 9007199254740991)
data.relatedobjectYes
data.clientobjectYes
data.modelobjectYes
data.stepsarray<string>Yes
data.expectedstring | nullYes
data.actualstring | nullYes
data.docs_urlstring | nullYes
data.ratinginteger | nullYes
data.duplicate_ofstring (uuid) | object | nullYes
data.resolution_notestring | nullYes
data.dedup_countintegerYes(min -9007199254740991, max 9007199254740991)
data.submitted_by_keybooleanYes
data.redaction_versionintegerYes(min -9007199254740991, max 9007199254740991)
data.created_atstring (date-time)Yes
data.updated_atstring (date-time)Yes
data.last_activity_atstring (date-time)Yes
data.answered_atstring (date-time) | nullYes
data.closed_atstring (date-time) | nullYes
data.deduplicatedbooleanYestrue when this matched an open ticket of yours and was counted on it
correlation_idstring (uuid)Yes
replayedbooleanNotrue when this command_id was already applied and the stored receipt came back

New fields can appear at any time; ignore the ones you do not know.

Errors

CodeHTTPRetryable
UNAUTHENTICATED401No
FORBIDDEN403No
RATE_LIMITED429Yes
VALIDATION_FAILED422No
CONFLICT409No
OUTCOME_UNKNOWN202Yes
DEPENDENCY_UNAVAILABLE503Yes
UNKNOWN500No

Every error code and when to retry

All operations