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

# Chat Multipart Presign Parts

`POST /api/chat/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/chat/multipart/presign-parts`
- Auth: HTTP bearer

Mint presigned UploadPart URLs for the requested part numbers.

The `file_id` field on `MultipartPresignPartsRequest` is unused on the
chat path (chat has no pre-upload DB row); the s3_key's user-id prefix
is what scopes access — any attempt to presign a key outside the
caller's chat namespace 403s.

## 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)
