---
title: "Upload"
method: POST
path: "/upload"
---

# Upload

`POST /upload`

## Query parameters

- `extension` string, nullable

## Request body

- BodyUploadUploadPost
  - `file` string, binary, nullable

## Response `200`

Successful Response

- UploadResponse
  - `file_id` string, required
  - `presigned_url` string, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-03-29** `9dcbb133ea8d` — 2 breaking, 2 info
  - removed `subschema #1, subschema #2` from the `file` request property `anyOf` list (media type: multipart/form-data)
  - removed `subschema #1, subschema #2` from the `file` request property `anyOf` list (media type: application/json)
  - added `subschema #1` to the `file` request property `anyOf` list (media type: multipart/form-data)
  - added `subschema #1` to the `file` request property `anyOf` list (media type: application/json)

[Change history](https://skmtc.dev/reductoai/apis/reducto-api/changes/upload/post.md)

---

[API](https://skmtc.dev/reductoai/apis/reducto-api.md) · [All operations](https://skmtc.dev/reductoai/apis/reducto-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/reductoai/reducto-api/revisions/909015e871ed/schema)
