Statuses
Every post has exactly one status from a fixed set. There is no custom status API and no completed value, use shipped when the request is done.
| Value | UI label | Meaning |
|---|---|---|
| open | Open | Default for new submissions. Still under consideration. |
| planned | Planned | Accepted for a future release or roadmap slot. |
| in_progress | In progress | Actively being built or investigated. |
| shipped | Shipped | Delivered. Prefer this over inventing a "done" / "completed" status. |
| declined | Declined | Won't do (or duplicate / out of scope). |
Lifecycle
- New posts always start as
open(Hosted create and local adapter). - The embed can filter the list by status (or show all). Filtering does not change storage.
- Title max
200/ body max5000characters (plain text), independent of status.
Hosted vs BYO
On Hosted, change status from the dashboard inbox. Each change emits feedback.status_changed with identifiers and fromStatus / toStatus only. Never include title or body.
On BYO, your adapter and backend own status storage and transitions. Bootstrapware does not emit post webhooks for your store. Keep the same five string values if you want the widget badges and filters to match.
type FeedbackStatus = | "open" | "planned" | "in_progress" | "shipped" | "declined";
Related: Boards · Webhooks · Limits · Statuses guide