Batch: SFTP


Our SFTP solution allows you to send us data to ingest. When you send us the files, we process them in real time and subsequently delete the files from the server.

Connection requirements

You can use your favorite SFTP client that supports a SSH Private Key for authorization.


Once the contract is signed you will receive the DNS name, the user name and the Private Key to access the SFTP server.

In general:

  • Server address:
  • User: upload
  • Password: SSH Private Key

Where to upload

Once you are logged in to the server, you will see a data folder. This is the place where you have to upload the files. Within this folder, create subdirectories for each "type" of file you are uploading. If you have flattened your data to all be included into one file you do not have to do this step. Examples of file types:

  • Transactions
  • Items
  • Product Catalog
  • Tenders
  • Stores

Within the /data directory, also include a subdirectory called "manifest" that will contain a daily manifest file that gets written at the end of your upload process. This file should contain the names of all files that were attempted to be uploaded on that day. This will ensure the Banyan ingestion process can check for any missing files and delay the ingestion.


Depending on your infrastructure we would prefer to receive the file at least once per day or as otherwise mentioned in your agreement with Banyan.

File format

  • We recommend files sent should be no bigger than 2GB in size.
  • Files should have the date of upload in the name, file type, as well as a part number if broken into multiple files within a single day.
    • example: 2022-03-04-transactions-0001.csv


When you’ll write your custom implementation to upload data to our SFTP server, make sure to take the following scenarios in to account:

  1. The server can become unavailable for a short period of time. Make sure to have in place a retry mechanism.
  2. The signature of the server might change due to hardware failure or changes in the hardware configuration. Make sure to take this into account (the URI won’t change).