[][src]Crate monzo

This crate is a Monzo client in pure rust.

It's ergonomic, strongly-typed, and asynchronous.

The majority of the endpoints are already supported. If you need a piece of functionality that is not yet implemented, please open an issue or even better, a pull request.

In order to use this client, you will first need to get an access token and/or refresh token for the Monzo API (see the docs)

Usage

use monzo::{Client, Result};

#[tokio::main]
async fn main() -> Result<()> {

    // You can create a simple monzo client using only an access token
    let quick_client = Client::quick("ACCESS_TOKEN");

    // get a list of accounts
    let accounts = quick_client.accounts().await?;

    // get the id of one of the accounts
    let account_id = accounts[0].id();

    // get the balance of that account
    let balance = quick_client.balance(account_id).await?;

    // If you have a refresh token and client credentials
    // you can create or upgrade a client which is capable
    // of refreshing its own access token.
    let mut refreshable_client = quick_client.with_refresh_tokens(
        "CLIENT_ID",
        "CLIENT_SECRET",
        "REFRESH_TOKEN",
    );

    refreshable_client.refresh_auth().await?;

    Ok(())
}

Modules

accounts

Accounts API endpoint

auth

Authentication endpoint

balance

Acount balance

client

Monzo API clients

feed_items

Create items in your account feed

pots

endpoints for working with Monzo pots

transactions

Retrieve and manipulate transactions

Structs

Client

A full-featured Monzo API client.

Enums

Error

Common error type for anything that can go wrong with this crate

Type Definitions

Result

Result type for all methods in this crate which can fail.