Firefly III CLI reference

Firefly III CLI reference

Capability fireflyiii. Root command: flowbot fireflyiii.

Global flags: --server-url, --profile, --debug / -d, --yes / -y, --no-input, --idempotency-key. Every leaf accepts -o table|json (default table, omitted below).

Output and exit codes

-o json writes a two-space indented object to stdout and a trailing newline: {"data": ...}. Paginated commands also include page (limit, has_more, and next_cursor when another page exists), including an empty page and the last page. Commands that are not paginated omit page. data is the API object: a list is an array, an id-only delete is {"id":"..."}, and an empty success is {}. The default stays table. A non-terminal stdin does not change the format; it implies --no-input. A pseudo-terminal still prompts.

Failures with -o json leave stdout empty and write {"error":{"code","message","retryable","hint"}} to stderr. Exit codes: 0 success, 1 internal / run_failed / cancelled / non-retryable provider_error, 2 invalid_argument, 3 unauthenticated or permission_denied, 4 not_found, 5 conflict, already_exists, or idempotency_unknown, 6 retryable transient (rate_limited, unavailable, timeout, retryable provider_error), 7 confirmation_required, 8 not_implemented. Retry the same call only on exit 6. conflict is exit 5 with retryable: true: re-read, then write. idempotency_unknown is exit 5 with retryable: false: list or get, and use a new idempotency key only when that read shows the effect did not happen. A write still in progress is unavailable, exit 6: retry the same call with the same idempotency key. Mint an idempotency_key before the first write and send that same key on every retry. Pass --yes to confirm. --no-input without --yes exits 7 and does not read stdin. A declined prompt is exit 1, code cancelled. --help stays text. pipeline export and workflow export take --file for a YAML path; -o is only the format.

Commands

Show Firefly III about info

flowbot fireflyiii about

Display Firefly III instance metadata

List accounts

flowbot fireflyiii accounts [flags]

List Firefly III accounts

Flags: --cursor (-c) string — Pagination cursor; --limit (-n) int — Maximum number of accounts; --type (-t) string — Account type filter (asset, expense, revenue, ...)

List bills

flowbot fireflyiii bills [flags]

List Firefly III bills

Flags: --cursor (-c) string — Pagination cursor; --limit (-n) int — Maximum number of items

List budgets

flowbot fireflyiii budgets [flags]

List Firefly III budgets

Flags: --cursor (-c) string — Pagination cursor; --limit (-n) int — Maximum number of items

List categories

flowbot fireflyiii categories [flags]

List Firefly III categories

Flags: --cursor (-c) string — Pagination cursor; --limit (-n) int — Maximum number of items

Create a transaction

flowbot fireflyiii create --amount <amount> --date <date> --description <description> --type <type> [flags]

Create a new Firefly III transaction (requires source and destination account id or name)

Flags: --amount (-a) string, required — Transaction amount; --bill-id string — Bill ID; --bill-name string — Bill name; --budget-id string — Budget ID; --budget-name string — Budget name; --category string — Category name; --date string, required — Transaction date (YYYY-MM-DD); --description (-m) string, required — Transaction description; --destination-id string — Destination account ID (required if --destination-name omitted); --destination-name string — Destination account name (required if --destination-id omitted); --notes string — Notes; --source-id string — Source account ID (required if --source-name omitted); --source-name string — Source account name (required if --source-id omitted); --tag stringArray — Tag (repeatable); --type (-t) string, required — Transaction type (withdrawal, deposit, transfer)

Delete a transaction

flowbot fireflyiii delete <id>

Delete a Firefly III transaction group by ID

Get a transaction

flowbot fireflyiii get <id>

Display a Firefly III transaction group by ID

Check Firefly III backend health

flowbot fireflyiii health

Check whether the Firefly III backend is reachable

List transactions

flowbot fireflyiii list [flags]

List Firefly III transaction groups

Flags: --account-id string — Filter by account ID; --cursor (-c) string — Pagination cursor; --end string — End date (YYYY-MM-DD); --limit (-n) int — Maximum number of transactions; --start string — Start date (YYYY-MM-DD); --type (-t) string — Transaction type filter

List tags

flowbot fireflyiii tags [flags]

List Firefly III tags

Flags: --cursor (-c) string — Pagination cursor; --limit (-n) int — Maximum number of items

Update a transaction

flowbot fireflyiii update <id> [flags]

Partially update a Firefly III transaction group (first split only)

Flags: --amount (-a) string — Transaction amount; --bill-id string — Bill ID; --bill-name string — Bill name; --budget-id string — Budget ID; --budget-name string — Budget name; --category string — Category name; --date string — Transaction date (YYYY-MM-DD); --description (-m) string — Transaction description; --destination-id string — Destination account ID (required if --destination-name omitted); --destination-name string — Destination account name (required if --destination-id omitted); --notes string — Notes; --source-id string — Source account ID (required if --source-name omitted); --source-name string — Source account name (required if --source-id omitted); --tag stringArray — Tag (repeatable); --type (-t) string — Transaction type (withdrawal, deposit, transfer)

Show current Firefly III user

flowbot fireflyiii user

Display the authenticated Firefly III user