Skip to main content
POST
Submit in-product feedback

Authorizations

Authorization
string
header
required

Supabase JWT token in Authorization: Bearer header

Headers

Idempotency-Key
string
required

Client-generated key (e.g. a UUID). Replaying the same key within 24h returns the original response unchanged.

Body

application/json
category
enum<string>
required

Reporter-selected intent.

Available options:
compliment,
problem,
suggestion
title
string
required

Short title (redacted before storage).

Required string length: 1 - 500
body
string
required

Feedback body (redacted before storage).

Required string length: 1 - 20000

When true, context_bundle.ai_prompts is stored (redacted); otherwise it is dropped.

When true, context_bundle.diagnostics is stored (redacted); otherwise it is dropped.

When true, the reporter opts in to a resolution-email notification.

context_bundle
object

Optional diagnostic context. route_url and breadcrumbs are always redacted-and-stored; ai_prompts / diagnostics are consent-gated.

attachment_ids
string<uuid>[]

IDs of previously-presigned pending attachments to bind to this submission.

company_website
string

Honeypot — must be empty. Any non-empty value silently accepts and persists nothing.

Response

Feedback accepted and stored (redacted).

status
string
required

Client-facing acknowledgement status.

Allowed value: "received"
feedback_id
string<uuid>

The stored submission id (absent on a honeypot-silent accept).