---
title: "Download an attachment on the owner's client brief"
method: GET
path: "/portal/{slug}/brief/files/{fileId}"
tags: ["Portal"]
---

# Download an attachment on the owner's client brief

`GET /portal/{slug}/brief/files/{fileId}`

## Request

- Base URL: `https://api.briefgate.dev`
- URL: `https://api.briefgate.dev/portal/{slug}/brief/files/{fileId}`
- Auth: none required

Redirects (302) to a short-lived signed storage URL. Same servability rule as GET /portal/:slug/files/:fileId: the file must have passed the virus scan, or this returns 422. Stays reachable on an archived intake — this is a read, and reads stay open.

## Path parameters

- `slug` string, required
- `fileId` string, required

## Other responses

- `302`: Redirect to a signed storage URL
- `401`: No valid portal session
- `404`: Resource not found
- `422`: File is not servable yet (still scanning or quarantined)

---

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