This service creates an API on top of the Federal Reserve list of ACH routing numbers.
- Node.js and NPM
# start the site locally at http://localhost:3000
npm start
# build the docker image locally
make build
# run the server
make run
# run the downloader
make run-downloader
# build the AWS zip file for upload to Elastic Beanstalk
make build-aws
DockerHub automatically builds changes from the repo, so commit and push master, and push the correct version tag to get a new build.
# tag new build
git tag 1.1
# push tags
git push --tags
Configuration can be updated by setting environment variables
The environment setting that changes behavior of logging and error messages.
- development: This is a development or testing environment (default)
- production: This is a production environment
Username for the API
Key for the API
Algorithm for the API authentication.
- basic: This is a shared key using HTTP Basic Auth (default)
- digest: This is a digest using HTTP Digest Auth. Note: Digest realm is "api". Also, be sure to set a non-empty nonce value.
A test ACH file to use when updating the ACH list. If not set, the downloader will pull from the Federal Reserve.
The file path for the ACH list JSON. Defaults to ./fed-ach-list.json when not using S3
S3 bucket to load ACH list JSON from.
S3 path to load ACH list JSON from. Defaults to NODE_ENV/fed-ach-list.json
# Health checks
http://localhost:3000/status/health
# Retrieve data for a routing number
http://localhost:3000/api/ach/111000111
# Updating the ACH
http://localhost:3000/process/achupdate
NOTE: When using API username and key, pass them as HTTP Basic auth.
This software is licensed under the APACHE 2 open source license. See LICENSE.txt for details.
In addition, in order to download the ACH list from the Federal Reserve, you must accept the agreement and terms and conditions from the Federal Reserve at https://www.frbservices.org/EPaymentsDirectory/agreement.html. Deploying and using this software indicates that you agree to these terms.