Up API

repository·master·Indexed 19 days ago

https://github.com/up-banking/api

Programmatic access to Up bank account data, including balances, transaction history, and webhooks for real-time events. Currently in beta for personal use, the API is defined using the OpenAPI Specification and supports various community-developed SDKs and integrations across Python, TypeScript, .NET, Rust, Go, and Ruby.

Tokens
1.1K
Snippets
0
Records
10
Agent score
16%

What's inside up-banking-api

  1. Understand the Up API OpenAPI Specification

    master

    The Up API is defined using the OpenAPI Specification. This repository contains the schema used to drive the API.

    Vendor Extensions To support advanced documentation generation, the specification includes vendor-specific extensions prefixed with x-up:.

    • Currently, only x-up:example is implemented.
    • Note for Tooling Developers: Tools designed to parse OpenAPI files should ignore any fields prefixed with x-up: to ensure compatibility.
  2. Integrate Up API with Home Assistant

    master

    There are community-driven integrations to bring Up Banking data into Home Assistant for smart home dashboards:

    • Up Banking Home Assistant: Provides sensors for Home Assistant integration.
    • Home Assistant Up Bank: Provides entities for each account balance.
  3. Get started with the Up API

    master

    The Up API is currently in beta and is limited to personal use only. To use the API, you must have an Up bank account and a Personal Access Token.

    1. Create an account: If you don't have one, download the Up app and create a free account at https://up.com.au.
    2. Generate a token: Obtain your Personal Access Token at https://api.up.com.au.
    3. Access documentation: Once you have your token, use the official API documentation at https://developer.up.com.au to explore endpoints for balances, transactions, and webhooks.
  4. TypeScript and JavaScript Implementations

    master

    Developers can use various JavaScript and TypeScript resources to build web applications or integrations:

    • up-bank-api (TypeScript SDK): A TypeScript implementation for web clients.
    • up-web: A demo web application for viewing accounts and transactions.
    • Up Transactions Web App: A TypeScript-based web application.
    • lookUPtx: A React and JavaScript web client specifically for looking up transactions.
    • Up Api web example: A TypeScript example of a web client using the Up API.
  5. Python SDKs and Clients for Up API

    master

    Several Python-based implementations are available for interacting with the Up API, ranging from fully typed async clients to simple wrappers:

    • up-bank-api: A fully typed Python client designed for (a)sync interaction. Available on PyPI.
    • upbankpy: A Python wrapper for the Up API.
    • up-to-ynab: A specialized tool that automatically forwards transactions to the YNAB budgeting system (deployed on Heroku).
    • upbank2firefly: A webhook handler that automatically adds Up transactions to Firefly III (a personal finance manager).
  6. Other Language Clients and Native Apps

    master

    The community has developed clients in several other languages and platforms:

    • Rust: up-cli (a command line program) and Rust Up API Client.
    • Go: Upgo, an Up Bank API client library.
    • Ruby: UP Flow, a Windows program for checking recent balances.
    • Swift: Up macOS Application (Provenance), a native macOS app with widgets and Shortcuts integration.
    • Fitbit: fitbit-upbankbalance, a Fitbit app that displays account balances.
  7. Data Visualization and Financial Analysis Tools

    master

    Various tools exist to export or visualize Up API data in professional financial software:

    • Account balance in Google Sheets: A JavaScript Apps Script that queries the API to set cell values with account balances.
    • Beancount Importer: A Python CLI tool to download and import transactions into Beancount.
    • Up Power BI Connector: A custom Power Query M connector for Power BI visualization.
    • Up Grafana Datasource Plugin: A TypeScript plugin to visualize transactions and accounts in Grafana.