Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
118 lines (86 sloc) 4.56 KB
author ms.author ms.date title localization_priority ms.prod description doc_type
JeremyKelley
JeremyKelley
09/10/2017
Copy a file or folder
Normal
sharepoint
Asynchronously creates a copy of an driveItem (including any children), under a new parent item or with a new name.
apiPageType

Copy a DriveItem

Asynchronously creates a copy of an driveItem (including any children), under a new parent item or with a new name.

Permissions

One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Delegated (personal Microsoft account) Files.ReadWrite, Files.ReadWrite.All
Application Files.ReadWrite.All, Sites.ReadWrite.All

HTTP request

POST /drives/{driveId}/items/{itemId}/copy
POST /groups/{groupId}/drive/items/{itemId}/copy
POST /me/drive/items/{item-id}/copy
POST /sites/{siteId}/drive/items/{itemId}/copy
POST /users/{userId}/drive/items/{itemId}/copy

Request body

In the request body, provide a JSON object with the following parameters.

Name Value Description
parentReference ItemReference Optional. Reference to the parent item the copy will be created in.
name string Optional. The new name for the copy. If this isn't provided, the same name will be used as the original.

Note: The parentReference should include the driveId and id parameters for the target folder.

Example

This example copies a file identified by {item-id} into a folder identified with a driveId and id value. The new copy of the file will be named contoso plan (copy).txt.

HTTP

POST /me/drive/items/{item-id}/copy
Content-Type: application/json

{
  "parentReference": {
    "driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
    "id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
  },
  "name": "contoso plan (copy).txt"
}

C#

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

JavaScript

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

Objective-C

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

Java

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]


Response

Returns details about how to monitor the progress of the copy, upon accepting the request.

HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717

The value of the Location header provides a URL for a service that will return the current state of the copy operation. You can use this info to determine when the copy has finished.

Remarks

In many cases the copy action is performed asynchronously. The response from the API will only indicate that the copy operation was accepted or rejected, say due to the destination filename already being in use.

You can’t perform that action at this time.