Box API client for Node.JS

Usage no npm install needed!

<script type="module">
  import nodejsBox from '';


Box API Node.JS Client


npm install nodejs-box


First, you need to go through the OAuth2 process with, so that you can receive an access token. I recommend the box-passport module to help with this.

var Box = require('nodejs-box');

var box = new Box({
  access_token: 'YOUR_ACCESS_TOKEN_GOES_HERE',

Example Usage

Working with files

Once you've creted a Box instance (see above section) you can act on file resources by calling functions on box.files.

Uploading a file

There are two ways to upload a file:

  • If the file has a custom filename

box.files.upload(filepath, filename, folderId, callback);

  • If the file does not have a custom filename

box.files.upload(filepath, folderId, callback);

Create and view information about a file

Get information about a file:, fields, callback);

Create metadata for a file:

box.files.createMetadata(fileId, metadata, callback);

Get all metadata for a file

box.files.getAllMetadata(fileId, callback);

Get specific metadata for a file. The path parameter is a combination of the scope and template attributes on the api, so will look like enterprise/marketingCollateral. For more detail, see the api docs

box.files.getMetadata(fileId, path, callback);

Download links

There are two ways to get a download link for a file:

  • Retrieve a download link for the given file without a shared item:, callback);

  • Retrieve a download link for the given file from a shared item:, shareLink, callback);

Creating a shared link

Create a shared link:

box.files.createSharedLink(file, sharedLinkSettings, callback);