---
title: "A 15-minute signed URL to download one of the request's evidence files (works in every workspace)"
method: GET
path: "/supplier-portal/requests/{requestId}/files/{fileId}/download"
tags: ["Supplier portal"]
---

# A 15-minute signed URL to download one of the request's evidence files (works in every workspace)

`GET /supplier-portal/requests/{requestId}/files/{fileId}/download`

The signed URL always downloads: it carries response-content-disposition (attachment, with the stored file name as filename*=UTF-8'') and response-content-type (the stored canonical type).

## Path parameters

- `requestId` string, required
- `fileId` string, required

## Response `200`

The signed URL

- SupplierPortalLinkResponse
  - `data` object, required
    - `url` string, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `503` — OBJECT_STORE_UNAVAILABLE: no file store is configured, or it failed

## Changes

- **2026-10-05** `04eabb8ebb47` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/greentally/apis/esgai-api/changes/supplier-portal/requests/:requestId/files/:fileId/download/get.md)

---

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