---
title: "Get a file download URL"
method: GET
path: "/v1/resources/{resourceId}/files/download-url"
tags: ["Resources"]
---

# Get a file download URL

`GET /v1/resources/{resourceId}/files/download-url`

Returns `{ url, expiresAt }` — a short-lived signed URL for the file at `path` on a workspace file system; GET it to stream the bytes. Pass `redirect=true` for a 302 straight to the URL (`curl -L`). For a shareable URL with a longer TTL, run the provider's /cat endpoint.

## Path parameters

- `resourceId` string, required — Resource identifier (ULID).

## Query parameters

- `path` string, required — File path relative to the FS root.
- `redirect` 'true' — `true` answers a 302 redirect to the signed URL instead of the JSON body (the `curl -L` ergonomic).

## Response `200`

The signed download URL

- object
  - `url` string, required
  - `expiresAt` string, required

## Other responses

- `302` — Redirect to the signed URL (`redirect=true`)
- `401` — Unauthorized — missing or invalid credentials
- `403` — Forbidden — caller has no workspace or no access
- `404` — Resource or path not found
- `500` — Internal server error

---

[API](https://skmtc.net/monid/apis/monid-api.md) · [All operations](https://skmtc.net/monid/apis/monid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/monid/monid-api/revisions/6c351c1bd0eb/schema)
