Manage Applications

    Restore file

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

    Restores an file that has been moved to the trash.

    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
    Restored.docx

    An optional new name for the file.

    Parentin body

    The optional parent folder that the item will be restored to.

    Use this if the original parent folder no longer exists, or the user no longer has access to the original parent folder.

    stringin bodyoptional
    123

    The ID of parent item

    Response

    application/jsonFile

    Returns a file object when the file has been restored.

    application/jsonClient Error

    Returns an error if the user does not have access to the folder the file is being restored to, or the user does not have permission to restore files from the trash.

    application/jsonClient Error

    Returns an error if the file is not in the trash.

    application/jsonClient Error

    Returns an error if there is an file with the same name in the folder the file is being restored to.

    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 \
         -H "Authorization: Bearer <ACCESS_TOKEN>" \
         -H "Content-Type: application/json"
    .NET
    var requestParams = new BoxFileRequest()
    {
        Name = "Name in case of conflict",
        Parent = new BoxRequestEntity()
        {
            // File will be placed in this folder if original location no longer exists
            Id = "12345" 
        }
    };
    BoxFile restoredFile = await client.FilesManager.RestoreTrashedAsync(requestParams);
    Java
    String fileID = "125367";
    String newName = "Presentation 2018 ORIGINAL.pptx";
    String newParentID = "98765";
    
    BoxTrash trash = new BoxTrash(api);
    // Avoid conflicts at the original location
    trash.restoreFile(fileID, newName, newParentID);
    Python
    file_to_restore = client.file(file_id='11111')
    restored_file = client.trash().restore_item(file_to_restore)
    print('File ID is {0} and name is {1}'.format(restored_file.id, restored_file.name))
    Node
    client.files.restoreFromTrash(
    	'11111',
    	{
    		// New name in case of conflict
    		name: 'New Name',
    		// File will be placed in this folder if original location no longer exists
    		parent_id: '0'
    	})
    	.then(restoredFile => {
    		/* trashedFile -> {
    			type: 'file',
    			id: '11111',
    			sequence_id: '2',
    			etag: '2',
    			sha1: '4bd9e98652799fc57cf9423e13629c151152ce6c',
    			name: 'Screenshot_1_30_13_6_37_PM.png',
    			description: '',
    			size: 163265,
    			path_collection: 
    			{ total_count: 1,
    				entries: 
    				[ { type: 'folder',
    					id: '0',
    					sequence_id: null,
    					etag: null,
    					name: 'All Files' } ] },
    			created_at: '2013-01-30T18:43:56-08:00',
    			modified_at: '2013-01-30T18:44:00-08:00',
    			trashed_at: null,
    			purged_at: null,
    			content_created_at: '2013-01-30T18:43:56-08:00',
    			content_modified_at: '2013-01-30T18:44:00-08:00',
    			created_by: 
    			{ type: 'user',
    				id: '33333',
    				name: 'Example User',
    				login: 'user@example.com' },
    			modified_by: 
    			{ type: 'user',
    				id: '33333',
    				name: 'Example User',
    				login: 'user@example.com' },
    			owned_by: 
    			{ type: 'user',
    				id: '33333',
    				name: 'Example User',
    				login: 'user@example.com' },
    			shared_link: null,
    			parent: 
    			{ type: 'folder',
    				id: '0',
    				sequence_id: null,
    				etag: null,
    				name: 'All 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"
            }
          }
        ]
      }
    }