API Reference monzo_client v#1.0.0

Copy Markdown View Source

Modules

A complete, production-grade Elixir client for the Monzo API.

A Monzo current account.

The Accounts resource: listing the user's Monzo current accounts.

A file registered against a transaction.

The Attachments resource: the three-step flow of requesting an upload URL, uploading raw bytes to storage, and registering the file against a transaction.

The OAuth2 authentication flow: building the authorization URL, exchanging a code, refreshing tokens, logging out, and token introspection.

The response returned by Monzo's token endpoint.

Metadata Monzo returns about the currently configured access token.

Balance information for a Monzo account.

The Balance resource: reading an account's current balance.

Immutable client configuration passed to every Monzo resource function.

Raised/returned for any non-2xx HTTP response from the Monzo API.

Raised for network-level failures (DNS, connection refused, etc).

Raised when a request exceeds the configured timeout.

Raised for invalid SDK usage caught client-side, before any request is sent.

Raised by webhook parsing/verification helpers when a payload cannot be trusted (malformed JSON, unexpected shape, or an unexpected account id).

The Feed Items resource: posting items to a user's Monzo feed.

Core HTTP request engine shared by every resource module: URL/query/body encoding, bearer auth, jittered exponential-backoff retries on transient (429/5xx/network) failures, and a single automatic refresh-and-retry on 401s when the client has a token store configured.

Behaviour for the low-level HTTP transport used by Monzo.HTTP.

Default Monzo.HTTP.Adapter implementation, built on Erlang's :httpc.

A small, dependency-free JSON encoder/decoder.

Merchant details for a transaction, present when expanded.

Physical address of a transaction's merchant.

Generic, lazy pagination built on Stream.resource/3 for Monzo list endpoints that are ordered oldest-first and support a since cursor plus a page limit.

A Monzo savings pot attached to a current account.

The Pots resource: listing pots and moving money into/out of them.

A detailed, itemised receipt attached to a transaction.

A single line item on a receipt.

Optional merchant metadata for a receipt.

One payment method applied to the receipt.

A nested line item within an Item (e.g. modifiers on a dish).

A tax line applied to the receipt as a whole.

The Transaction Receipts resource. Unlike every other Monzo resource, this endpoint is JSON-bodied rather than form-encoded.

Small, dependency-free cryptographic helpers used by the OAuth2 flow: CSRF state token generation and constant-time comparison.

A supervised GenServer holding the current access/refresh token pair for one Monzo user, and performing the actual refresh call.

A single ledger entry on a Monzo account.

The Transactions resource: retrieving, listing (with lazy pagination), and annotating transactions.

A registered callback URL for an account.

An inbound webhook delivery.

The Webhooks resource: registering callback URLs, and parsing/validating inbound event deliveries.