api.moov.io

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
- Clone the repository somewhere (
git clone git@github.com:moov-io/api.git)
- Edit the files to make your change (i.e.
openpai.yaml)
- Run
make to generate a docker image with your changes
- Verify your changes by running locally with
make serve
- 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 either grab it locally (go get github.com/moov-io/api/cmd/apitest) or use our docker image moov/apitest:latest.
$ docker run moov/apitest:v0.3.0
2018/12/01 00:20:05.186164 main.go:43: Starting apitest v0.3.0
2018/12/01 00:20:05.186215 main.go:58: Using https://api.moov.io as base API address
2018/12/01 00:20:05.186237 main.go:80: Using X-Request-ID: d09b50e0690983876f47e4b6e6332edac4fef5d6
2018/12/01 00:20:06.023612 main.go:168: ACH PONG
2018/12/01 00:20:06.424823 main.go:178: auth PONG
2018/12/01 00:20:06.942562 main.go:188: paygate PONG
2018/12/01 00:20:09.304842 main.go:94: Created user a84042e7a35a1cf0609da9a0bd6693938fe21b02 (email: thirsty.lamport34@example.com)
2018/12/01 00:20:09.592519 main.go:103: Cookie works for user a84042e7a35a1cf0609da9a0bd6693938fe21b02
2018/12/01 00:20:10.625706 main.go:111: Created Originator Depository (id=db7a52b71efe9798a0edfcbf8dff78fb056814a5) for user
2018/12/01 00:20:10.989580 main.go:118: Created Originator (id=63cb96ca09ca0b8413959f8bd46b1851151e9427) for user
2018/12/01 00:20:11.990902 main.go:126: Created Customer Depository (id=0f0d3b4e092fc15e46f6696400b130382c5f7134) for user
2018/12/01 00:20:12.271781 main.go:133: Created Customer (id=2277c6362e87965847c8ec66d0743f348f1121f2) for user
2018/12/01 00:20:12.631427 main.go:140: Created USD 219.51 transfer (id=42b697aef4f48663cbe0ff6e6b11b8761e189fe2) for user
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.