---
title: "Downloading a Form Attachment"
method: GET
path: "/v1/projects/{projectId}/forms/{xmlFormId}/attachments/{filename}"
tags: ["Individual Form"]
---

# Downloading a Form Attachment

`GET /v1/projects/{projectId}/forms/{xmlFormId}/attachments/{filename}`

To download a single file, use this endpoint.

The appropriate `Content-Disposition` (attachment with a filename) and `Content-Type` will be given. `Content-Type` will be either:

1. the type supplied at upload time, or if not supplied
2. a type derived from the file extension, or if none found
3. `application/octet-stream`

This endpoint supports `ETag`, which can be used to avoid downloading the same content more than once. When an API consumer calls this endpoint, it returns a value in `ETag` header, you can pass this value in the header `If-None-Match` of subsequent requests. If the file has not been changed since the previous request, you will receive `304 Not Modified` response otherwise you'll get the latest file.

## Path parameters

- `projectId` number, required
- `xmlFormId` string, required
- `filename` string, required

## Response `200`

OK

## Other responses

- `304` — Not Modified

## Changes

- **2025-12-20** `022694254f0d` — 1 info
  - api operation id `Downloading a Form Attachment` removed and replaced with `downloadFormAttachment`
- **2025-10-27** `b11b54eea487` — 1 info
  - removed the non-success response with the status `403`
- **2025-03-13** `e8c2858fd4eb` — 2 info
  - api operation id `downloadFormAttachment` removed and replaced with `Downloading a Form Attachment`
  - added the non-success response with the status `403`

[Change history](https://skmtc.dev/getodk/apis/odk-central-api/changes/v1/projects/:projectId/forms/:xmlFormId/attachments/:filename/get.md)

---

[API](https://skmtc.dev/getodk/apis/odk-central-api.md) · [All operations](https://skmtc.dev/getodk/apis/odk-central-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getodk/odk-central-api/revisions/d4f5ba77f644/schema)
