Quickstart
Upload your first file and serve it from the edge in under five minutes.
1. Get a token
Tokens are issued per project from the dashboard. Keep them out of your repository; the CLI reads LUMEN_TOKEN from the environment.
export LUMEN_TOKEN=lf_live_XXXXXXXXXXXX
2. Push a file
curl -T ./app-1.4.2.dmg \
-H "Authorization: Bearer $LUMEN_TOKEN" \
https://api.lumenfile.com/v1/objects
The response contains the immutable content-addressed URL:
{
"sha256": "9f2c1a…",
"size": 48291840,
"url": "https://cdn.lumenfile.com/o/9f2c1a…/app-1.4.2.dmg"
}
3. Serve it
Point your release page or update feed at the returned URL. Objects are immutable — publishing a new build produces a new URL, and old links keep working until you delete the object.
Signed links
For gated downloads, request a signed link with an expiry. Anyone holding the link can fetch the object until it expires.
curl -X POST -H "Authorization: Bearer $LUMEN_TOKEN" \
-d '{"sha256":"9f2c1a…","ttl":3600}' \
https://api.lumenfile.com/v1/sign
Limits
Single objects up to 10 GiB. Multipart upload kicks in automatically above 64 MiB. Egress is metered per project; see pricing.