Skip to content
SuperFiles Docs
Esc
navigateopen⌘Jpreview
On this page

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=..." }

Next steps

Was this page helpful?