Download file

get
https://api.box.com/2.0
/files/:file_id/content

Returns the contents of a file in binary format.

Request

Bearer [ACCESS_TOKEN]
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

stringin queryoptional
4

The file version to download

Request Headers

stringin header
optional
shared_link=[link]&shared_link_password=[password]

The URL, and optional password, for the shared link of this item.

This header can be used to access items that have not been explicitly shared with a user.

Use the format shared_link=[link] or if a password is required then use shared_link=[link]&shared_link_password=[password].

This header can be used on the file or folder shared, as well as on any files or folders nested within the item.

stringin header
optional
0-1024

The byte range of the content to download.

The format {start_byte}-{end_byte} can be used to specify what section of the file to download.

Response

none

If the file is not ready to be downloaded yet Retry-After header will be returned indicating the time in seconds after which the file will be available for the client to download.

This response can occur when the file was uploaded immediately before the download request.

none

If the file is available to be downloaded the response will include a Location header for the file on dl.boxcloud.com.

The dl.boxcloud.com URL is not persistent and clients will need to follow the redirect in order to actually download the file.

application/jsonClient error

An unexpected client error.

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

Request Example

cURL
curl -X GET https://api.box.com/2.0/files/12345/content \
     -H 'Authorization: Bearer <ACCESS_TOKEN>'
     -L
.NET
Stream fileContents = await client.FilesManager.DownloadStreamAsync(id: "11111");
Java
BoxFile file = new BoxFile(api, "id");
BoxFile.Info info = file.getInfo();

FileOutputStream stream = new FileOutputStream(info.getName());
file.download(stream);
stream.close();
Python
file_id = '11111'
file_content = client.file(file_id).content()
Node
var fs = require('fs');
client.files.getReadStream('12345', null, function(error, stream) {

	if (error) {
		// handle error
	}

	// write the file to disk
	var output = fs.createWriteStream('/path/to/file');
	stream.pipe(output);
});
iOS
let url = FileManager.default.homeDirectoryForCurrentUser

let task: BoxDownloadTask = client.files.download(fileId: "11111", destinationURL: url) { (result: Result<Void, BoxSDKError>) in
    guard case .success = result else {
        print("Error downloading file")
        return
    }

    print("File downloaded successfully")
}

// To cancel download
if someConditionIsSatisfied {
    task.cancel()
}