Skip to content

API Technical Specification MyFiles

Pablo Hernandez edited this page Dec 18, 2021 · 1 revision

MyFiles API Technical Specification

Title

Proposal: MyFiles API Specification

Authors

Pablo Hernandez

Problem

Our archive repositories provide valuable file metadata to our direct customers. Customers use this data to integrate with business-critical services, but they are currently doing so by downloading CSVs and uploading CSVs to other business products. We are currently not providing a way to programatically grant access to the repository metadata to customers who use third-party integrations.

Solution

Build an API that allows developers to programmatically access MyFiles files.

Implementation

For this API, we've decided to use REST for the following reasons:

  • REST resource paradigm matches how MyFiles treats files ir out tech stack.
  • Desired file operations for the API match closely to CRUD operations.
  • No need fot the event transport at this time.

Authentication

This API will Spring Security with jsonwebtoken authentication.

Other things we considered

WebHooks are a great way for developers to get information about user events, such as files uploaded and files changed without continuosly polling for data. We've decided to incorporate an outline of how these would work. We anticipate building those as a phase 2 for the API.

We have decided not to implement DELETE operation for third-party developers at this time, because we consider it high risk and unnecessary for the initial API launch.

Clone this wiki locally