Giter Club home page Giter Club logo

docs's Introduction

Monzo API Docs

Monzo is a new kind of bank.

This is the public repo for the Monzo API documentation. It was generated using Slate.

Setting up your environment

Docker is the recommended way to work with this repository, as we can use slate's official Docker image and not worry about dependencies, however if you want to work with the project natively rbenv is recommended.

Testing Locally

From the root of the repo:

> docker run --rm --name slate -p 4567:4567 -v $(pwd)/source:/srv/slate/source slatedocs/slate serve

Then just visit http://localhost:4567 in your browser!

Upgrading Slate

Follow the instructions on Slate's GitHub page

Deploying your changes

Make sure all your changes are committed and then build the project

docker run --rm --name slate -v $(pwd)/build:/srv/slate/build -v $(pwd)/source:/srv/slate/source slatedocs/slate build

This will create the build/ folder (don't worry about committing this, it's part of the .gitignore file). You can now deploy:

./deploy.sh --push-only

Note the --push-only flag is required as otherwise the script will try to build the project first natively, which we've already done with Docker.

Need help? Found a bug?

Just submit an issue to this GitHub repo if you need any help. And, of course, feel free to submit pull requests with bug fixes or changes.

docs's People

Contributors

albertmonzo avatar alexturkin avatar bootstraponline avatar chrissrogers avatar cvkef avatar danielchatfield avatar dependabot-preview[bot] avatar dependabot[bot] avatar dlackty avatar domwong avatar greysteil avatar henryrowett avatar hnphan avatar jdmcdonagh avatar jnic avatar jonastemplestein avatar kieranm avatar lord avatar m2a9x45 avatar maks3w avatar marcguyer avatar masterodin avatar mattheath avatar mikeralphson avatar mycleung avatar obeattie avatar priyeshpatel avatar realityking avatar samuknet avatar trstnthms avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

create/edit transaction notes

It should probably be mentioned that updating the the notes key in a transaction's metadata applies the value to the transactions top level notes property.

Getting an account

I've signed up for one of your accounts to try this, but it says I'm 70,000 or so behind.
Is there a way to get a test account while I wait please?

VRP Sweeping API Docs missing?

Hello,

I'm trying to find the VRP sweeping API docs on docs.monzo.com, and it looks like they have disappeared.

I've checked the history of the master branch of this repo and it doesn't seem like this is intentional, so I wanted to report it in case it wasn't.

Thanks

Card endpoint is undocumented

The usage of the card endpoint appears to be as follows:

List cards
GET /card/list?account_id=$account_id
Gets a list of cards belonging to the given account

Toggle card status
PUT /card/toggle
Arguments: card_id - the ID number of the card to change the status of, status - the new status for the card (INACTIVE or ACTIVE)

I'm guessing there might be a "request replacement card" endpoint as well, but I haven't found it yet...

Documentation for Pots is not up to date

The documentation for depositing into a pot has request arguments as follows

http --form PUT "https://api.monzo.com/pots/$pot_id/deposit" \ "Authorization: Bearer $access_token" \ "source_account_id=$account_id" \ "amount=$amount" \ "dedupe_id=$dedupe_id"

Making a request with this signature results in the following error;

{"code":"bad_request.missing_param.current_account_id","message":"The field 'current_account_id' is required","retryable":{}}

Replacing source_account_id with current_account_id results in the same error message. Please can the documentation be updated to reflect the correct request arguments

Monzo as a Google Summer of Code Mentoring Organisation

Hey there,

I hope that this is a suitable way of getting in contact with the Monzo engineering team - I apologise if not.

The 2023 Google Summer of Code program has recently been announced and is something I am hoping to use as a foot into the world of opensource software once I've finished my degree. When I was thinking about which organisation I'd like to contribute to, Monzo was the first that sprung to mind. I've read a number of Monzo's tech blogs and watched presentations given at the UK Gopher Conference which I've found interesting to see how modern technology solutions are applied in FinTech. Additionally, Monzo is a service I use daily and would love to get the chance to help improve it.

I was therefore wondering if the Monzo team could consider applying to be a mentoring organisation to this program?

I've read the eligibility for mentoring organisations and I believe Monzo meets all of the criteria. Here is timeline of the program: https://developers.google.com/open-source/gsoc/timeline

Many thanks,
Charlie Clarke

Document rate limiting

Hi, was testing the API to try and make an app out of it and hit the rate limit rather soon.

I'm unable to find any information on what are the limits or how long it takes to unblock you, guess that'd be nice to have in the docs ๐Ÿ‘

Annotate transaction not working for custom key

I am trying to annotate transactions as documented here: https://docs.monzo.com/#annotate-transaction

Assigning values to the notes key seems to work as expected. However, trying to assign a value to my own custom key does not work.

I send this request

http --form PATCH "https://api.monzo.com/transactions/$transaction_id" \
    "Authorization: Bearer $access_token" \
    "metadata[foo]=bar"

But there is no foo key in the metadata of the returned response. The docs example says that the foo key should be present in the response.

When I retrieve the transaction with:

http "https://api.monzo.com/transactions/$transaction_id" \
    "Authorization: Bearer $access_token" \
    "expand[]==merchant"

I don't see the foo key either. I have tested this with several different transactions.

