> For the complete documentation index, see [llms.txt](https://docs.nebulablock.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nebulablock.com/api-reference/platform-api/list-workspaces/get-download-url.md).

# Get Download URL

Get a download URL for an object, pre-signed and expiring when the bucket is private.

Return a URL for downloading an object.

Whether the URL is signed depends on the **bucket's** privacy setting, not on anything you pass: a private bucket produces a pre-signed URL that expires, while a public bucket produces a plain URL and `expires` is ignored. See [Toggle Bucket Privacy](/api-reference/platform-api/list-workspaces/toggle-bucket-privacy.md).

## HTTP Request

`GET` `{API_URL}/object-storage/download-url`

where `API_URL = https://api.nebulablock.com/api/v1`.

## Query Parameters

| Parameter             | Requirement | Type      | Description                                                                     |
| --------------------- | ----------- | --------- | ------------------------------------------------------------------------------- |
| `object_storage_name` | Required    | `string`  | The workspace holding the bucket                                                |
| `bucket_name`         | Required    | `string`  | The bucket holding the object                                                   |
| `object_key`          | Required    | `string`  | The full object key, including any path prefix                                  |
| `expires`             | Optional    | `integer` | Lifetime of the signed URL in seconds. Defaults to `3600`. Private buckets only |
| `team_id`             | Optional    | `integer` | Act on a team's storage instead of your own. See [Teams](/account/teams.md)     |

## Response Attributes

#### data `dict`

* **download\_url** `string`: The URL to download the object from.

#### status `string`

`success` or `failed`.

#### message `string`

A description of the result.

## Example

#### Request

```bash
curl -X GET '{API_URL}/object-storage/download-url?object_storage_name=research-datasets&bucket_name=checkpoints&object_key=run-42/model.safetensors&expires=900' \
-H 'Authorization: Bearer {TOKEN}'
```

#### Response

```json
{
    "data": {"download_url": "https://..."},
    "message": "Download URL generated successfully",
    "status": "success"
}
```

## See also

* [List Files](/api-reference/platform-api/list-workspaces/list-files.md)
* [Toggle Bucket Privacy](/api-reference/platform-api/list-workspaces/toggle-bucket-privacy.md)
