Reference
Expiry
Free drops live 7 days, subscriber drops live forever, and ?ttl= overrides either direction within plan limits. This page is what “expired” actually means mechanically.
Where the deadline lives
Every expiring drop carries its deadline as object metadata, and the deploy response’s expires_at echoes it (null means never). While a drop is live, the deadline is also exposed on every response via the x-drop-expires header:
curl -I https://vast-juice-c2dse08p.hurled.page/
HTTP/2 200
content-type: text/html;charset=utf-8
cache-control: public, max-age=60
x-drop-expires: 2026-06-19T14:00:00.000ZPast the deadline
Requests answer 410 Gone the moment the deadline passes — browsers get a small “expired” page, API clients get { "error": "drop expired" }. There is no grace period and no recovery; redeploying mints a fresh slug.
Cleanup
An hourly sweep queries the drop index for expired entries and deletes their files in batches — no bucket scans. Between the deadline and the sweep, files still exist but are unreachable (the 410 wins).
Served drops are edge-cached for 60 seconds, so a page fetched right before its deadline can stay visible for up to a minute past it.
Keeping things alive
There’s no “extend” call — redeploy with a fresh ?ttl= instead. Subscribers redeploying a named drop keep the same URL while resetting content and lifetime in one shot.
Last updated Jun 12, 2026