Join BoxWorks 2024 to discover what's possible with content and AI!
Register now!Creates a copy of a file.
12345
The unique identifier that represents a file.
The ID for any file can be determined
by visiting a file in the web application
and copying the ID from the URL. For example,
for the URL https://*.app.box.com/files/123
the file_id
is 123
.
id,type,name
A comma-separated list of attributes to include in the response. This can be used to request fields that are not normally returned in a standard response.
Be aware that specifying this parameter will have the effect that none of the standard fields are returned in the response unless explicitly specified, instead only fields for the mini representation are returned, additional to the fields requested.
"FileCopy.txt"
255
An optional new name for the copied file.
There are some restrictions to the file name. Names containing
non-printable ASCII characters, forward and backward slashes
(/
, \
), and protected names like .
and ..
are
automatically sanitized by removing the non-allowed
characters.
The destination folder to copy the file to.
"0"
The ID of folder to copy the file to.
"0"
An optional ID of the specific file version to copy.
Returns a new file object representing the copied file.
Not all available fields are returned by default. Use the fields query parameter to explicitly request any specific fields.
Returns an empty response when the If-None-Match
header matches
the current etag
value of the file. This indicates that the file
has not changed since it was last requested.
Returns an error if some of the parameters are missing or not valid.
bad_request
when a parameter is missing.Returns an error when the user does not have the right permissions to create the copy a file.
forbidden_by_policy
: Returned if copying a file is
forbidden due to information barrier restrictions.Returns an error if either the source file or the destination folder could not be found, or the authenticated user does not have access to either.
not_found
when the authenticated user does not have access
to the source file or the destination folderoperation_blocked_temporary
: Returned if either of the destination
or source folders is locked due to another move, copy, delete or
restore operation in process.
The operation can be retried at a later point.
item_name_in_use
when a folder with the same name already
exists.
An unexpected client error.
curl -i -X POST "https://api.box.com/2.0/files/12345/copy" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"parent": {
"id": "123"
}
}'
await client.files.copyFile(fileOrigin.id, {
parent: { id: '0' } satisfies CopyFileRequestBodyParentField,
name: copiedFileName,
} satisfies CopyFileRequestBody);
client.files.copy_file(file_origin.id, CopyFileParent(id="0"), name=copied_file_name)
await client.Files.CopyFileAsync(fileId: fileOrigin.Id, requestBody: new CopyFileRequestBody(parent: new CopyFileRequestBodyParentField(id: "0")) { Name = copiedFileName });
try await client.files.copyFile(fileId: fileOrigin.id, requestBody: CopyFileRequestBody(parent: CopyFileRequestBodyParentField(id: "0"), name: copiedFileName))
// Copy a file into the user's root folder
BoxFolder rootFolder = BoxFolder.getRootFolder(api);
BoxFile file = new BoxFile(api, "id");
BoxFile.Info copiedFileInfo = file.copy(rootFolder, "New Name");
file_id = '11111'
destination_folder_id = '44444'
file_to_copy = client.file(file_id)
destination_folder = client.folder(destination_folder_id)
file_copy = file_to_copy.copy(parent_folder=destination_folder)
print(f'File "{file_copy.name}" has been copied into folder "{file_copy.parent.name}"')
string fileId = "11111";
string destinationFolderId = "22222";
var requestParams = new BoxFileRequest()
{
Id = fileId,
Parent = new BoxRequestEntity()
{
Id = destinationFolderId
}
};
BoxFile fileCopy = await client.FilesManager.CopyAsync(requestParams);
var fileID = '11111';
var destinationFolderID = '22222';
client.files.copy(fileID, destinationFolderID)
.then(fileCopy => {
/* fileCopy -> {
type: 'file',
id: '11112',
file_version:
{ type: 'file_version',
id: '99999',
sha1: '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33' },
sequence_id: '0',
etag: '0',
sha1: '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33',
name: 'My File.pdf',
description: '',
size: 68431,
path_collection:
{ total_count: 1,
entries:
[ { type: 'folder',
id: '0',
sequence_id: null,
etag: null,
name: 'All Files' },
{ type: 'folder',
id: '22222',
sequence_id: null,
etag: null,
name: 'Personal Files' } ] },
created_at: '2017-05-16T15:18:02-07:00',
modified_at: '2017-05-16T15:18:02-07:00',
trashed_at: null,
purged_at: null,
content_created_at: '2017-05-16T15:18:02-07:00',
content_modified_at: '2017-05-16T15:18:02-07:00',
created_by:
{ type: 'user',
id: '33333',
name: 'Test User',
login: 'test@example.com' },
modified_by:
{ type: 'user',
id: '33333',
name: 'Test User',
login: 'test@example.com' },
owned_by:
{ type: 'user',
id: '33333',
name: 'Test User',
login: 'test@example.com' },
shared_link: null,
parent:
{ type: 'folder',
id: '22222',
sequence_id: null,
etag: null,
name: 'Personal Files' }
item_status: 'active' }
*/
});
client.files.copy(fileId: "11111", parentId: "0") { (result: Result<File, BoxSDKError>) in
guard case let .success(copiedFile) = result else {
print("Error copying file")
return
}
print("Copied file \(copiedFile.name) into folder \(copiedFile.parent.name); copy has file ID \(copiedFile.id)")
}
{
"id": "12345",
"type": "file",
"allowed_invitee_roles": [
"editor"
],
"classification": {
"color": "#FF0000",
"definition": "Content that should not be shared outside the company.",
"name": "Top Secret"
},
"comment_count": 10,
"content_created_at": "2012-12-12T10:53:43-08:00",
"content_modified_at": "2012-12-12T10:53:43-08:00",
"created_at": "2012-12-12T10:53:43-08:00",
"created_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"description": "Contract for Q1 renewal",
"disposition_at": "2012-12-12T10:53:43-08:00",
"etag": "1",
"expires_at": "2012-12-12T10:53:43-08:00",
"expiring_embed_link": {
"access_token": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ",
"expires_in": 3600,
"restricted_to": [
{
"scope": "item_download",
"object": {
"id": "12345",
"etag": "1",
"type": "folder",
"sequence_id": "3",
"name": "Contracts"
}
}
],
"token_type": "bearer",
"url": "https://cloud.app.box.com/preview/expiring_embed/..."
},
"extension": "pdf",
"file_version": {
"id": "12345",
"type": "file_version",
"sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
},
"has_collaborations": true,
"is_accessible_via_shared_link": true,
"is_associated_with_app_item": true,
"is_externally_owned": true,
"is_package": true,
"item_status": "active",
"lock": {
"id": "11446498",
"type": "lock",
"app_type": "office_wopiplus",
"created_at": "2012-12-12T10:53:43-08:00",
"created_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"expired_at": "2012-12-12T10:53:43-08:00",
"is_download_prevented": true
},
"metadata": {
"enterprise_27335": {
"marketingCollateral": {
"$canEdit": true,
"$id": "01234500-12f1-1234-aa12-b1d234cb567e",
"$parent": "folder_59449484661",
"$scope": "enterprise_27335",
"$template": "marketingCollateral",
"$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
"$typeVersion": 2,
"$version": 1
}
}
},
"modified_at": "2012-12-12T10:53:43-08:00",
"modified_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"name": "Contract.pdf",
"owned_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"parent": {
"id": "12345",
"type": "folder",
"etag": "1",
"name": "Contracts",
"sequence_id": "3"
},
"path_collection": {
"entries": [
{
"id": "12345",
"etag": "1",
"type": "folder",
"sequence_id": "3",
"name": "Contracts"
}
],
"total_count": 1
},
"permissions": {
"can_annotate": true,
"can_comment": true,
"can_delete": true,
"can_download": true,
"can_invite_collaborator": true,
"can_preview": true,
"can_rename": true,
"can_set_share_access": true,
"can_share": true,
"can_upload": true,
"can_view_annotations_all": true,
"can_view_annotations_self": true
},
"purged_at": "2012-12-12T10:53:43-08:00",
"representations": {
"entries": [
{
"content": {
"url_template": "https://dl.boxcloud.com/api/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048/content/{+asset_path}?watermark_content=4567"
},
"info": {
"url": "https://api.box.com/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048"
},
"properties": {
"dimensions": "2048x2048",
"paged": true,
"thumb": true
},
"representation": "png",
"status": {
"state": "success"
}
}
]
},
"sequence_id": "3",
"sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
"shared_link": {
"access": "open",
"download_count": 3,
"download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
"effective_access": "company",
"effective_permission": "can_download",
"is_password_enabled": true,
"permissions": {
"can_download": true,
"can_edit": false,
"can_preview": true
},
"preview_count": 3,
"unshared_at": "2018-04-13T13:53:23-07:00",
"url": "https://www.box.com/s/vspke7y05sb214wjokpk",
"vanity_name": "my_url",
"vanity_url": "https://acme.app.box.com/v/my_url/"
},
"shared_link_permission_options": [
"can_preview"
],
"size": 629644,
"tags": [
"approved"
],
"trashed_at": "2012-12-12T10:53:43-08:00",
"uploader_display_name": "Ellis Wiggins",
"version_number": "1",
"watermark_info": {
"is_watermarked": true
}
}