Modules
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.