FileShadow Cloud Archive Developer Portal
Last Updated: January 17, 2022
Overview
Enhance your application with a robust content based cloud based file system. FileShadow offers a REST API that allows developers to store, locate, and retrieve files from the FileShadow file vault.
By using the FileShadow API, developers have access to all of the files copied from the sources supported by the FileShadow infrastructure. This includes files uploaded using:
- Developer REST API
- Email accounts including Office 365, Gmail, iCloud Mail, Yahoo Mail, and IMAP
- Cloud storage accounts source such as DropBox, GoogleDrive, OneDrive, Box
- Windows and MacOS desktops via the FileShadow Desktop Client
- iOS and Android devices, all vie a single REST API
Using the API developers can:
- Create storage accounts, either for a given user, or a shared account for an organization
- Delete any account created by the developer
- Upload files and include searchable meta data without modifying the file itself
- Execute a search based upon the contents of a file, geo and ML tags, and description
- Download files either directly, or using a download link
- Get a thumbnail of the file
- Delete files
The Basics
Application Token: Each organization that uses the API must first get an Application Token from FileShadow. This token is unique to the organization and should be protected with the same caution as would be taken with private key management. To get an Application Token, fill out form below and submit it to FileShadow.
Accounts: The API provides a way for developers to create and delete accounts. Accounts may be created for each end user in an organization or a single account for the organization. Each account requires a unique (to FileShadow) email address.
Upon successful creation of an account, the developer will receive a “user token” that uniquely identifies the user. The user token is used in all subsequent call to the API. The user token will need to be stored in the developers store. If the tokens are lost, it will be necessary to contact FileShadow technical support to retrieve a list of user tokens.
Deleting an account cannot be undone. When the user deletes an account, all of the files housed in the users account will be deleted.
Files: The API provides a way for developers to upload and delete files. Once a file is fully uploaded, it is processed to make it searchable.
This process includes:
- The folder names as well as the filename itself
- Extracting readable text from word based files like pdf, docx, xlsx, pptx, ... In total more than a thousand file formats are supported
- Image based files are processed through the ML object identification engine. Identified objects are automatically added as searchable tags
- Latitude and longitude coordinates are turned into searchable street addresses
- PDF files that contain scanned images, are run through the OCR engine to extract any searchable text
If a user signs into their account and links files from another source (cloud, email, desktop, mobile) the files from those sources are processed the same as those uploaded via the API.
When files are added using the API a fileID is returned. This fileID is used in subsequent calls to the API to download the file, acquire a sharable download link to the file, get the thumbnail of the file, or delete the file. The fileID may be stored by the developer as they do not change. They are also included in the result set from a search call.
Additional meta data can be uploaded with the file including a description of the file, multiple tags, and an event date. FileShadow never modifies files, instead, it maintains an ancillary searchable unstructured metadata infrastructure.
Search: Developers can retrieve one or more fileID’s by executing a search. The search command accepts a string and returns an array of fileID’s that resulted from the search. A search can be:
- Metadata uploaded with the file
- A specific filename, a folder name and a filename
- Word or phrase in a text based document
- A street address
- An identified object in an image
- Text found in a scanned file
There are several boolean search terms that can be added to a search string. These terms must be in upper case and separated by a space on either side. These include:
- AND: Retrieve files that have term_1 AND term_2 AND term_3
- OR: Retrieve files that have term_1 OR term_2 OR term_3
- NOT: Retrieve files that have term_1 NOT term_2
- “”: Quote marks are used to retrieve files that contain a specific phrase
There are some conditions that will effect the result set:
- Unless quotes are used, punctuation marks are ignored
- Whole word search is enabled to reduce false positives
- Space characters between terms automatically map to an AND instruction
The result set from a search may be either an empty array if no files were found, or a set of fileID’s that meet the search criteria.
Download: Developers have two options regarding file download: direct download and downloadable link. In the first case, calling the API will download the file directly to the path supplied in the call. The second option is to get a sharable link which when followed will initiate a download immediately. The sharable link is persistent so long term storage of the link can be used rather than storing the fileID.
Development: FileShadow maintains two server instances; one for development, and a production version. Initially you will receive an Application Token for the development instance. You will want to use the development instance while you are building out your solution. The dev instance is lower power version of the production version. All of the functionality is supported, but the performance will not be the same.
When you are ready for release of your solution, let us know and an Application Token will be generated for the production (portal) instance. Please note that files uploaded to the development instance cannot be transferred to the production instance. Both tokens will remain active so you may develop additional functionality or solutions. FileShadow does reserve the right to revoke any Application Tokens should abuses of it’s systems be identified.
Billing: The normal billing system has been suspended for API (partner) accounts. Instead, partner accounts will be invoiced monthly based upon the agreement reached between FileShadow and the partner prior to running on the production server.
Documentation / Interactive Tools: The FileShadow REST API documentation can be found here. This link will take you to our PostMan development tool where you can read API Documentation. Once you have your Application Token, you can use PostMan to experiment with the FileShadow API prior to integrating with your application.