The Files API allows developers to create web applications and automation tools for use with Aspera Files, which is a SaaS (Software as a Service) offering from Aspera. The API supports managing workspaces, users and groups as well as creating packages and managing and submitting to dropboxes. It works closely with the Node API to create a seamless experience between the Files application and the underlying Node.

Key concepts:

  • A package is a bundle of files and folders similar to a ZIP file or TAR file, that can be sent to other users. Files and folders must first be put into a package before sending.
  • Both files and folders can be sent, which means that a copy of the source content is made and sent to the recipients. Sent content "belongs" to the recipient; the recipient can edit it without changing the source.
  • Folders can be shared. When a recipient changes or overwrites content in a shared folder, that content is changed at the source.


In the following diagram, there are 3 main architectural components:

  1. Application Servers,
  2. Node Servers, and
  3. a client


Application Servers consist of the Files front-end and back-end servers. The Files web application is retrieved from the Files front-end servers.

Node Servers (sometimes called "Nodes") handle files, folders, access to files, file listings, file transfers... everything about files. There may be multiple clusters of Node Servers

Clients are everything that uses the APIs in the other servers. Files's web application is a client, Aspera Drive is a client, etc.

Application Servers are in charge of Users, Groups, and Messaging. Nodes are in charge of Files, Permissions, and Metadata. So when a Client wants to log in a user then list the contents of the home folder: the first request is to the Application Server to get information about the user's home folder (requiring authentication if not logged in), then the second request is to the Node to retrieve the file.

  1. Application Server: GET /self to get information about the current user. This will return information about the user's home folder if logged in and will redirect to the login page if not.
  2. Node: GET /files/{home_folder_id}/files to list the contents of the home folder.
Video player