Welcome to FileVault API

FileVault is a powerful, multi-tenant file storage microservice that provides secure file management with support for multiple storage backends (Local, S3, Azure, GCS, FTP, SFTP, Dropbox).

💡 Quick Start: Generate a service token below, then try the interactive API endpoints!

Key Features

  • Multi-tenant isolation with server codes
  • Multiple storage backend support
  • Path-based file organization
  • Bulk operations for efficiency
  • Public file sharing with password protection
  • Archive operations (ZIP compress/extract)
  • Rate limiting and quota management
  • Complete audit logging

Path Convention

⚠️ Important: FileVault uses two path patterns:

1. Module-based: {module}/{recordId}/{path}/{filename}
Example: matters/12345/evidence/contract.pdf

2. Documents module: documents/{path}/{filename}
Example: documents/templates/form.pdf

Never include the server code in the path - it's in the URL!

🔑 Service Token

Enter your FileVault service token to test the API endpoints below. Token format: fv_{64 hex chars}

✓ Token configured! All API requests below will use this token.

Upload File

POST /api/v1/{serverCode}/storage/upload

Upload files to FileVault with multipart form data. Supports multiple storage backends.

💡 Use Case: Upload matter documents, HR attachments, chat files, or any module-specific files.

Request Body (multipart/form-data)

Parameter Type Required Description
file file Required File to upload
path string Required Storage path (e.g., matters/12345/contract.pdf)
metadata json No Custom metadata object

🧪 Try It Now

Response

Download File

GET /api/v1/{serverCode}/storage/download

Download files from FileVault by path. File is streamed directly without buffering.

Query Parameters

Parameter Type Required Description
path string Required File path to download

🧪 Try It Now

Response

List Files

GET /api/v1/{serverCode}/storage/list

Retrieve a listing of files and directories in a specified path.

Query Parameters

Parameter Type Required Description
directory string No Directory path (default: root)

🧪 Try It Now

Response

Delete File

DELETE /api/v1/{serverCode}/storage

Remove a file from FileVault. File is soft-deleted and can be restored.

⚠️ Note: Files are soft-deleted and can be recovered. Use with caution.

🧪 Try It Now

Request Body

Response

Copy File

POST /api/v1/{serverCode}/storage/copy

Create a copy of a file at a different location.

🧪 Try It Now

Request Body

Response

Move File

POST /api/v1/{serverCode}/storage/move

Move a file to a different location (rename or relocate).

🧪 Try It Now

Request Body

Response

Rename File

POST /api/v1/{serverCode}/storage/rename

Rename a file without changing its directory location.

🧪 Try It Now

Request Body

Response

Create Directory

POST /api/v1/{serverCode}/storage/mkdir

Create a new directory in the file system.

🧪 Try It Now

Request Body

Response

Compress Files

POST /api/v1/{serverCode}/storage/compress

Create a ZIP archive from multiple files.

🧪 Try It Now

Request Body

Response

Extract Archive

POST /api/v1/{serverCode}/storage/extract

Extract files from a ZIP archive.

⚠️ Security: ZIP bomb protection is enabled (max 100:1 compression ratio, 1000MB extracted size).

🧪 Try It Now

Request Body

Response

Create Share Link

POST /api/v1/{serverCode}/storage/share

Generate a public share link for a file with optional password protection and expiration.

🧪 Try It Now

Request Body

Response

Bulk Copy

POST /api/v1/{serverCode}/storage/bulk-copy

Copy multiple files to a target directory in a single request. 10x faster than individual copies.

⚡ Performance: Bulk operations are optimized for handling multiple files efficiently.

🧪 Try It Now

Request Body

Response

Bulk Move

POST /api/v1/{serverCode}/storage/bulk-move

Move multiple files to a target directory in a single request.

🧪 Try It Now

Request Body

Response

Bulk Delete

POST /api/v1/{serverCode}/storage/bulk-delete

Delete multiple files in a single request.

⚠️ Caution: All files will be soft-deleted and can be restored within the retention period.

🧪 Try It Now

Request Body

Response