Skip to main content
Collections are containers for file uploads with versioning, metadata validation, and processing hooks. Collection properties:
PropertyDescription
namespace / nameUnique identifier
metadata_schemaJSON Schema that file metadata must conform to
content_filter_functionFunction that runs on upload to approve/reject files
post_upload_functionFunction that runs after upload for processing
max_file_size_mbPer-file size limit (default: 100 MB)
max_total_size_gbTotal collection size limit (default: 10 GB)
File features:
  • Versioning — Every upload creates a new version. Previous versions are preserved.
  • Metadata — Each file carries JSON metadata validated against the collection’s schema.
  • Visibility — Files can be private (owner only) or shared (users with collection :all access).
  • Content filtering — Optional function runs on upload that can approve, reject, or modify the file.
Management endpoints:
POST   /api/v1/collections                              # Create collection
GET    /api/v1/collections                              # List collections
GET    /api/v1/collections/{namespace}/{name}           # Get collection
PUT    /api/v1/collections/{namespace}/{name}           # Update
DELETE /api/v1/collections/{namespace}/{name}           # Delete (cascades to files)
Runtime file endpoints:
POST   /files/{namespace}/{collection}                   # Upload file
GET    /files/{namespace}/{collection}                   # List files
GET    /files/{namespace}/{collection}/{filename}        # Download file
PATCH  /files/{namespace}/{collection}/{filename}        # Update metadata
DELETE /files/{namespace}/{collection}/{filename}        # Delete file
POST   /files/{namespace}/{collection}/{filename}/url    # Generate temporary download URL
POST   /files/{namespace}/{collection}/search            # Search files