---
title: "Multipart Presign Parts"
method: POST
path: "/api/storage/multipart/presign-parts"
tags: ["storage"]
---

# Multipart Presign Parts

`POST /api/storage/multipart/presign-parts`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/storage/multipart/presign-parts`
- Auth: HTTP bearer

Mint presigned PUT URLs for the requested part numbers. Safe to
call multiple times — clients may request all parts up front or as
their concurrency queue drains. URLs expire after 1 hour (enough for
any reasonably-sized file on a household uplink).

## Request body

- MultipartPresignPartsRequest
  - `file_id` string, uuid, required
  - `upload_id` string, required
  - `s3_key` string, required
  - `part_numbers` integer[], required

## Response `200`

Successful Response

- MultipartPresignPartsResponse
  - `urls` PresignedPart[], required
    - `part_number` integer, required
    - `url` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tintin-x/apis/tintin-api.md) · [All operations](https://skmtc.dev/tintin-x/apis/tintin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tintin-x/apis/tintin-api/revisions/8839a8d0a66c?raw)
