31 lines
1.4 KiB
Bash
Executable File
31 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# simplefinjson 1.1 - (c) Simon Michael 2025
|
|
# simplefinjson [ACCTID]
|
|
# download the last 30 days' transaction history of one or all accounts from SimpleFIN, and print as tidy JSON.
|
|
#
|
|
# Requirements:
|
|
# a SimpleFIN account with financial institution(s) and app connection configured
|
|
# curl
|
|
# GNU date
|
|
# jq to prettify
|
|
|
|
# Insert an access token here, acquired with simplefinsetup.
|
|
# (Or use a secrets manager, like https://bitwarden.com/help/secrets-manager-quick-start.)
|
|
SIMPLEFIN_ACCESS_URL=''
|
|
|
|
date() { if hash gdate 2>/dev/null; then gdate "$@"; else date "$@"; fi }
|
|
|
|
START=`date +%s -d '-30 days'`
|
|
ACCTPARAM=${1:+&account=$1}
|
|
|
|
curl -sL "$SIMPLEFIN_ACCESS_URL/accounts?start-date=$START$ACCTPARAM" | jq
|
|
|
|
# https://www.simplefin.org/protocol.html#http-endpoints
|
|
# https://www.simplefin.org/protocol.html#get-accounts
|
|
# Parameter Required Description
|
|
# start-date optional If given, transactions will be restricted to those on or after this Unix epoch timestamp.
|
|
# end-date optional If given, transactions will be restricted to those before (but not on) this Unix epoch timestamp.
|
|
# pending optional If pending=1 is provided, pending transactions will be included (if supported). By default, pending transaction are NOT included.
|
|
# account optional If given, only return information related to the given account id. May be specified multiple times.
|
|
# balances-only optional If balances-only=1 is provided, no transaction data is returned.
|