---
title: "Upload a file"
method: PUT
path: "/r/v0/files/upload"
tags: ["Files"]
---

# Upload a file

`PUT /r/v0/files/upload`

Uploads a file as `multipart/form-data`. The upload is validated and
accepted synchronously, then processed asynchronously.

Constraints:
- The request method must be `PUT`.
- `Content-Type` must be `multipart/form-data`.
- `Content-Length` is required (chunked transfer encoding is not
  supported).
- Maximum size is 125 MB.

## Response `202`

File received; processing will begin shortly.

- UploadAccepted
  - `status` string, required
  - `uploadId` string, required
  - `message` string, required

## Other responses

- `401` — Missing or invalid API key.
- `405` — Method not allowed (must use PUT).
- `411` — Content-Length header is required.
- `413` — File exceeds the size limit.
- `415` — Content-Type must be multipart/form-data.

---

[API](https://skmtc.net/plusai/apis/plusai-rest-api.md) · [All operations](https://skmtc.net/plusai/apis/plusai-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plusai/plusai-rest-api/revisions/edf00deb3363/schema)
