Hosted state
Inspect and manage experiences, segments, routing, and analytics in your Sunboard project.
These commands read and mutate hosted state, so they require sunboard login.
Shared flags
All commands here accept --app / --framework / --project (to locate the
project) and --json. Mutating subcommands (segment create/update/delete and
all routing writes) also accept --dry-run and --yes — and --yes is
required in --json mode.
sunboard state
Print the project, its experiences, segments, and routing in a single call — the fastest way to see everything that's deployed.
sunboard state [--app <path>] [--project <publicId>] [--json]sunboard experiences
Inspect the experiences in the current project.
sunboard experiences list
sunboard experiences get <key>| Command | Description |
|---|---|
list | List experiences in the current project. |
get <key> | Show details for a single experience, including its versions. |
sunboard segments
Segments decide who sees an experience. List and inspect them, or create, update, and delete them.
sunboard segments list
sunboard segments get <key>
sunboard segments create --name <name> [--key <key>] [--description <text>] [--rules <json>] [--rules-file <path>]
sunboard segments update <key> [--name <name>] [--description <text>] [--rules <json>] [--rules-file <path>]
sunboard segments delete <key>| Option | Used by | Description |
|---|---|---|
--name <name> | create (required), update | Segment display name. |
--key <key> | create | Segment key. Defaults to a slug of the name. |
--description <text> | create, update | Segment description. |
--rules <json> | create, update | Segment rules as inline JSON. |
--rules-file <path> | create, update | Path to a JSON file containing the rules. |
Delete is guarded
segments delete <key> fails if the segment still has deployments. Detach them
with routing detach first.
sunboard routing
Routing binds an experience version to a segment for an environment — this is what makes onboarding go live.
sunboard routing list
sunboard routing attach --experience <key> --segment <key> --version <number|latest> [--environment <key>]
sunboard routing detach (--deployment <id> | --experience <key> --segment <key> [--environment <key>])
sunboard routing pause --deployment <id>
sunboard routing resume --deployment <id>| Option | Used by | Description |
|---|---|---|
--experience <key> | attach (required), detach | Experience key. |
--segment <key> | attach (required), detach | Segment key. |
--version <number|latest> | attach (required) | Version number, or latest. |
--environment <key> | attach, detach | Environment key. Defaults to production. |
--deployment <id> | detach, pause (required), resume (required) | Deployment id. |
| Subcommand | Description |
|---|---|
list | List active deployments for the current project. |
attach | Bind or promote an experience version to a segment. |
detach | Remove a deployment (by id, or by experience + segment). |
pause | Pause a deployment (enabled = false). |
resume | Resume a paused deployment (enabled = true). |
sunboard analytics experience
Show the funnel, segment, and tour analytics for one experience.
sunboard analytics experience <key> [--window 7d|30d|90d|all] [filters...]| Option | Description |
|---|---|
--window <7d|30d|90d|all> | Time window. Defaults to 30d. |
--version <list> | Version filter: latest, active, a version number, or id. Repeat or comma-separate. |
--segment <list> | Filter by segment key or id. Repeat or comma-separate. |
--environment <list> | Filter by environment key. Repeat or comma-separate. |
--origin <list> | Include only these origins, e.g. https://app.example.com. |
--exclude-origin <list> | Exclude these origins, e.g. http://localhost:3000. |
--exclude-local-origins | Exclude localhost, 127.0.0.1, [::1], and .local origins. |
--include-legacy-steps | Include step keys that only exist in older selected versions. |