Documentation
Everything you need to store and serve files from your application.
Quickstart
Create a token in your account settings, install an SDK and upload your first object.
npm install @files/sdk
# or
pip install files-sdk
Authentication
All requests carry a bearer token in the Authorization header. Tokens are scoped to a bucket and can be limited to read-only access.
curl -H "Authorization: Bearer $FILES_TOKEN" \
https://files.exheavy.site/v1/objects?prefix=reports/
Endpoints
| Method | Path | Description |
|---|---|---|
| PUT | /v1/objects/{key} | Upload or overwrite an object |
| GET | /v1/objects/{key} | Download an object |
| GET | /v1/objects | List objects by prefix |
| HEAD | /v1/objects/{key} | Read metadata only |
| POST | /v1/signed-urls | Create a time-limited link |
SDKs
The JavaScript and Python libraries wrap the API with automatic retries, resumable uploads and typed responses.
from files_sdk import Files
files = Files(token=os.environ["FILES_TOKEN"])
files.put("backups/db.sql.gz", open("db.sql.gz", "rb"))
for obj in files.list(prefix="backups/"):
print(obj.key, obj.size)
Limits
- Maximum object size: 5 GB per upload, larger files via multipart.
- Key length: up to 512 characters.
- Default rate limit: 100 requests per second per token.