> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ditto.live/llms.txt
> Use this file to discover all available pages before exploring further.

# HTTP API - Attachments

> With the `ATTACHMENT` data type, you can link extensive binary data, such as avatar images, videos, and PDFs, to a document.

This article provides an overview of the attachment-related endpoints and functionality available for the HTTP Data API.

Attachments consist of two distinct parts: *metadata* and a binary large object (*blob*) datastore. (See [ATTACHMENT](/sdk/latest/crud/working-with-attachments))

## Uploading Attachments

Using the Multipart Form method, upload the raw binary contents of the file you want to attach:

<Info>
  There are no size limits for attachments in Ditto, but the HTTP API enforces a 1MB limit for uploading attachments. This can be increased upon request.
</Info>

```bash Curl theme={null}
curl -X POST "$HOST/api/v4/attachments/upload" \
  --header "Authorization: Bearer ${API_KEY}" \
  -F 'file=@post.png'
#=> {"id": "RUGMUxzHDRH1x94uH_QcrkzUhV5-j6oFd1c9eAFMxNZDmQ", "len": 261322}
```

## Downloading Attachments

Using `/api/v4/attachments/{attachment_id}`, download attachments:

```bash Curl theme={null}
curl "$HOST/api/v4/attachments/${ATTACHMENT_ID}" \
  --header "Authorization: Bearer $API_KEY" \
  --output file.png
```
