---
title: "Download"
method: GET
path: "/api/v1/threads/{threadId}/attachments/{fileId}/download"
tags: ["attachments"]
---

# Download

`GET /api/v1/threads/{threadId}/attachments/{fileId}/download`

## Request

- Base URL: `https://api.capy.ai`
- URL: `https://api.capy.ai/api/v1/threads/{threadId}/attachments/{fileId}/download`
- Auth: HTTP bearer

## Path parameters

- `threadId` string, required
- `fileId` string, required

## Response `200`

AttachmentDownload

- AttachmentDownloadEncoded
  - `url` string, required: A presigned GET for the file's bytes. Send it without an Authorization header; the signature is the credential.
  - `expiresAt` string, required

## Other responses

- `401`: capy/Unauthorized
- `403`: capy/Forbidden
- `404`: capy/ThreadNotFound | capy/FileNotFound
- `429`: capy/RateLimited

## Changes

- **2026-10-27** `32442d39d1ac`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/capy/apis/capy-api/changes/api/v1/threads/:threadId/attachments/:fileId/download/get.md)

---

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