---
title: "Register an uploaded attachment after R2 verification"
method: POST
path: "/api/preview/attachments/confirm"
tags: ["attachment"]
---

# Register an uploaded attachment after R2 verification

`POST /api/preview/attachments/confirm`

## Request body

- object
  - `capsuleId` string, required — UUID v4 string
  - `fileName` string, required — Original file name; persisted on the row for display.
  - `objectKey` string, required — Canonical R2 object key returned from the presign endpoint. Server verifies the prefix matches `<userId>/<capsuleId>/` before insert.

## Response `201`

Successful response

- object
  - `available` boolean
  - `capsule_id` string, nullable
  - `created_at` string
  - `deleted_at` string, nullable
  - `expires_at` string, nullable
  - `file_name` string
  - `id` string
  - `mime_type` string
  - `object_key` string
  - `size` integer
  - `unavailable_at` string, nullable
  - `unavailable_reason` string, nullable

---

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