SparkStore

SparkDen's Long-Term Speedy Storage System (SLTSSS)

Features

Public CDN

Upload files ≤50MB as public — served globally from edge nodes

Private Storage

Store large files privately with no size limit

Lightning Fast

Edge caching for public files, streaming delivery for private — fast everywhere

Secure

API key authentication with hashed storage and admin controls

Simple URLs

Clean, shareable links — public files auto-redirect to CDN

Speed Testing

Built-in benchmarks to compare public vs private performance

API Documentation

Authentication

All API requests (except downloads) require an API key in the header:

X-API-Key: your-api-key-here

Endpoints

POST /api/upload

Upload a file to CDN

# Private upload (default)
curl -X POST https://your-domain.com/api/upload \
  -H "X-API-Key: your-key" \
  -F "file=@photo.jpg"

# Public upload (≤50MB, served from CDN edge nodes)
curl -X POST https://your-domain.com/api/upload \
  -H "X-API-Key: your-key" \
  -F "file=@photo.jpg" \
  -F "visibility=public"
GET /api/files/<slug>

Download or stream a file (no authentication required). Public files auto-redirect to CDN.

# Download a file (public files redirect to CDN automatically)
curl https://your-domain.com/api/files/abc123xyz

# Get file metadata
curl https://your-domain.com/api/files/abc123xyz?info=true

# Force streaming through server (skip CDN redirect)
curl https://your-domain.com/api/files/abc123xyz?redirect=false
GET /api/files

List all uploaded files

curl https://your-domain.com/api/files \
  -H "X-API-Key: your-key"
DELETE /api/files/<slug>

Delete a file

curl -X DELETE https://your-domain.com/api/files/abc123xyz \
  -H "X-API-Key: your-key"
POST /api/files/<slug>/transfer

Transfer a file between public and private storage

# Move a private file to public
curl -X POST https://your-domain.com/api/files/abc123xyz/transfer \
  -H "X-API-Key: your-key" \
  -H "Content-Type: application/json" \
  -d '{"to": "public"}'

# Move a public file to private
curl -X POST https://your-domain.com/api/files/abc123xyz/transfer \
  -H "X-API-Key: your-key" \
  -H "Content-Type: application/json" \
  -d '{"to": "private"}'