---
title: "Upload one attachment for use in a future reply."
method: POST
path: "/v1/outbox-attachments"
tags: ["Attachments"]
---

# Upload one attachment for use in a future reply.

`POST /v1/outbox-attachments`

## Request

- Base URL: `https://api.inboxy.net`
- URL: `https://api.inboxy.net/v1/outbox-attachments`
- Auth: HTTP bearer

Body is the raw file bytes. Returns an `id` to pass in `ReplyRequest.attachment_ids`. Caps: 20 MB per file; per-user limits on unsent uploads. Use `X-Filename` to set the filename the recipient sees.

## Headers

- `X-Filename` string

## Response `200`

Upload accepted.

- OutboxAttachmentUploadResult
  - `id` string, uuid, required
  - `size_bytes` integer, required
  - `content_type` string, required
  - `filename` string, nullable
  - `expires_at` integer, required: Unix seconds after which the upload may be purged if unsent.

## Other responses

- `400`: Empty body or missing Content-Type.
- `413`: Attachment exceeds the 20 MB cap.
- `429`: Per-user unsent-uploads cap reached.

---

[API](https://skmtc.dev/inboxy/apis/inboxy-api.md) · [All operations](https://skmtc.dev/inboxy/apis/inboxy-api/llms.txt) · [OpenAPI document](https://skmtc.dev/inboxy/apis/inboxy-api/revisions/25155a8dec0f?raw)
