---
title: "Upload File"
method: POST
path: "/v1/volumes/{volume_id}/files"
tags: ["Volume Files"]
---

# Upload File

`POST /v1/volumes/{volume_id}/files`

## Request

- Base URL: `https://api.anchorbrowser.io`
- URL: `https://api.anchorbrowser.io/v1/volumes/{volume_id}/files`
- Auth: API key in header `anchor-api-key`

Upload a file into the volume in one multipart request. For files larger than 10 MB use `POST /v1/volumes/{volume_id}/files/upload-url` instead.

## Path parameters

- `volume_id` string, uuid, required

## Request body `multipart/form-data`

- object
  - `file` string, binary, required: The file to upload
  - `path` string: Destination path relative to the volume root, e.g. `downloads/report.pdf`. Defaults to the uploaded file's name at the root.
  - `overwrite` 'true' | 'false': Replace an existing file at `path`. Defaults to `false`.

## Response `200`

File uploaded

- VolumeFileInfoResponse
  - `data` VolumeFileInfoSchema
    - `path` string
    - `size` integer: Size in bytes
    - `etag` string, nullable
    - `content_type` string, nullable
    - `last_modified` string, date-time, nullable

## Other responses

- `400`: Missing file or invalid path
- `409`: A file already exists at `path` and `overwrite` is not set
- `413`: File too large for a multipart upload; use an upload URL

## Changes

- **2026-10-16** `b3bfdb98c79e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/anchorbrowser/apis/anchorbrowser-api/changes/v1/volumes/:volume_id/files/post.md)

---

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