> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudcruise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Downloading Run Files

> How signed file URLs work and how to download them reliably

Files a workflow downloads during a run are returned as signed URLs in `file_urls`. You get them in the [run results](/run-api/retrieve-run-results) and in the `file.uploaded` [webhook](/concepts/webhooks).

```json theme={null}
{
  "signed_file_url": "https://files.cloudcruise.com/v1/f/<token>",
  "file_name": "report.pdf",
  "timestamp": "2026-10-13T12:00:00.000Z",
  "signed_file_url_expires": "2026-10-20T12:00:00.000Z",
  "metadata": {}
}
```

## 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`:

```bash theme={null}
curl -L -o report.pdf "https://files.cloudcruise.com/v1/f/<token>"
```

## 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](https://app.cloudcruise.com/settings/data-retention).
* 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

| Status | Meaning |
| - | - |
| `403` | `signed_file_url` has expired or is invalid. |
| `404` | The file was deleted under your data retention settings. |

## 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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.