---
title: "Finalize attachment"
method: PATCH
path: "/seller/orders/{id}/shipments/{shipmentId}/attachments"
tags: ["seller-orders"]
---

# Finalize attachment

`PATCH /seller/orders/{id}/shipments/{shipmentId}/attachments`

Finalize a shipment attachment after direct upload.

This is step 2 of the shipment attachment workflow.

Validation pipeline:
- Validates that `imageId` matches the expected shipment attachment URN.
- Confirms shipment ownership and time-window eligibility.
- Ensures image upload is complete (not draft).
- Runs moderation and rejects unsuitable content.

Responses:
- `451` when moderation rejects the image.
- `400/403/404` for invalid ID, disabled uploads, or missing shipment.
- Returns saved attachment metadata on success.

## Path parameters

- `id` string, required — Order ID
- `shipmentId` string, required — Shipment ID

## Request body

- object — Image identifier to finalize upload
  - `id` string, required — Image identifier
  - `hidden` boolean — Hide attachment from the buyer

## Response `200`

Attachment saved

- ShipmentAttachment — Image attachment linked to a shipment
  - `id` string, required — Image identifier
  - `url` string, uri, required — Public URL for the attachment
  - `hidden` boolean, required — True when the attachment is hidden from the buyer

## Other responses

- `400` — Invalid image ID
- `403` — Attachments disabled
- `404` — Shipment not found
- `451` — Image rejected

---

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