Rheo CLI is live. Let your agents be your growth engine.

Learn more
Terminal running the Rheo CLI against workspace apps and flows
Engineering

Introducing the Rheo CLI

@getrheo/cli is live — manage apps, flows, channels, experiments, analytics, rollouts, and media from your terminal, CI, or AI agents with personal workspace API keys.

The Rheo dashboard is still the fastest way to design and preview flows on a canvas. But product work does not stop at the browser. Teams script publish checks, agents pull experiment stats, and CI needs a way to list channels without clicking through Account settings.

@getrheo/cli is that interface. It is a terminal client for workspace members: read and write the same product surface the dashboard uses, authenticated with a personal workspace API key, gated by your live role. Full reference: CLI docs.

What you can do today

Install once, then operate on the workspace from any shell:

npm install -g @getrheo/cli
rheo --help

Or skip the global install:

npx @getrheo/cli --help

Covered today:

AreaExamples
AppsList, get, create, update branding, delete
FlowsDraft, versions, save-draft, publish, archive, duplicate
ChannelsHistory, assign / unassign flows, archive
ExperimentsCreate, variants, stats, stop, promote
AnalyticsApp overview and flow step metrics (JSON; default last 7 UTC days)
RolloutsPolicy, submit, approve, reject
MediaList, upload, rename, archive

Writes use --body '{"…"}' or --file payload.json. Destructive actions require --confirm-name. Machine-readable output is available with --json on lists; mutations and analytics already return JSON.

Out of scope on purpose: billing, members, workspace settings, AI helpers, notifications, and customer records. Those stay in the dashboard.

Auth that matches the dashboard

CLI traffic does not use publishable SDK keys (ob_pk_…). Those authenticate mobile resolve/events. The CLI uses workspace API keys (rheo_wk_…).

  1. Open Account → Personal in the Rheo dashboard.
  2. Create a CLI API key and copy the secret once.
  3. Save it locally:
rheo auth login --api-key rheo_wk_…
rheo whoami

Keys are user-bound and workspace-scoped. Any member can mint a personal key. Mutations follow your current role the same way the dashboard does: owners and admins get broad product writes; editors can ship flows and submit rollouts; viewers stay read-heavy and get 403 on most writes.

For CI, skip the config file and export the key:

export RHEO_API_KEY=rheo_wk_…
export RHEO_API_URL=https://api.getrheo.io   # optional
rheo apps list --json

Why a CLI matters for flow platforms

Rheo already separates binary cadence from flow cadence: integrate the SDK once, then publish journey changes over the air. The missing piece for engineering-heavy teams was a programmable client for that second cadence.

Common patterns we built for:

  • CI gates — fail a pipeline if a flow still has an unpublished draft before a channel assignment.
  • Agent workflows — pull experiment stats or flow analytics as JSON, then propose the next change without scraping the UI.
  • Ops scripts — archive a stale channel, reassign a flow, or upload media assets from a release job.
  • Local debuggingrheo flows get and rheo flows draft when you need the raw manifest next to your editor.

The canvas remains the place to design. The CLI is the place to automate what you already decided.

A short tour

Confirm identity and capabilities:

rheo whoami

List apps and inspect a flow draft:

rheo apps list --json
rheo flows draft <flowId>

Publish after you have validated the payload (or after an agent wrote a draft via save-draft):

rheo flows publish <flowId>

Read last-week analytics without opening the dashboard:

rheo analytics app-overview <appId>
rheo analytics funnel <flowId>

Full command reference lives in the CLI docs.

Get started

  1. Create a workspace API key under Account → Personal.
  2. npm install -g @getrheo/cli and rheo auth login --api-key ….
  3. Run rheo whoami, then the reads and writes your role allows.

Start for free if you do not have a workspace yet. Ship flows from the canvas when you are designing; ship the same product from the terminal when you are automating.