Output modes
Default auto-detection
breadbox transactions list in a terminal prints a table. The same command piped to jq emits JSON without --json. Agents calling the CLI never need to pass --json — they just read JSON off stdout.
Field selection
Most list endpoints support?fields=<presets> server-side; the CLI exposes this as --fields:
--fields keeps responses small over slow links and reduces the JSON your agent has to parse.
Cursor pagination
Cursor-paginated commands (transactions list, rules list) accept --limit (default 25, max 500) and walk one page at a time. Pass --all to fetch every page sequentially and stream the combined result:
Exit codes
Branching on exit codes lets agents distinguish “the server is down, retry later” (
4) from “my request is wrong, don’t retry” (5) from “my key is broken, surface this to the operator” (3):
Errors
Errors print to stderr in the same JSON envelope the API uses:error.code field is stable (UPPER_SNAKE_CASE) and safe to grep. The error.message is for humans and may change between releases.
Combining flags
The standard flags are orthogonal —--host, --json, --fields, --limit, --all, --quiet, --debug apply to every command and can be combined freely:
--wait on connections link, --prefix on agent run, --scope on keys create) layer on top.
Next steps
Command reference
Every command grouped by noun.
Headless deployment
Agent patterns and CI examples.