---
title: "Copy a single file"
method: POST
path: "/operations/copyfile"
---

# Copy a single file

`POST /operations/copyfile`

Copies one object from a source remote and path to a destination remote and path.

## Query parameters

- `srcFs` string
- `srcRemote` string
- `dstFs` string
- `dstRemote` string
- `_group` string
- `_async` boolean

## Headers

- `Prefer` 'respond-async'

## Request body

- OperationsCopyfileRequest
  - `srcFs` string — Source remote name or path, such as `drive:` or `/` for the local filesystem.
  - `srcRemote` string — Path to the source object within `srcFs`, for example `dir/file.txt`.
  - `dstFs` string — Destination remote name or path, such as `drive2:` or `/` for local filesystem.
  - `dstRemote` string — Target path within `dstFs` where the file should be written.
  - `_group` string — Assign the request to a custom stats group.
  - `_async` boolean — Run the command asynchronously. Returns a job id immediately.

## Response `200`

Request succeeded returning an empty JSON object.

- object

## Other responses

- `202` — Request accepted for async processing. Poll /job/status with the returned jobid.
- `4XX` — Any error response (HTTP 4xx/5xx)
- `5XX` — Any error response (HTTP 4xx/5xx)

## Changes

> 21 revisions in range; 18 could not be searched.

- **2025-12-06** `30e239e76ba1` — 10 breaking, 1 warning
  - removed the request body
  - the `query` request parameter `dstFs` became required
  - the `query` request parameter `dstRemote` became required
  - the `query` request parameter `srcFs` became required
  - …7 more

[Change history](https://skmtc.dev/rclone/apis/rclone-rc-api/changes/operations/copyfile/post.md)

---

[API](https://skmtc.dev/rclone/apis/rclone-rc-api.md) · [All operations](https://skmtc.dev/rclone/apis/rclone-rc-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rclone/rclone-rc-api/revisions/adc0c129da4f/schema)
