---
title: "Get a presigned GCS download URL for an attachment"
method: GET
path: "/credentialing-outreaches/attachments/{attachmentId}/download"
tags: ["Credentialing Outreach Resource"]
---

# Get a presigned GCS download URL for an attachment

`GET /credentialing-outreaches/attachments/{attachmentId}/download`

Returns a time-limited presigned Google Cloud Storage URL for downloading a single email attachment; it does not stream the file bytes directly. Call this after retrieving an outreach's full detail via GET /credentialing-outreaches/{id}/details - the attachmentId to supply is found in OutreachDetailResponse.emails[].attachments[].id in that response. The returned URL is valid for 1 hour.

## Path parameters

- `attachmentId` string, required

## Headers

- `tenant-id` string, required

## Response `200`

The presigned download URL and its metadata: url, expiresIn (validity in hours), expiresAt (Unix millisecond expiry timestamp), and fileName.

- AttachmentDownloadResponse — Response containing presigned URL for downloading email attachment
  - `url` string — Presigned URL for downloading the attachment
  - `expiresIn` integer — Number of hours until the URL expires
  - `expiresAt` integer — Unix timestamp when the URL expires
  - `fileName` string — Original filename of the attachment

## Other responses

- `401` — Unauthorized - Authentication required
- `403` — Forbidden - User does not have required permissions
- `404` — No attachment record exists in the DAL for the given attachmentId, or the DAL record exists but the underlying file is missing from GCS. The response body does not distinguish between these two causes; verify the attachmentId via the outreach detail endpoint before retrying. The body is a plain string, not the ApiError shape.
- `500` — Internal Server Error - An unexpected error occurred

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
