Copy File

post

/documents/api/1.2/files/{fileId}/copy

Copy a specified file to a specified destination folder.

Request

Supported Media Types
Path Parameters
Header Parameters
  • Applink access token authorizing the current user to access the parent folder or this file. This parameter is mandatory if appLinkID is used. It can be used as accessToken or AccessToken.

  • Applink ID authorizing the current user to access the parent folder or this file. Any time the parameter appLinkID is used, a parameter accessToken must be provided as well. To work, this applink must have at least the contributor role granted. It can be used as appLinkID or AppLinkID.

  • Access code needed to use protected public links. It needs to be sent as part of a Cookie header in the following format: dAccessCode-<linkID>=<passcodeValue>

  • Public link ID of a public link authorizing the current user to access this file. To work, this public link must have the contributor role granted. It can be used as linkID or LinkID.

Body ()
The request body defines the details of the copy file request. Bold indicates a required value.
Root Schema : FileCopyBody
Type: object

The request body defines the details of the copy file request. Bold indicates a required value.

Show Source
Example Request (application/json)
{
    "destinationID":"FF4729683CD68C1AFB1AE87DT0000000000100000001",
    "version":1
}
Back to Top

Response

Supported Media Types

200 Response

The request was fulfilled.

Body ()
Root Schema : FileCopyResponse
Type: object
The response body includes information about the copied file.
Show Source
Example Response (application/json)
{
    "destinationID":"FF4729683CD68C1AFB1AE87DT0000000000100000001",
    "id":"D4018B1EF3AC07D0A349DB8DT0000000000100000001",
    "idList":"D574378400573ED9D62B3195T0000000000100000001",
    "type":"file",
    "errorCode":"0"
}

400 Response

Request parameters are not formatted correctly.

403 Response

Forbidden if the user does not have read permission for the copied file, or write permission for the destination folder.

404 Response

File ID is not found.

Back to Top

Examples

The following example creates a copy of the specified file in the specified destination folder.

POST .../files/D4018B1EF3AC07D0A349DB8DT0000000000100000001/copy

Request Header

None.

Request Body

{
    "destinationID": "FF4729683CD68C1AFB1AE87DT0000000000100000001",
    "version": "1"
}

HTTP Status Code

HTTP_STATUS = 200

JSON Response

{
    "destinationID": "FF4729683CD68C1AFB1AE87DT0000000000100000001",
    "errorCode": "0",
    "id": "D4018B1EF3AC07D0A349DB8DT0000000000100000001",
    "idList": "D574378400573ED9D62B3195T0000000000100000001",
    "type": "file"
}

Example 2

The following example creates a copy of the specified file (version 2) in the specified destination folder. The example uses a public link ID because this file is under a folder structure not owned by or shared with the current user.

POST .../files/D4018B1EF3AC07D0A349DB8DT0000000000100000001/copy

Request Header

LinkID: LF8D36FAFAB4388BECEAC4AEB5D17B95F47087F4E518

Request Body

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "version": "2"
}

HTTP Status Code

HTTP_STATUS = 200

JSON Response

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "errorCode": "0",
    "id": "D1353DACE877B8B475C0BF61B5D17B95F47087F4E518",
    "idList": "D4018B1EF3AC07D0A349DB8DT0000000000100000001",
    "type": "file"
}

Example 3

The following example creates a copy of the specified file (version 2) in the specified destination folder. The example uses a public link ID protected by an access code because this file is under a folder structure not owned by or shared with the current user. An access code (test12345) is submitted as part of a Cookie in the request header.

POST .../files/D4018B1EF3AC07D0A349DB8DT0000000000100000001/copy

Request Header

LinkID: LF8D36FAFAB4388BECEAC4AEB5D17B95F47087F4E518
Cookie: dAccessCode-LF8D36FAFAB4388BECEAC4AEB5D17B95F47087F4E518=test12345

Request Body

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "version": "2"
}

HTTP Status Code

HTTP_STATUS = 200

JSON Response

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "errorCode": "0",
    "id": "D1353DACE877B8B475C0BF61B5D17B95F47087F4E518",
    "idList": "D4018B1EF3AC07D0A349DB8DT0000000000100000001",
    "type": "file"
}

Example 4

The following example requests a copy of the specified file (version 2) in the specified destination folder. Because this file is under a folder structure not owned by or shared with the current user, an access denied error message is returned.

POST .../files/D4018B1EF3AC07D0A349DB8DT0000000000100000001/copy

Request Header

None.

Request Body

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "version": "2"
}

HTTP Status Code

HTTP_STATUS = 403

JSON Response

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "errorCode": "-20",
    "errorKey": "!csFldUnableToCopyItems!csCloudItemInsufficientPrivileges,User BB,fFileGUID:D4018B1EF3AC07D0A349DB8DT0000000000100000001,FLD_COPY",
    "errorMessage": "Unable to copy items. User 'User BB' has insufficient privilege to access fFileGUID:D4018B1EF3AC07D0A349DB8DT0000000000100000001 with service FLD_COPY.",
    "errorType": "file",
    "idList": "DBFC40982617C949CA373B08B5D17B95F47087F4E518",
    "title": "Unable to copy items. User 'User BB' has insufficient privilege to access fFileGUID:D4018B1EF3AC07D0A349DB8DT0000000000100000001 with service FLD_COPY.",
    "type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
    "version": "2"
}

Example 5

The following example requests a copy of the specified file (version 2) in the specified destination folder. This file is under a folder structure not owned by or shared with the current user, and only a public link protected by an access code is available. An error is returned because the access code was not submitted as part of the request.

POST .../files/D4018B1EF3AC07D0A349DB8DT0000000000100000001/copy

Request Header

LinkID: LF8D36FAFAB4388BECEAC4AEB5D17B95F47087F4E518

Request Body

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "version": "2"
}

HTTP Status Code

HTTP_STATUS = 403

JSON Response

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "errorCode": "-18",
    "errorKey": "!csFldUnableToCopyItems!csAccessCodeRequiredForLinkAccess",
    "errorMessage": "Unable to copy items. The access code must be provided to access the link.",
    "errorType": "file",
    "idList": "DBFC40982617C949CA373B08B5D17B95F47087F4E518",
    "title": "Unable to copy items. The access code must be provided to access the link.",
    "type": "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
    "version": "2"
}

Example 6

The following example creates a copy of the specified file (version 2) in the specified destination folder. The example uses an applink ID because this file is under a folder structure not owned by or shared with the current user. The applink ID and access token are submitted in the request header.

POST .../files/DED694950C14AFF280419F9AB5D17B95F47087F4E518/copy

Request Header

appLinkID: LF5Bxj4TPo_p4n4qWn0tbKTicR2cTUJKv7X_ng9E7ry93rRuDokPqS1d6-wKwhb_wtcGYFDsI_cNMxeKQ-HR-FXQhiVoGRTYM_MPZY8qpICfYU94mmnMjM_cvsRhKMzc0NJgvwEJfqqDwPsAVrhc8cmg==
accessToken: 352FpiMmW66PeYI1Gh5b83I9CXRwZhLfYAu4TXdqpzD8uNKUBMZVVJ3ZvivUW8kQ

Request Body

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "version": "2"
}

HTTP Status Code

HTTP_STATUS = 200

JSON Response

{
    "destinationID": "FBB72C3E28BBD1A7BCB264E1B5D17B95F47087F4E518",
    "errorCode": "0",
    "id": "DABECC242E4FDCFB90C80FFBB5D17B95F47087F4E518",
    "idList": "DED694950C14AFF280419F9AB5D17B95F47087F4E518",
    "type": "file"
}
Back to Top