---
title: "Re-sign multipart upload parts"
method: POST
path: "/api/v1/upload/multipart/sign"
tags: ["upload"]
---

# Re-sign multipart upload parts

`POST /api/v1/upload/multipart/sign`

## Request

- Base URL: `https://api.bundle.social`
- URL: `https://api.bundle.social/api/v1/upload/multipart/sign`
- Auth: API key in header `x-api-key`

Issue fresh presigned URLs for parts whose original URLs expired mid-upload. Parts already uploaded keep their ETags — only re-upload the ones that failed.

## Request body

- object
  - `teamId` string, nullable
  - `partNumbers` integer[], required
  - `path` string, required
  - `uploadId` string, required

## Response `200`

200

- object
  - `parts` object[], required
    - `partNumber` integer, required
    - `url` string, uri, required

## Other responses

- `400`: 400
- `401`: 401
- `403`: 403
- `404`: 404
- `429`: 429
- `500`: 500
- `502`: 502
- `503`: 503
- `504`: 504

## Changes

- **2026-11-03** `fb6e4fbd8d2f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bundle/apis/bundle-social-api/changes/api/v1/upload/multipart/sign/post.md)

---

[API](https://skmtc.dev/bundle/apis/bundle-social-api.md) - [All operations](https://skmtc.dev/bundle/apis/bundle-social-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bundle/apis/bundle-social-api/revisions/18efa1cb93a4?raw)
