Skip to main content
Files a workflow downloads during a run are returned as signed URLs in file_urls. You get them in the run results and in the file.uploaded webhook.

How a download works

A GET on signed_file_url returns a 302 to a signed HTTPS URL on files.cloudcruise.com, which serves the file with a 200. There is always exactly one redirect. Most HTTP clients follow redirects by default. With curl, pass -L:

Expiration

  • signed_file_url works until signed_file_url_expires. The default is 7 days. You can set it between 1 hour and 7 days in your workspace settings.
  • Each request gets a new redirect URL that is valid for 60 seconds. Start the download right away, and don’t store or share the redirect URL. Store signed_file_url instead.
To keep a file longer than its link lasts, download it and store it on your side before signed_file_url_expires.

Errors

Why the redirect

The link you store and the URL that serves the file are separate on purpose:
  • Every download is checked and logged. Each request to signed_file_url is validated before the file is served, and each download is recorded. On Enterprise plans, downloads appear in your organization’s audit log.
  • Leaked download URLs expire quickly. The redirect URL is valid for 60 seconds, so if it ends up in a log or browser history it is useless almost immediately. Only signed_file_url stays valid for longer.
  • Deleted files stop being served. Once a file is removed under your retention settings, its link returns 404, even if signed_file_url_expires has not passed yet.
  • Fast downloads. The file is served directly from our CDN, not through the CloudCruise API.