---
title: "Presign Upload Parts"
method: POST
path: "/v2/uploads/parts"
tags: ["uploads"]
---

# Presign Upload Parts

`POST /v2/uploads/parts`

Re-presign selected parts of a multipart upload whose URLs expired.

## Query parameters

- `taskset_id` string, uuid, required — Taskset the upload is attached to

## Request body

- StagedUploadPartsRequest — Fresh URLs for parts of a multipart reservation whose originals expired. ``size_bytes`` re-declares the reservation's total so the server can recompute the deterministic part plan; completion still verifies the size stamped at create, so a mismatched redeclaration cannot publish anything.
  - `upload_id` string, uuid, required
  - `s3_upload_id` string, required
  - `size_bytes` integer, required
  - `part_numbers` integer[], required

## Response `200`

Successful Response

- StagedUploadPartsResponse
  - `parts` StagedUploadPartTarget[], required
    - `part_number` integer, required
    - `upload_url` string, required
    - `size_bytes` integer, required

## Other responses

- `400` — Invalid or malformed request
- `401` — Missing or invalid credentials
- `403` — Caller may not access this resource
- `404` — Referenced entity does not exist
- `409` — Resource already exists
- `422` — Validation Error

---

[API](https://skmtc.dev/hud/apis/hud-platform.md) · [All operations](https://skmtc.dev/hud/apis/hud-platform/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hud/hud-platform/revisions/58558fc733d9/schema)
