Quickstart
Upload your first file with SuperFiles in under 5 minutes.
Quickstart
1. Get an API key
Sign up at superfiles.montr.online or spin up a self-hosted instance.
From Settings → API Keys, create a key with the storage:read storage:write scopes.
Your key looks like sf_live_xxxxxxxxxxxxxxxxxxxx.
2. Create a bucket
curl -X POST https://api.superfiles.montr.online/v1/buckets \
-H "Authorization: Bearer sf_live_xxxx" \
-H "Content-Type: application/json" \
-d '{ "name": "my-bucket", "public": false }'
Response:
{
"id": "bkt_01h...",
"slug": "my-bucket",
"public": false,
"storageUsed": 0,
"objectCount": 0
}
3. Upload a file
curl -X PUT https://api.superfiles.montr.online/v1/storage/my-bucket/hello.txt \
-H "Authorization: Bearer sf_live_xxxx" \
-H "Content-Type: text/plain" \
--data-binary "Hello, SuperFiles!"
The response includes the public URL (if the bucket is public) and the object metadata:
{
"key": "hello.txt",
"bucket": "my-bucket",
"size": 18,
"contentType": "text/plain",
"url": null,
"cdnUrl": null
}
4. Download the file
curl https://api.superfiles.montr.online/v1/storage/my-bucket/hello.txt \
-H "Authorization: Bearer sf_live_xxxx"
For public buckets, no auth header is needed — files are served directly via CDN URL.
5. Generate a presigned download URL
Share a private file without revealing your API key:
curl -X POST https://api.superfiles.montr.online/v1/storage/my-bucket/hello.txt/presign \
-H "Authorization: Bearer sf_live_xxxx" \
-H "Content-Type: application/json" \
-d '{ "expiresIn": 3600 }'
{ "url": "https://api.superfiles.montr.online/v1/storage/my-bucket/hello.txt?token=..." }