# Get a signed download URL
`GET https://octopus.livepush.io/streams/{stream_id}/videos/{video_id}/download_url/signed`
Returns a time-limited URL for downloading the source file.

Not called by the dashboard.

Requires a token with the `streams.videos.read` scope.
- **Tag:** Videos
- **Operation ID:** `getVideoDownloadUrl`
- **Authentication:** Bearer token required
- **Docs:** https://developers.livepush.io/videos/get-a-signed-download-url/

### Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `stream_id` | string | yes | Unique identifier of the stream. |
| `video_id` | string | yes | Unique identifier of the video. |


### Example request

```bash
curl -X GET 'https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/vd_xxxxxxxxxxxx/download_url/signed' \
  -H 'Authorization: Bearer YOUR_API_TOKEN'
```


### Responses


#### 200 — Get a signed download URL.

- `id` (string)
- `Key` (string) — Object key the URL points at.
- `signedUrl` (string) — The time-limited URL.
- `snapshot` (string) — Only present on the thumbnail response — the stored snapshot path the signed URL was derived from.


```json
{
  "id": "vd_xxxxxxxxxxxx",
  "Key": "string",
  "signedUrl": "string",
  "snapshot": "string"
}
```


#### 401 — Response


#### 404 — Not found for this account.

