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.