Could you please explain why this isn't working or where I've gone wrong if I've made a mistake? Thank you!

Current accounts support

Is there going to be availability to query current accounts in the near future? If there is a pre-release version of the API I'd love to be able to test it.

Thanks,

Paul

Document use of multiple OAuth redirect URLs

The developer console indicates that applications can specify multiple redirect URLs, which could be particularly useful for developing on localhost and running in production on a public domain.

screenshot 2017-08-17 17 05 25

I have attempted to use URLs in the following formats:

http://localhost:8080/receive, https://prod.foo.com/receive
http://localhost:8080/receive,https://prod.foo.com/receive
http://localhost:8080/receive; https://prod.foo.com/receive
http://localhost:8080/receive;https://prod.foo.com/receive

None of these appear to have worked so far. It would be great to get some documentation on what format these URLs should be in.

Add LICENCE file

Your docs look amazing! I wanted to know if I can use this repo as a template for my own API documentation websites, but unfortunately I didn't find the LICENCE file. Would be awesome if you added the licence.

Postman Collection

It would be nice if there was a postman collection someone had somewhere, which could be polished and released to the communityl

How to verify webhook events are coming from Monzo?

I'm not sure whether or not it's possible to verify the source of a webhook event from the POST request. If it's not, there should be a hard-to-guess "password" in the URL you use to register for webhooks, so an application can read it in the POST request.

Add callback for 3rd party integrations

I have set up a personal project to automatically keep track of Monzo Flex in my finances. I also need to use another card account and would like to automate it too. Unfortunately, not all banks are like Monzo, and this one doesn't provide a nice API. However, it is already integrated with Monzo through Open Finance (I can see my transactions in the Monzo app). Is there any way to get a callback when I make a transaction on this card, similar to how I receive a callback when I make a transaction on my Monzo Flex card?

querry

What kind of apps can be built on top of Monzo using their API ?

Update the webhook documentation

The actual webhook event looks nothing like in the docs and it differs depending on the other party (i.e. webhook for a movement from a pot would be quite different from webhook for a faster payment).

The code below is a cut from a real working app in Rust and as you can see it is very different from one in the docs:

struct Data {
  id: String,
  created: String,
  description: String,
  amount: i64,
  fees: Fees,
  currency: String,
  merchant: ::serde_json::Value,
  notes: String,
  metadata: Metadata,
  labels: ::serde_json::Value,
  account_balance: i64,
  attachments: ::serde_json::Value,
  international: ::serde_json::Value,
  category: String,
  categories: ::serde_json::Value,
  is_load: bool,
  settled: String,
  local_amount: i64,
  local_currency: String,
  updated: String,
  account_id: String,
  user_id: String,
  counterparty: Counterparty,
  scheme: String,
  dedupe_id: String,
  originator: bool,
  include_in_spending: bool,
  can_be_excluded_from_breakdown: bool,
  can_be_made_subscription: bool,
  can_split_the_bill: bool,
  can_add_to_tab: bool,
  amount_is_pending: bool,
}

struct Fees {}

struct Metadata {
  faster_payment: String,
  fps_fpid: String,
  fps_payment_id: String,
  insertion: String,
  notes: String,
  trn: String,
}

struct Counterparty {
  account_number: String,
  name: String,
  sort_code: String,
  user_id: String,
}

Undefined sort order of transactions

API doc should clarify if /transactions always returns a list of transactions sorted in chronological order, or if the order is not guaranteed

Add bug report contact details.

As mentioned in the docs, this API is in active development and can change frequently. Coming back to a project for the first time in a few months I found a number of changes in the API that are undocumented, and have found several bugs.

This repository feels like the wrong place to report bugs, so some official documentation on where to report bugs to would be greatly appreciated.

Account Information Services API links incorrect

On https://docs.monzo.com/ the "Account Information Services API" section ( https://docs.monzo.com/#account-information-services-api ) lists a number of subsections - each individually linked from the menu. However, since some sections have the same name as the "Monzo Native API" sections (such as "Authentication", "Accounts", "Balances", "Pots", "Direct Debits" etc), the side menu does NOT highlight as you scroll down and if you click on the appropriate item in the side menu, you are taken to the "Monzo Native API" section.

The internal hyperlinks for the Account Information Services API really need to have prefixes appended to them and the relevant "id" fields.

qv: https://community.monzo.com/t/documentation-bug-account-information-services-api-links-incorrect/152141

account_balance missing from transactions

This might be just a case of you guys making a change and not updating the documentation. Your /transactions endpoint documentation seems to indicate that each transaction object should contact an account_balance property.

My assumption is that this would be a running total balance, at the point of this transaction. This property doesn't exist in the response though.

Has this been removed and the documentation not updated?

OAuth gateway does not show error messages

I have deployed an OAuth application that uses https://auth.monzo.com/, but I forgot to add the production redirect URL. This means that login does not work.

When I click the "Submit" button, nothing happens.

screenshot 2017-08-17 16 44 23

Using the web inspector I can see that the button is initiating a web request which is receiving a 400 status code with the payload:

{
    "code": "bad_request.bad_param.redirect_uri",
    "message": "Mismatched redirect_uri"
}

This makes sense given the error I made, but no error message was shown. It would be great to at least have a generic error message, the literal message provided here might be even better (if not understandable by most).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.