---
title: "Copy or Move Files or Folders"
method: POST
path: "/system/file-explorer/copy-or-move-batch"
tags: ["System"]
---

# Copy or Move Files or Folders

`POST /system/file-explorer/copy-or-move-batch`

Copy or move up to 512 regular files, folders, or symbolic links without overwriting existing entries; an existing destination directory receives the source basename

## Request body

- InternalHandlersSystemCopyOrMoveFilesOrFoldersRequest
  - `items` GithubComAlchemillahqSylveInternalInterfacesServicesSystemFileTransferItem[], required
    - `destination` string, required
    - `source` string, required
  - `move` boolean

## Response `200`

Files or folders copied or moved

- GithubComAlchemillahqSylveInternalAPIResponseAny
  - `data` unknown
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400` — Invalid path, operation, file type, or oversized item list
- `401` — Unauthorized
- `403` — Administrator access or filesystem permission required
- `404` — Source or destination parent not found
- `409` — Destination exists, batch paths conflict, or restore is in progress
- `413` — Request body too large
- `500` — Internal Server Error

## Changes

- **2026-08-12** `9a5026bf9057` — 5 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `404`
  - added the non-success response with the status `409`
  - …1 more
- **2025-08-14** `0e0247c98990` — 1 info
  - endpoint added
- **2025-03-11** `2b736ca1b025` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/alchemillahq/apis/sylve-api/changes/system/file-explorer/copy-or-move-batch/post.md)

---

[API](https://skmtc.dev/alchemillahq/apis/sylve-api.md) · [All operations](https://skmtc.dev/alchemillahq/apis/sylve-api/llms.txt) · [OpenAPI document](https://skmtc.dev/alchemillahq/apis/sylve-api/revisions/6d4b8bb77d9a?raw)
