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

## Changes

- **2026-09-23** `fadab791136c` — 4 warning
  - added the new `X402_UNBOUNDED_PRICE` enum value to the `errorCode` response property for the response status `401`
  - added the new `X402_UNBOUNDED_PRICE` enum value to the `errorCode` response property for the response status `403`
  - added the new `X402_UNBOUNDED_PRICE` enum value to the `errorCode` response property for the response status `404`
  - added the new `X402_UNBOUNDED_PRICE` enum value to the `errorCode` response property for the response status `500`
- **2026-09-11** `9874d9e34fcf` — 4 info
  - added the optional property `errorCode` to the response with the `401` status
  - added the optional property `errorCode` to the response with the `403` status
  - added the optional property `errorCode` to the response with the `404` status
  - added the optional property `errorCode` to the response with the `500` status

[Change history](https://skmtc.dev/monid/apis/monid-api/changes/v1/resources/:resourceId/files/download-url/get.md)

---

[API](https://skmtc.dev/monid/apis/monid-api.md) · [All operations](https://skmtc.dev/monid/apis/monid-api/llms.txt) · [OpenAPI document](https://skmtc.dev/monid/apis/monid-api/revisions/fadab791136c?raw)
