---
title: "POST /complete-upload"
method: POST
path: "/complete-upload"
tags: ["slash-attachments"]
---

# POST /complete-upload

`POST /complete-upload`

## Request body

- UploadDto
  - `attachmentId` integer
  - `key` string
  - `uploadId` string
  - `parts` UploadedPartDto[]
    - `attachmentId` integer
    - `partNumber` integer
    - `partSize` integer
    - `etag` string

## Response `200`

OK

## Changes

- **2026-08-11** `268f5dba30c9` — 2 warning, 1 info
  - removed the request property `parts/items/ETag`
  - removed the request property `parts/items/PartNumber`
  - added the new optional request property `parts/items/partNumber`
- **2026-08-08** `237f5bbd4029` — 1 breaking, 2 info
  - removed the media type `application/hal+json` for the response with the status `200`
  - added the new optional request property `parts/items/etag`
  - added the media type `application/vnd.hal+json` for the response with the status `200`

[Change history](https://skmtc.dev/astravue/apis/astravue-api/changes/complete-upload/post.md)

---

[API](https://skmtc.dev/astravue/apis/astravue-api.md) · [All operations](https://skmtc.dev/astravue/apis/astravue-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/astravue/astravue-api/revisions/290e97dda2ec/schema)
