---
title: "Upload File"
method: POST
path: "/sdk/v1.0/files/upload"
tags: ["SDK"]
---

# Upload File

`POST /sdk/v1.0/files/upload`

## Request

- Base URL: `https://api.rebolt.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.rebolt.ai/sdk/v1.0/files/upload`
- Auth: none declared

Upload a file to project storage.

The metadata should be a JSON string containing:
- folder: Array of folder names for organizing files
- custom_metadata: Object with custom key-value pairs

## Query parameters

- `project_id` string, uuid, nullable: The unique identifier of the project

## Request body `multipart/form-data`

- BodyUploadFileSdkV10FilesUploadPost
  - `file` string, binary, required
  - `metadata` string, nullable: Metadata for the file

## Response `201`

Successful Response

- FileInfoResponse: Response model for file information.
  - `id` string, uuid, required: The unique identifier of the uploaded file
  - `name` string, required
  - `size` integer, required: File size in bytes
  - `content_type` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `path` string[], required: Folder path as array of tokens
  - `metadata` object

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-14** `6e68f3c2611b`: 1 breaking, 3 info
  - the `file` request property contentMediaType changed from `` to `application/octet-stream`
  - the `file` request property format was generalized from `binary` to no format
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Operation history](https://skmtc.dev/rebolt/apis/rebolt-api/changes/sdk/v1.0/files/upload/post.md)

---

[API](https://skmtc.dev/rebolt/apis/rebolt-api.md) - [All operations](https://skmtc.dev/rebolt/apis/rebolt-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rebolt/apis/rebolt-api/revisions/ece6d79b9efa?raw)
