API
Upload files with a single request. One file per POST, streamed straight to storage.
Upload
Send the file in a file field of a multipart/form-data POST to /api/upload:
curl -F 'file=@cat.png' https://u.stairs.lat/api/upload
Response
{
"success": true,
"files": [
{
"name": "cat.png",
"url": "https://u.stairs.lat/a1b2c",
"hash": "a1b2c",
"size": 12345,
"expiry": 1792345678
}
]
}
expiry is a Unix timestamp. Errors look like {"success": false, "error": "..."} with status 400, 413 or 500.
Download
Files are served at their URL (e.g. https://u.stairs.lat/a1b2c) and open inline in the browser. The original filename travels in the Content-Disposition header.
Limits
Max upload size is 128 MiB per file, files expire after 72 hours and are then deleted permanently.