Skip to content

stevedomin/monzo_elixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monzo Elixir

Build Status

An Elixir client for the Monzo API.

Installation

Add monzo to your list of dependencies in mix.exs:

def deps do
  [{:monzo, "~> 0.3.0"}]
end

Usage

iex> {:ok, client} = Monzo.Client.authenticate("client_id", "client_secret", "authorization_code")
{:ok,
 %Monzo.Client{access_token: "access_token",
  client_id: "client_id", expires_in: 21600,
  refresh_token: "refresh_token",
  token_type: "Bearer", user_id: "user_id"}}

iex> {:ok, [account]} = Monzo.Account.list(client)
{:ok,
 [%Monzo.Account{created: "2008-05-02T19:00:00.000Z",
   description: "Tony Stark", id: "acc_01"}]}

iex> Monzo.Transaction.List(client, account.id)
{:ok,
 [%Monzo.Transaction{account_balance: 10000, amount: -5000, category: "entertainment",
   created: "2008-05-09T18:00:00Z", currency: "GBP", decline_reason: nil,
   description: "AVENGERS LTD", id: "tx_01",
   is_load: true, merchant: "merch_01", metadata: %{}, notes: "",
   settled: "2008-05-09T19:00:00Z"},
  %Monzo.Transaction{account_balance: 4000, amount: -1000, category: "cash",
   created: "2008-05-10T18:00:00Z", currency: "GBP", decline_reason: nil,
   description: "NEW AVENGERS",
   id: "tx_02", is_load: false,
   merchant: "merch_02", metadata: %{}, notes: "",
   settled: "2008-05-10Y19:00:00Z"},

TODO

  • Pagination
  • Attachments
  • Annotate transaction
  • Better support for error code: 405, 406, 429, 500, 504

LICENSE

See LICENSE

About

Elixir client for the Mondo API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages