API - Downloads & archives
The API can hand you secure, time-limited download links, including for the private original that never appears on your public CDN, and it can build ZIP archives whenever you need them.
Downloading a single file
POST /v1/downloads gives you a signed URL for one version of an image:
POST /v1/downloads
Idempotency-Key: <uuid>
{ "image_public_uuid": "be66ea4e-…", "version": "original" }{ "url": "https://…signed…", "filename": "IMG_1234.jpg", "access": "private", "expires_at": 1783099999 }The link works until the time in expires_at, then it stops. Leave version out and you'll get the largest version we can serve. This one needs the api.download scope.
Building a ZIP archive
When you want a lot of images at once, build an archive:
POST /v1/archiveswithimage_public_uuids: […](and, if you like, aversion_profile_uuidand afilename) kicks off the build and hands back an Operation to poll.GET /v1/archiveslists the archives your account has ready, each with a link you can share, its size, how many images it holds, and when it expires.
POST /v1/archives
Idempotency-Key: <uuid>
{ "image_public_uuids": ["…", "…"], "filename": "friday-selects" }Archives are the way to send a whole selection to a client. The build happens in the background as an Operation, so poll it, then share the link from
GET /v1/archives.