API · s5w

Temporary links

A signed /t/… address to one file: it opens without a token, but only until it expires and, if needed, a limited number of times.

Access FULLLifetime up to 30 daysDownloads up to 1000
by default
Signed

Nothing is stored in the database: the expiry is sealed in the signature. It cannot be revoked on its own — only all links of the bucket at once. A note is not kept.

revocable · maxDownloads
Tracked

Stored in the database, can be revoked on its own, shows in the lists. Counts downloads only with maxDownloads.

A link becomes tracked when revocable: true or maxDownloads is given.

  • With revocable alone the downloads counter stays 0 — downloads are counted only with maxDownloads.
  • A link with maxDownloads does not support Range: the file is served whole only.

POST /v1/files/{id}/link

json
{
  "ttl": 86400,
  "disposition": 1,
  "maxDownloads": 5,
  "revocable": true,
  "note": "for the contractor"
}
Field Default Description
ttl 3600 Lifetime, seconds: up to 2592000 (30 days). Optional.
disposition 0 0 (INLINE) — open in the browser if the type allows it (as on /o); 1 (ATTACHMENT) — download.
maxDownloads — Download limit, 1–1000. Makes the link tracked.
revocable false Can be revoked on its own. Makes the link tracked.
note "" A note for yourself, up to 255 characters. Kept only on a tracked link.

Returns 201:

json
{
  "id": 17,
  "url": "https://s5.example.com/t/…",
  "expiresAt": "2026-11-08T17:10:44+00:00",
  "revocable": true,
  "maxDownloads": 5,
  "downloads": 0,
  "revoked": false,
  "disposition": { "id": 1, "name": "ATTACHMENT" },
  "note": "for the contractor"
}

A signed link has id — null and revocable — false.

A long link that cannot be revoked

A signed link for a week or longer without a download limit cannot be revoked on its own: if it leaks, the only option left is revoking every link of the bucket.

The last 20 tracked links of the file, newest first — as an array, no pagination. Expired, revoked and used-up ones included: a link is kept until 7 days after its expiresAt.

The tracked links of the whole bucket, page by page, newest first — expired, revoked and used-up ones included until 7 days after their expiresAt.

DELETE /v1/links/{id}

Revokes one tracked link. Returns 204.

Revokes every link of the bucket, signed ones included — it changes the signing “epoch”. Returns { "epoch": 3 }. New links are issued as usual afterwards.

A link also stops working together with its file: delete the file and the links to it are dead.