Configuration
Hosted board configuration is the published settings the embed loads with a publishable key. Feedback is embed-only, there are no public board URLs. Post title/body are never part of configuration and must not be sent through MCP.
Local / BYO vs hosted config
- Local / BYO adapter: you can pass optional
configprops or rely on widget defaults. - Hosted config: create a board, edit a draft, publish a revision, then pass
boardId+ publishable key. BYO plans still use hosted config for toggles while posts stay on your backend.
What the client loads
Published config includes board id, name, revision, and:
- submissionsEnabled
- votingEnabled
- showVoteCounts
- allowAnonymous
- requireAuthorToken
- emptyState
- branding (optional title, primaryColor, logoUrl)
Statuses are fixed in the product (open | planned | in_progress | shipped | declined), not free-form config strings. Title max 200 / body max 5000 are package limits, not board toggles.
Draft, publish, fetch
Edit drafts in the dashboard or via secret-key / MCP APIs, then publish. Live clients keep the last published revision until you publish again. See Configuration revisions.
Live bsw_live_pub_ config fetch needs BYO ($9.99) or Hosted ($19.99). Publishing alone does not grant live entitlements.
Branding
Optional branding.title can override the heading the widget shows. primaryColor sets the accent. When it is set, it writes --bsw-fb-accent inline and overrides the theme accent. Optional logoUrl renders beside the title when present in published config.
Theme
Visual theme is a component prop, not a published board field. theme is "light" | "dark". Omit it and the board stays the light cream default, with no data-theme attribute. v1 does not follow prefers-color-scheme or the system theme. theme="dark" sets data-theme="dark".
Hosts may set these CSS custom properties on the embed root (.bsw-fb): --bsw-fb-bg, --bsw-fb-panel, --bsw-fb-fg, --bsw-fb-muted, --bsw-fb-line, --bsw-fb-accent, --bsw-fb-accent-fg, --bsw-fb-radius. These overrides are the supported API. Do not fight .bsw-* classes. With theme="dark", target .bsw-fb[data-theme="dark"] so your values win over the dark defaults.
Related: Revisions · Boards · Statuses · React component · API overview