Manage Applications

    Copy a file

    post
    https://api.box.com/2.0
    /files/:file_id/copy

    Creates a copy of a file.

    Request

    application/json

    Path Parameters

    stringin pathrequired
    12345

    The unique identifier that represent 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.

    Query Parameters

    string arrayin queryoptional
    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.

    Request Body

    stringin bodyoptional
    FileCopy.txt255

    An optional different name for the new file.

    Names can only contain basic, printable ASCII characters, without any slashes or trailing spaces.

    Both . and .. are protected names.

    objectin body

    The destination folder to copy the file to.

    stringin bodyrequired
    0

    The ID of folder to copy the file to.

    stringin bodyoptional
    0

    An optional ID of the specific file version you want to copy

    Response

    application/jsonFile

    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.

    application/jsonClient Error
    • operation_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.

    You can now try out some of our APIs live, right here in the documentation.
    Log In

    Request Example

    cURL
    curl -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"
           }
         }'
    .NET
    string fileId = "11111";
    string destinationFolderId = "22222";
    var requestParams = new BoxFileRequest()
    {
        Id = fileId,
        Parent = new BoxRequestEntity()
        {
            Id = destinationFolderId
        }
    };
    
    BoxFile fileCopy = await client.FilesManager.CopyAsync(requestParams);
    Java
    // 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");
    Python
    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(destination_folder)
    print('File "{0}" has been copied into folder "{1}"'.format(file_copy.name, file_copy.parent.name))
    Node
    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' }
    		*/
    	});

    Response Example

    {
      "id": 12345,
      "etag": 1,
      "type": "file",
      "sequence_id": 3,
      "name": "Contract.pdf",
      "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
      "description": "Contract for Q1 renewal",
      "size": 629644,
      "path_collection": {
        "total_count": 1,
        "entries": [
          {
            "id": 12345,
            "etag": 1,
            "type": "folder",
            "sequence_id": 3,
            "name": "Contracts"
          }
        ]
      },
      "created_at": "2012-12-12T10:53:43-08:00",
      "modified_at": "2012-12-12T10:53:43-08:00",
      "trashed_at": "2012-12-12T10:53:43-08:00",
      "purged_at": "2012-12-12T10:53:43-08:00",
      "content_created_at": "2012-12-12T10:53:43-08:00",
      "content_modified_at": "2012-12-12T10:53:43-08:00",
      "created_by": {
        "id": 11446498,
        "type": "user",
        "name": "Aaron Levie",
        "login": "ceo@example.com"
      },
      "modified_by": {
        "id": 11446498,
        "type": "user",
        "name": "Aaron Levie",
        "login": "ceo@example.com"
      },
      "owned_by": {
        "id": 11446498,
        "type": "user",
        "name": "Aaron Levie",
        "login": "ceo@example.com"
      },
      "shared_link": {
        "url": "https://www.box.com/s/vspke7y05sb214wjokpk",
        "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
        "vanity_url": "https://acme.app.box.com/v/my_url/",
        "access": "open",
        "effective_access": "company",
        "effective_permission": "can_download",
        "unshared_at": "2018-04-13T13:53:23-07:00",
        "is_password_enabled": true,
        "permissions": {
          "can_download": true,
          "can_preview": true
        },
        "download_count": 3,
        "preview_count": 3
      },
      "parent": {
        "id": 12345,
        "etag": 1,
        "type": "folder",
        "sequence_id": 3,
        "name": "Contracts"
      },
      "item_status": "active",
      "version_number": 1,
      "comment_count": 10,
      "permissions": {
        "can_delete": true,
        "can_download": true,
        "can_invite_collaborator": true,
        "can_rename": true,
        "can_set_share_access": true,
        "can_share": true,
        "can_annotate": true,
        "can_comment": true,
        "can_preview": true,
        "can_upload": true,
        "can_view_annotations_all": true,
        "can_view_annotations_self": true
      },
      "tags": [
        "approved"
      ],
      "lock": {
        "id": 11446498,
        "type": "lock",
        "created_by": {
          "id": 11446498,
          "type": "user",
          "name": "Aaron Levie",
          "login": "ceo@example.com"
        },
        "created_at": "2012-12-12T10:53:43-08:00",
        "expired_at": "2012-12-12T10:53:43-08:00",
        "is_download_prevented": true
      },
      "extension": "pdf",
      "is_package": true,
      "expiring_embed_link": {
        "access_token": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ",
        "expires_in": 3600,
        "token_type": "bearer",
        "restricted_to": [
          {
            "scope": "item_download",
            "object": {
              "id": 12345,
              "etag": 1,
              "type": "file",
              "sequence_id": 3,
              "name": "Contract.pdf"
            }
          }
        ],
        "url": "https://cloud.app.box.com/preview/expiring_embed/..."
      },
      "watermark_info": {
        "is_watermarked": true
      },
      "allowed_invitee_roles": [
        "open"
      ],
      "is_externally_owned": true,
      "has_collaborations": true,
      "metadata": {
        "global": {
          "marketingCollateral": {
            "$canEdit": true,
            "$id": "01234500-12f1-1234-aa12-b1d234cb567e",
            "$parent": "folder_59449484661",
            "$scope": "enterprise_27335",
            "$template": "blueprintTemplate",
            "$type": "blueprintTemplate-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
            "$typeVersion": 2,
            "$version": 1
          }
        }
      },
      "expires_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"
            }
          }
        ]
      }
    }