A complete client for the Redbark API v2
in your terminal. Every v2 operation has a command: accounts, balances, transactions,
holdings and trades; connections, consents and link sessions; syncs, runs, categories
and rules; destinations, event destinations, events and API keys. Tables for reading,
raw JSON for scripts.
Redbark syncs bank and brokerage accounts to Google Sheets,
Airtable, Notion, YNAB and webhooks, built on Australia's Consumer Data Right (CDR)
open banking framework. Your banking data is never stored by Redbark; this CLI reads
it live from your connected institutions.
npm install -g @redbark/cli # or: bun install -g @redbark/cli
Runs on any Node.js 18+ (or Bun).
redbark login # paste an API key from https://app.redbark.com/settings
redbark whoami # plan, key scopes, rate-limit headroom
redbark accounts # list your accounts
redbark balances # live balances across every banking account
redbark transactions --account acct_9Lk2Mn4pQr6sTu8vWx1yZb --from 2026-06-01
redbark syncs list --include latest_run # syncs with their latest run
redbark syncs run sync_8Pq2Rs4tUv6wXy8zAb1cDe
redbark link --institution inst_fk_anz # connect a bank through the hosted consent page
For scripts and CI, skip login and set the key in the environment:
REDBARK_API_KEY=rbk_live_... redbark accounts --json | jq -r '.data[].name'
REDBARK_API_URL overrides the base URL (default https://api.redbark.com).
redbark <resource> <verb> [id] [flags]
- Resources mirror the API paths:
api-keys, connections, consents, accounts,
transactions, holdings, trades, provider-categories, syncs, sync-runs,
categories, event-destinations, events, link-sessions, institutions,
destination-links, destinations, rulesets, rules.
- Ids are positional and prefixed strings:
acct_..., conn_..., sync_..., run_...,
dest_..., cat_..., key_..., ed_..., evt_..., rset_..., rule_....
- Query parameters and scalar body fields are
--kebab-flags. Array values take repeated
flags or comma lists (--status failed --status cancelled, --accounts a,b). Booleans
are --flag / --no-flag. Object and list-of-object fields take JSON:
--options '{"data_from":"2026-01-01"}'.
- Every write also accepts
--body '<json>' or --json-file <path> for the whole request
body. Flags are merged on top and win.
redbark <resource> --help lists the verbs; redbark <resource> <verb> --help shows every
flag with the API description, the endpoint and the scope it needs.
The bare forms redbark connections, accounts, transactions, categories, holdings
and trades run the matching list command, so v1-era scripts keep working once ids and
flags are updated.
| Command |
What it does |
redbark login |
Verify a key against /v2/me and save it (~/.config/redbark/config.json, mode 0600) |
redbark logout |
Remove the saved key |
redbark whoami |
Auth status, key scopes, plan, rate-limit headroom |
redbark me |
The account object behind the key |
| Command |
What it does |
redbark balances [accountIds...] |
Live balances; every banking account when no ids are given (--concurrency) |
redbark link |
Create a link session, open the hosted consent page, wait for the connection (--provider, --institution, --return-url, --no-open, --no-wait, --timeout) |
redbark destinations link --type <type> |
Same flow for a Sheets, Notion, Airtable or YNAB destination |
| Command |
What it does |
Scope |
| ``redbark me` |
Retrieve the account |
no scope |
| Command |
What it does |
Scope |
| ``redbark api-keys list` |
List API keys |
keys:write |
| ``redbark api-keys create` |
Create an API key |
keys:write |
| ``redbark api-keys get ` |
Retrieve an API key |
keys:write |
| ``redbark api-keys update ` |
Update an API key |
keys:write |
| ``redbark api-keys revoke ` |
Revoke an API key |
keys:write |
| ``redbark api-keys rotate ` |
Rotate an API key |
keys:write |
| Command |
What it does |
Scope |
| ``redbark connections list` |
List connections |
connections:read |
| ``redbark connections get ` |
Retrieve a connection |
connections:read |
| ``redbark connections revoke ` |
Revoke a connection |
connections:write |
| ``redbark connections reauthorize ` |
Reauthorize a connection |
connections:write |
| ``redbark connections refresh ` |
Refresh a connection |
connections:write |
| Command |
What it does |
Scope |
| ``redbark consents list` |
List consents |
connections:read |
| ``redbark consents get ` |
Retrieve a consent |
connections:read |
| Command |
What it does |
Scope |
| ``redbark accounts list` |
List accounts |
data:read |
| ``redbark accounts get ` |
Retrieve an account |
data:read |
| ``redbark accounts balance ` |
Retrieve the live balance |
data:read |
| ``redbark accounts details ` |
Retrieve account details |
data:read |
| Command |
What it does |
Scope |
| ``redbark transactions list --account ` |
List transactions |
data:read |
| ``redbark transactions get --account ` |
Retrieve a transaction |
data:read |
| Command |
What it does |
Scope |
| ``redbark holdings list --account ` |
List holdings |
data:read |
| Command |
What it does |
Scope |
| ``redbark trades list --account ` |
List trades |
data:read |
| Command |
What it does |
Scope |
| ``redbark provider-categories list` |
List provider categories |
data:read |
| Command |
What it does |
Scope |
| ``redbark syncs list` |
List syncs |
syncs:read |
| ``redbark syncs create` |
Create a sync |
syncs:write |
| ``redbark syncs get ` |
Retrieve a sync |
syncs:read |
| ``redbark syncs update ` |
Update a sync |
syncs:write |
| ``redbark syncs delete ` |
Delete a sync |
syncs:write |
| ``redbark syncs run ` |
Run a sync now |
syncs:write |
| ``redbark syncs resync ` |
Resync from the start date |
syncs:write |
| ``redbark syncs runs ` |
List runs for a sync |
syncs:read |
| ``redbark syncs category-mappings get ` |
List category mappings |
syncs:read |
| ``redbark syncs category-mappings set ` |
Replace category mappings |
syncs:write |
| ``redbark syncs rulesets attach ` |
Attach a ruleset to a sync |
syncs:write |
| Command |
What it does |
Scope |
| ``redbark sync-runs get ` |
Retrieve a run |
syncs:read |
| ``redbark sync-runs cancel ` |
Cancel a queued run |
syncs:write |
| Command |
What it does |
Scope |
| ``redbark categories list` |
List categories |
categories:read |
| ``redbark categories create` |
Create a group or category |
categories:write |
| ``redbark categories reset` |
Reset the taxonomy |
categories:write |
| ``redbark categories get ` |
Retrieve a category |
categories:read |
| ``redbark categories update ` |
Update a category |
categories:write |
| ``redbark categories delete ` |
Delete a group or category |
categories:write |
| ``redbark categories sources set ` |
Replace the claimed sources |
categories:write |
| Command |
What it does |
Scope |
| ``redbark event-destinations list` |
List event destinations |
events:write |
| ``redbark event-destinations create` |
Create an event destination |
events:write |
| ``redbark event-destinations get ` |
Retrieve an event destination |
events:write |
| ``redbark event-destinations update ` |
Update an event destination |
events:write |
| ``redbark event-destinations delete ` |
Delete an event destination |
events:write |
| ``redbark event-destinations enable ` |
Enable an event destination |
events:write |
| ``redbark event-destinations disable ` |
Disable an event destination |
events:write |
| ``redbark event-destinations ping ` |
Send a ping event |
events:write |
| ``redbark event-destinations rotate-secret ` |
Rotate the signing secret |
events:write |
| Command |
What it does |
Scope |
| ``redbark events list` |
List events |
events:read |
| ``redbark events get ` |
Retrieve an event |
events:read |
| ``redbark events redeliver ` |
Redeliver an event |
events:write |
| Command |
What it does |
Scope |
| ``redbark link-sessions create` |
Create a link session |
connections:write |
| ``redbark link-sessions get ` |
Retrieve a link session |
connections:write |
| Command |
What it does |
Scope |
| ``redbark institutions list` |
List institutions |
connections:read |
| Command |
What it does |
Scope |
| ``redbark destination-links create` |
Create a destination link |
destinations:write |
| ``redbark destination-links get ` |
Retrieve a destination link |
destinations:write |
| Command |
What it does |
Scope |
| ``redbark destinations list` |
List destinations |
destinations:read |
| ``redbark destinations create` |
Create a webhook destination |
destinations:write |
| ``redbark destinations get ` |
Retrieve a destination |
destinations:read |
| ``redbark destinations update ` |
Update a destination |
destinations:write |
| ``redbark destinations delete ` |
Delete a destination |
destinations:write |
| ``redbark destinations rotate-secret ` |
Rotate a webhook signing secret |
destinations:write |
| ``redbark destinations enable ` |
Re-enable a disabled destination |
destinations:write |
| ``redbark destinations resources ` |
List what a destination offers |
destinations:read |
| Command |
What it does |
Scope |
| ``redbark rulesets list` |
List rulesets |
rules:read |
| ``redbark rulesets create` |
Create a ruleset |
rules:write |
| ``redbark rulesets get ` |
Retrieve a ruleset |
rules:read |
| ``redbark rulesets update ` |
Update a ruleset |
rules:write |
| ``redbark rulesets delete ` |
Delete a ruleset |
rules:write |
| ``redbark rulesets duplicate ` |
Duplicate a ruleset |
rules:write |
| ``redbark rulesets rules list ` |
List rules in a ruleset |
rules:read |
| ``redbark rulesets rules create ` |
Create a rule |
rules:write |
| ``redbark rulesets reorder-rules ` |
Reorder rules |
rules:write |
| ``redbark rulesets preview ` |
Preview a ruleset |
rules:read |
| Command |
What it does |
Scope |
| ``redbark rules get ` |
Retrieve a rule |
rules:read |
| ``redbark rules update ` |
Update a rule |
rules:write |
| ``redbark rules delete ` |
Delete a rule |
rules:write |
--json on any command prints the raw API response.
--all on paginated lists follows next_page_url and prints one combined list. Without it,
a hint shows the --page <token> for the next page.
--idempotency-key <key> sets the Idempotency-Key header on writes, so a retried create
returns the stored response instead of a duplicate.
--dry-run prints the request (method, URL, headers, body) without sending it.
--yes skips the confirmation prompt on destructive commands (delete, revoke, reset,
rotate, rotate-secret, resync). Prompts are skipped automatically when stdin is not a
terminal.
- Errors print the API message, a hint (which scope a key is missing, when to retry, where the
pricing page is) and the
request id to quote to support. Exit code 1.
# Every failed run in the last 90 days, for one sync
redbark syncs runs sync_8Pq2Rs4tUv6wXy8zAb1cDe --status failed --all --json
# Create a webhook destination once, safely
redbark destinations create --type webhook --name "Ops" --target '{"url":"https://example.com/hook"}' \
--idempotency-key ops-hook-1
# Create a restricted key for CI (the secret is printed once)
redbark api-keys create --name CI --scopes syncs:read,syncs:write --allowed-ips 203.0.113.0/24
The CLI pins a Redbark-Version release (2026-10-01.wattle) and sends it on every request.
The release is the info.version of the OpenAPI document the command set was generated from.
redbark whoami shows it. Commands are generated from https://api.redbark.com/v2/openapi.json
with bun run generate; src/generated/operations.ts is checked in.
Built with Bun, Commander,
and @clack/prompts.
bun install
bun run dev -- syncs list # run from source
bun test # test suite
REDBARK_OPENAPI_SPEC=path/to/v2.json bun test # also checks the generated file is current
bun run typecheck # tsc --noEmit
bun run generate [spec path or URL] # regenerate src/generated/operations.ts
bun run compile # standalone binary at dist/redbark
The CLI sends your API key only to the configured API host over HTTPS and stores it
locally with owner-only permissions. Report vulnerabilities per
SECURITY.md, never via a public issue.
Apache-2.0. "Redbark" is a trademark of Redbark, see NOTICE.