---
title: "Presign Upload"
method: POST
path: "/api/uploads/presign"
---

# Presign Upload

`POST /api/uploads/presign`

## 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/uploads/presign`
- Auth: HTTP bearer

## Request body

- SrcNailArtRoutesUploadsPresignRequest
  - `job_id` string, uuid, required: Draft job_id from POST /api/jobs/draft
  - `filename` string, required
  - `content_type` string, required
  - `kind` string: hand | nail_set
  - `hand_idx` integer, nullable

## Response `200`

Successful Response

- PresignResponse
  - `key` string, required
  - `url` string, required
  - `expires_in_seconds` integer, 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)
