CLI Reference

Every vruum CLI command group and subcommand, the global flags, --json output, and exit codes.

The vruum CLI is the universal floor for every agent harness — drive your pipeline, deals, outreach, marketing, and knowledge base from the terminal or any automation, with machine-stable --json output on every command. Run vruum <group> --help for the flags of any subcommand.

Global flags

FlagDescription
--jsonEmit machine-stable JSON instead of a table
--for-company <id>Act on behalf of a company (operator multi-tenant)
--api-url <url>Override the API base URL (local CLI only — rejected by vruum_exec)
-V, --versionPrint the version
-h, --helpShow help for any command or subcommand

--json and exit codes

Without --json, commands print human-readable tables; with it, they print JSON suitable for jq, agents, and CI. The process exit code is the agent's success signal:

ExitMeaning
0Success
3Auth failure — 401 Unauthorized / 403 Forbidden
2Other 4xx (usage / validation / not-found)
15xx server error or network failure
vruum deal list --json | jq '.[] | select(.stage == "negotiation")'
vruum review outreach --json | jq '.items | length'

Command tree

GroupSubcommands
accountget · set-stage · set-state · note
adlist · create · approve · reject · pause · resume · budget · creative upload
authlogin · logout · whoami (top-level; login/logout are local-CLI only)
campaignlist · get · create · update · clone · delete · members
companylist · get · create · update
contentlist · create · edit · schedule · publish · delete
ctalist · create · update · delete · set-default
deallist · get · create · update · stage · won · lost · reopen · note · stakeholder (list/add/update/remove)
engagementqueue · approve · edit · skip · bulk-approve · stats
init(no subcommands — wires MCP + skills + instructions into detected harnesses)
kblist · show · search · upsert · reindex · delete
messagequeue · approve · reject · edit · regenerate · bulk-approve · bulk-reject · bulk-edit
peoplelist · get · create · update · archive · note · import (csv / sales-nav)
planget · start · pause · resume · stop · touch · override · channels
proposallist · get · create · draft · send · cancel
reviewoutreach · deals · engagement · content
settingsget · set · team (members / invite / join)
skillslist · show
tasklist · create · complete · delete

Notes grammar

people, account, and deal each expose a note command over the shared notes store (the canonical timeline read by the AI writer). All three share one grammar:

vruum people  note <personId>  "Met at SaaStr"     # add
vruum deal    note <dealId>    "Budget approved"    # add
vruum deal    note <dealId>                          # list the deal's notes
vruum deal    note <dealId> --limit 20               # list, capped (1-500)
vruum deal    note --delete <noteId>                 # delete by note id

deal note (the canonical notes timeline) is distinct from deal create/update --notes (the single deals.notes summary field on the deal row) — they write to different places.

Soft-delete-only: deals & companies

There is intentionally no deal delete or company delete verb. Deals retire via deal won / deal lost (revive with deal reopen); companies archive via their account state. History is never hard-removed. Individual notes can be hard-deleted with note --delete.

See also

  • Getting Started — install, login, init, first call.
  • Auth — tokens, environment variables, and --for-company.
  • Operate Vruum — the full agent operator's guide with worked workflows.