---
title: "Upload a part of an ongoing multipart upload"
method: PUT
path: "/worker/multipart/{key}"
tags: ["worker"]
---

# Upload a part of an ongoing multipart upload

`PUT /worker/multipart/{key}`

Upload a single part of an ongoing multipart upload. Parts can be uploaded in parallel and then combined afterwards.

## Path parameters

- `key` string, required

## Query parameters

- `bucket` string, required — The name of the bucket.
- `uploadid` string, required — A unique identifier for a multipart upload
- `partnumber` integer, required — The number of this part
- `minshards` integer — The number of data shards a piece of an object gets erasure-coded into
- `totalshards` integer — The number of total data shards a piece of an object gets erasure-coded into
- `encryptionoffset` integer

## Response `200`

Successfully uploaded part

## Other responses

- `400` — Malformed request
- `404` — Bucket or upload weren't found
- `503` — Consensus isn't synced

## Changes

- **2025-01-23** `c38282599c5a` — 5 breaking, 4 warning, 2 info
  - for the `query` request parameter `minshards`, default value `10` was added
  - for the `query` request parameter `totalshards`, default value `30` was added
  - added the pattern `^[0-9a-fA-F]{64}$` to the `query` request parameter `uploadid`
  - for the `query` request parameter `minshards`, the type/format was changed from `integer`/`uint32` to `integer`/`uint8`
  - …7 more
- **2024-12-18** `922f156353c9` — 3 breaking, 1 info
  - removed the media type `text/plain` for the response with the status `400`
  - removed the media type `text/plain` for the response with the status `404`
  - removed the media type `text/plain` for the response with the status `503`
  - api tag `worker` added
- **2024-12-09** `f062c35d8f47` — 5 breaking, 6 info
  - for the `query` request parameter `minshards`, default value `10` was removed
  - for the `query` request parameter `totalshards`, default value `30` was removed
  - for the `query` request parameter `minshards`, the type/format was changed from `integer`/`uint8` to `integer`/`uint32`
  - for the `query` request parameter `partnumber`, the type/format was changed from `integer`/`` to `integer`/`uint32`
  - …7 more

[Change history](https://skmtc.dev/siafoundation/apis/renterd-api/changes/worker/multipart/:key/put.md)

---

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