Documentation

Everything below assumes an account and one origin. Creating an account takes a minute and does not require a card.

Quickstart

Point a pull zone at your origin and replace the hostname in your templates. Nothing else changes.

curl -X POST https://api.northbeam-edge.example/v2/zones \
  -H "Authorization: Bearer $NB_TOKEN" \
  -d '{"origin":"assets.example.com","regions":["eu-central","eu-north"]}'

The response contains a zone hostname. Requests to it are cached for the lifetime given by your origin's Cache-Control.

Image transforms

Add query parameters to any image URL. Unknown parameters are dropped before the cache key is built.

ParameterValuesNotes
w, h1–4096Aspect ratio is kept unless both are given
fitcover, contain, padDefaults to cover
q1–100Ignored for lossless formats
fmauto, avif, webp, jpegauto follows the Accept header

Signed URLs

Sign the path and the expiry with your zone secret. Clocks drift, so a signature stays valid for 60 seconds past its expiry.

sig = base64url(hmac_sha256(secret, path + ":" + expires))
url = zone + path + "?exp=" + expires + "&sig=" + sig

Purging

Single paths are purged in under two seconds; wildcard purges propagate in about thirty.

curl -X POST https://api.northbeam-edge.example/v2/zones/$ZONE/purge \
  -H "Authorization: Bearer $NB_TOKEN" -d '{"paths":["/img/hero.jpg"]}'

Rate limits: 60 API calls per minute, 10 wildcard purges per hour. Ask support if you need more.