Skip to main content

Abyss Storage

Abyss Storage is Abyss' file storage service. It gives developers a simple API to upload, download, organize and publish files from their own Applications.

Storage is a technical service: it powers other Abyss products (Cloud, Memories, Form, Spotlight…) and can be used directly through the API or via the NPM package @abyss-project/storage.

What you can do

  • Upload, write, download files using secured PreSignedUrl
  • Organize files into hierarchical buckets
  • Generate thumbnails automatically
  • Expose a file as public (no authentication) to serve media
  • Receive signed webhooks on every file action
  • Store public key / value entries through the Store
  • Access a collection of royalty-free media

Getting started

Storage has no dedicated app — you use it from your own Application. To get started:

  1. Create a Project and an Application from app.abyss-project.fr — see Projects & Applications
  2. Enable the Abyss Storage service on your organization — see Enabling services
  3. Generate an Application API Key and keep its applicationId
  4. Set up the Core package or call the API directly
  5. Follow the File management page

Sharing and access

Storage content lives under an Application. To share access beyond the creator, use Abyss' sharing mechanisms:

Permissions

Inside a Storage Application, organization members need the following permissions:

PermissionAction
STORAGE_READView files and metadata
STORAGE_FILE_READList and download files
STORAGE_FILE_PRE_SIGN_URLGenerate a signed URL
STORAGE_FILE_UPDATEUpdate files and their buckets
STORAGE_FILE_DELETEDelete files
STORAGE_FILE_DUPLICATEDuplicate a file
STORAGE_FILE_ARCHIVEArchive / unarchive a file
STORAGE_FILE_CRYPTEncrypt a file
STORAGE_FILE_THUMBNAIL_READ / UPDATE / WRITE / DELETEManage thumbnails
STORAGE_STORE_READ / CREATE / UPDATE / DELETEManage Store entries
STORAGE_WEBHOOK_READ / CREATE / UPDATE / DELETE / RESET_SECRETManage webhooks
STORAGE_WEBHOOK_HISTORY_READRead webhook history