api

module
v0.9.0-rc3 Latest Latest
Warning

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

Go to latest
Published: May 16, 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 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 Receiver Depository (id=0f0d3b4e092fc15e46f6696400b130382c5f7134) for user
2018/12/01 00:20:12.271781 main.go:133: Created Receiver (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.

Directories

Path Synopsis
cmd
apitest command
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 command
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