heybmoDocsOpen HeyBMO

Tools

CLI

The heybmo command gives you every feature you have switched on, from your terminal, your scripts and coding agents. Its commands come from your account, so new features appear without an update.

For agents: llms.txt · OpenAPI

Install and sign in

Terminal
npm install -g heybmo
heybmo login

Needs Node 22 or newer. heybmo login opens your browser to approve this computer; heybmo whoami shows the account and heybmo logout signs out. In CI, set HEYBMO_TOKEN to an API key instead.

Commands

Every operation is a command: heybmo <feature> <operation> [--field value]…. heybmo ops lists them all, and --help on any command shows its fields and examples.

Terminal
$ heybmo expenses budgets --fields category,amount,spent,left
budgets:
  category   amount  spent    left
  -          3200    1930.35  1269.65
  Food       600     313.85   286.15
  Transport  180     62       118

$ heybmo notes create --title "Groceries" --body "- milk" --tags '["shopping"]'
$ heybmo expenses budgets --json | jq '.budgets[] | {category, left}'

Flags on every command

--helpShow the help of a command (never runs it)
--jsonPrint JSON (the default when the output is not a terminal)
--fields id,titleOnly these fields, also inside lists
--input <json|@file|->The whole input as JSON, a file, or stdin; separate flags win over it
--space <id>The space to act in (default: your personal space)
--yesConfirm a permanent delete without asking
--schemaPrint the input and output schemas and examples as JSON
--file <path>A local file, for operations that take one

For scripts and AI agents

When the output is not a terminal, results are compact JSON and errors are one JSON object on stderr: {"error":{"code","message","hint","retryable","requestId"}}. Tell an agent to run heybmo ops first, and heybmo help agents for the full contract.

exit 0ok
exit 1failed (server error, feature off, quota, network)
exit 2invalid usage or input: fix the flags, see the hint
exit 3not signed in, or the sign-in expired
exit 4not found
exit 5conflict, e.g. the item changed since you read it
exit 6rate limited: retry later
exit 7confirmation needed: a permanent delete; show the hint to the person, rerun with --yes