---
title: "Upload a response attachment"
method: POST
path: "/v1/responses/attachments"
tags: ["responses"]
---

# Upload a response attachment

`POST /v1/responses/attachments`

Upload an attachment for use as response input.

The returned ID is referenced from `input_image` or `input_file` content
parts of a user message. An attachment becomes part of its conversation
when the referencing response is stored and is deleted with the
conversation; attachments never referenced by a stored response expire.

## Response `201`

The staged attachment, referenced from response input via its ID

- ResponseAttachment — An uploaded attachment; doubles as the metadata sidecar stored next to the bytes. `url` is a short-lived presigned download URL, populated when the object is returned by the API or handed to the model — never persisted in the sidecar.
  - `id` string, required
  - `object` 'response.attachment'
  - `filename` string, nullable
  - `mime_type` string, required
  - `size_bytes` integer, required
  - `created_at` integer, required
  - `url` string, nullable — Short-lived presigned URL for downloading the attachment

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mixedbread/apis/mxbai-omni.md) · [All operations](https://skmtc.net/mixedbread/apis/mxbai-omni/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixedbread/mxbai-omni/revisions/2eece97b5ae5/schema)
