Will Robertson

UpThing - Up Bank API toy

UpThing - Up Bank API toy

August 2020

Upthing account listing Upthing account transactions


Who could resist getting their hands dirty with Up's recently published API??

Well, probably lots of people, but I had been interested in the API since it was published on their roadmap so I was keen to get stuck into it!

The API provides read-only access to your own account & transaction details, but also has support for Webhooks (more on that below)

Because the API token is needed by UpThing, and it is against the Up terms of use to share this, I will not be making the live version of the site public. All code is available on GitHub should you want to run your own version.

Web interface

Built on Laravel 7 to handle the heavy lifting, with Tailwind CSS on the frontend to make stuff look pretty.

The web interface is basic, but functional enough to use for simple tasks - you're still dependent on the mobile app to make transactions and see some details, like BSB & Account numbers.

It has an account listing, account details (transaction list) and a section to set up Webhooks.


Upthing webhooks

The Laravel server creates a Webhook using the Up API, and then begins listening for messages from Up. When a transaction is created, settled or deleted, Up sends the Laravel server a notification.

The server will fetch the transaction details and then pass this on to a configured integration. At the moment, I have two set up: Discord Notifications and Google Sheets.

Discord Notifications
Discord Transaction notification

Takes advantage of Discord's Webhook integration - the Laravel backend listens for Webhooks coming from Up and creates a notification to your Discord server.

The notification is sent as a series of "Embeds" to produce a nicely formatted message, rather than just a plain text one.

Google Sheets

I keep a Budget spreadsheet in Google Sheets. I'm not a big fan of handing over the keys to your accounts to 3rd party services, so I enter them "manually" via CSV exports.

With the Up API, by using a webhook & some custom Google Scripts magic the transaction (including categorisation) are able to be inserted into the Sheet in a way where I retain control of my banking info.

I wish my other banks had API support like this so that entering all of my transactions could be automated!


Copyright © Will Robertson 2012 - 2024