api

module
v0.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2019 License: Apache-2.0

README

api.moov.io

Build Status Apache 2 licensed

This repository holds our api.moov.io website, which is our API documentation.

Documentation is markdown generated by ReDoc. View source on the Swagger Editor.

Getting Started / Install

  1. Clone the repository somewhere (git clone git@github.com:moov-io/api.git)
  2. Edit the files to make your change (i.e. openpai.yaml)
  3. Run make to generate a docker image with your changes
    1. Verify your changes by running locally with make serve
    2. Also, you can run make serve-apps to load the OpenAPI pages for each Moov application
  4. Commit your changes, push up a new branch, and create a Pull Request!

API Requirements

  • Every endpoint MUST support X-Request-Id.
  • Every POST, PUT, and PATCH endpoint MUST support X-Idempotency-Key.
  • Authenticated requests (outside OAuth and Users) MUST accept both OAuth and User auth.
    • Some OAuth and User operations require their speciifc auth (or the other form to bootstrap).
  • All 4xx errors MUST include an error message for the user.

apitest

apitest is the name for a tool we write to test out API endpoints. Largely this tool is for checking our business logic paths work together (i.e. create a transfer).

To use this tool we recommend installing it locally (go get github.com/moov-io/api/cmd/apitest).

$ apitest
2019/05/21 20:07:14.061194 main.go:59: Starting apitest v0.9.2-rc1
2019/05/21 20:07:14.061292 main.go:131: Using https://api.moov.io as base API address
2019/05/21 20:07:15.182516 main.go:169: ACH PONG
2019/05/21 20:07:15.290894 main.go:179: auth PONG
2019/05/21 20:07:15.397242 main.go:189: paygate PONG
2019/05/21 20:07:15.397276 main.go:216: Using X-Request-ID: 2e65e7b1c388aa2c030bb169afdc64b910d7ef66
2019/05/21 20:07:17.909185 main.go:216: SUCCESS: Created user 0d1b2ab53e85444b328db8838c4bcf3bd2d4b055 (email: gallant.stonebraker24@example.com)
2019/05/21 20:07:18.076136 main.go:216: SUCCESS: Cookie works for user 0d1b2ab53e85444b328db8838c4bcf3bd2d4b055
2019/05/21 20:07:18.689341 main.go:216: SUCCESS: Created OAuth access token (ZEOVXUCENWIBVI9QICN-HA), expires in 2h0m0s
2019/05/21 20:07:19.971389 main.go:216: SUCCESS: Created Originator Depository (id=5131701bbf18d439471e7d7f025d061707a76bfa) for user
2019/05/21 20:07:20.176333 main.go:216: SUCCESS: Created Originator (id=3d04991ff9d92a22a33b25b31ee252846402fc84) for user
2019/05/21 20:07:21.191111 main.go:216: SUCCESS: Created Receiver Depository (id=9d763c8a83f3a0d652e4aed64712ac95510d7d09) for user
2019/05/21 20:07:21.625332 main.go:216: SUCCESS: Created Receiver (id=2ceb2c969428002bb437ceda22e3b0f64f3fac52) for user
2019/05/21 20:07:22.107874 main.go:216: SUCCESS: Created USD 220.98 transfer (id=630490fdaee379a3705a1f20940d850a659e17a0) for user
2019/05/21 20:07:22.431543 main.go:216: SUCCESS: Matched transactions on accounts
2019/05/21 20:07:22.549011 main.go:216: SUCCESS: invalid login credentials were rejected
2019/05/21 20:07:22.724240 main.go:216: SUCCESS: invalid OAuth2 access token was rejected

apitest -local can be used when launching Moov's applications with go run commands on the same host.

apitest -dev can be ran against our local dev setup in the infra repository.

Getting Help

channel info
Google Group moov-users The Moov users Google group is for contributors other people contributing to the Moov project. You can join them without a google account by sending an email to moov-users+subscribe@googlegroups.com. After receiving the join-request message, you can simply reply to that to confirm the subscription.
Twitter @moov_io You can follow Moov.IO's Twitter feed to get updates on our project(s). You can also tweet us questions or just share blogs or stories.
GitHub Issue If you are able to reproduce an problem please open a GitHub Issue under the specific project that caused the error.
moov-io slack Join our slack channel to have an interactive discussion about the development of the project. Request an invite to the slack channel

Contributing

Yes please! Please start by reviewing our Code of Conduct.

You only have a fresh set of eyes once! The easiest way to contribute is to give feedback on the documentation that you are reading right now. This can be as simple as sending a message to our Google Group with your feedback or updating the markdown in this documentation and issuing a pull request.

License

Apache License 2.0 See LICENSE for details.

Directories

Path Synopsis
cmd
apitest
apitest is a cli tool (and Docker image) used for testing the Moov API.
apitest is a cli tool (and Docker image) used for testing the Moov API.
localdevproxy
localdevproxy is a cli tool (and Docker image) used for proxying requests to the Moov API.
localdevproxy is a cli tool (and Docker image) used for proxying requests to the Moov API.
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL