Thanks for this - I tried using the Authorisation Code method inside a flask app but was having some issues - I probably need to use a proper redirect uri rather than the default local version. I ended up using the legacy method with username and password.
I’ve written a script to upload cash transactions (in a csv) into a cash account (10 years worth of cash transactions in some cases). It mostly works, although I do get weird behaviour with the date_time not being consumed properly at the end-point. I’ve observed the same behaviour when adding transactions manually (2021-07-09T10:00:00.000+10:00) - the time and timezone appear to be completely random to the point of altering the date by one day in some cases (in my script at least).