---
title: "Upload attachment"
method: POST
path: "/v3/attachments"
tags: ["Attachments"]
---

# Upload attachment

`POST /v3/attachments`

<small>_Requires the `other:write` scope (or a broader one that includes it)._</small>

Uploads a single file as a `multipart/form-data` request and returns its attachment id. Use the returned `id` in `attachmentIds` arrays on email-template, sequence-step, and inbox-message endpoints to attach the file to outbound communications.

## Response `200`

File uploaded

- object — Uploaded file attachment usable across email templates, sequence steps, and direct emails.
  - `id` integer, required — Attachment identifier — pass this in `attachmentIds` arrays on email-template, sequence-step, and inbox-message endpoints.
  - `fileName` string, required — Original file name as supplied by the upload.
  - `size` integer, required — File size in kilobytes (rounded up).

## Other responses

- `400` — File is missing or empty.
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — Attachments feature is not available for this user or team.
- `429` — Too Many Requests

---

[API](https://skmtc.net/reply/apis/reply-api.md) · [All operations](https://skmtc.net/reply/apis/reply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reply/reply-api/revisions/1c3d32eaf95e/schema)
