Fed ACH List
This service creates an API on top of the Federal Reserve list of ACH routing numbers.
Build and Run
- 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
Using the API
# 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.
License & Terms
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.