---
title: "Upload File"
method: POST
path: "/v1/files"
---

# Upload File

`POST /v1/files`

Upload a file to your storage.

## Headers

- `X-Data-Retention` boolean

## Response `200`

Successful Response

- FileMetaResponse — Metadata info for this file.
  - `file_id` string, uuid, required
  - `status` string, required
  - `original_name` string, nullable, required
  - `size_bytes` integer, nullable, required
  - `uploaded_by` string, nullable
  - `created_at` string, date-time, required

## Changes

- **2026-04-30** `345ddd9a88d1` — 1 info
  - added the new optional `header` request parameter `X-Data-Retention`
- **2026-01-22** `e0bd85a122ab` — 1 breaking
  - removed the required property `content_type` from the response with the `200` status
- **2026-01-21** `9caec45089fb` — 1 breaking, 5 info
  - removed the required property `category` from the response with the `200` status
  - api operation id `upload_file_v1_files_post` removed and replaced with `uploadFile`
  - the endpoint scheme security `OAuth2PasswordBearer` was removed from the API
  - removed the non-success response with the status `422`
  - …2 more
- **2025-10-07** `62c455aac36a` — 1 breaking, 2 warning, 2 info
  - the response property `uploaded_by` became optional for the status `200`
  - added the new `ready` enum value to the `status` response property for the response status `200`
  - added the new `uploading` enum value to the `status` response property for the response status `200`
  - the endpoint scheme security `OAuth2PasswordBearer` was added to the API
  - …1 more
- **2025-10-06** `8814c306e6ef` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/spi-tch/apis/spitch-api/changes/v1/files/post.md)

---

[API](https://skmtc.dev/spi-tch/apis/spitch-api.md) · [All operations](https://skmtc.dev/spi-tch/apis/spitch-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/spi-tch/spitch-api/revisions/345ddd9a88d1/schema)
