Skip to main content
Box logo

Box

Overview

Integrating Box with Superblocks seamlessly merges robust file storage and collaboration capabilities. Connect with Box's API to craft tailored workflows, automate file management tasks, synchronize data across applications, and elevate your team's productivity seamlessly.

Setting up Box

Create an access token

To begin using Box's API, follow these steps:

  1. Log in to your Box account
  2. Navigate to the Developer console and click Create New App
  3. Choose Custom App then provide a name and any other configuration information
  4. Click Next, followed by User Authentication (OAuth 2.0) and Create App
  5. On the Configuration tab scroll to OAuth2.0 Redirect URI and paste Superblock's callback URL
  6. Add application scopes
  7. Copy the Client ID, Client Secret, and scopes into your integration's configuration
  8. To generate a shared token, click Connect to Box or uncheck the shared token option so Application users will be prompted to log in

Learn more about Box API authentication

Add integration

Once you have an access token, you're ready to set up your Superblocks integration.

  1. In the web app, navigate to the Integrations page
  2. Click on the Box tile
  3. Name the integration
  4. Paste your credentials into the relevant fields
  5. Optionally, add more configurations to set credentials for different environments
  6. Click Create
tip

Box connected Now you can use Box in any Application, Workflow, or Scheduled Job.

Use Box in APIs

Once your Box integration is created, you can start calling Box actions in Superblocks APIs.

Box actions are REST requests. To learn more about REST requests in Superblocks, see the Building REST requests guide.

Supported actions

Get file information

Retrieves the details about a file.

Restore file

Restores a file that has been moved to the trash. An optional new parent ID can be provided to restore the file to in case the original folder has been deleted.

Update file

Updates a file. This can be used to rename or move a file, create a shared link, or lock a file.

Delete file

Deletes a file, either permanently or by moving it to the trash. The the enterprise settings determine whether the item will be permanently deleted from Box or moved to the trash.

Download file

Returns the contents of a file in binary format.

Upload file version

Update a file's content. For file sizes over 50MB we recommend using the Chunk Upload APIs. # Request body order The `attributes` part of the body must come **before** the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code.

Upload file

Uploads a small file to Box. For file sizes over 50MB we recommend using the Chunk Upload APIs. # Request body order The `attributes` part of the body must come **before** the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code.

Create upload session

Creates an upload session for a new file.

Create upload session for existing file

Creates an upload session for an existing file.

Get upload session

Return information about an upload session.

Upload part of file

Updates a chunk of an upload session for a file.

Remove upload session

Abort an upload session and discard all data uploaded. This cannot be reversed.

List parts

Return a list of the chunks uploaded to the upload session so far.

Commit upload session

Close an upload session and create a file from the uploaded chunks.

Copy file

Creates a copy of a file.

Get file thumbnail

Retrieves a thumbnail, or smaller image representation, of a file. Sizes of `32x32`,`64x64`, `128x128`, and `256x256` can be returned in the `.png` format and sizes of `32x32`, `160x160`, and `320x320` can be returned in the `.jpg` format. Thumbnails can be generated for the image and video file formats listed [found on our community site][1]. [1]: https://community.box.com/t5/Migrating-and-Previewing-Content/File-Types-and-Fonts-Supported-in-Box-Content-Preview/ta-p/327

List file collaborations

Retrieves a list of pending and active collaborations for a file. This returns all the users that have access to the file or have been invited to the file.

List file comments

Retrieves a list of comments for a file.

List tasks on file

Retrieves a list of all the tasks for a file. This endpoint does not support pagination.

Get trashed file

Retrieves a file that has been moved to the trash. Please note that only if the file itself has been moved to the trash can it be retrieved with this API call. If instead one of its parent folders was moved to the trash, only that folder can be inspected using the [`GET /folders/:id/trash`](e://get_folders_id_trash) API. To list all items that have been moved to the trash, please use the [`GET /folders/trash/items`](e://get-folders-trash-items/) API.

Permanently remove file

Permanently deletes a file that is in the trash. This action cannot be undone.

List all file versions

Retrieve a list of the past versions for a file. Versions are only tracked by Box users with premium accounts. To fetch the ID of the current version of a file, use the `GET /file/:id` API.

Get file version

Retrieve a specific version of a file. Versions are only tracked for Box users with premium accounts.

Restore file version

Restores a specific version of a file after it was deleted. Don't use this endpoint to restore Box Notes, as it works with file formats such as PDF, DOC, PPTX or similar.

Remove file version

Move a file version to the trash. Versions are only tracked for Box users with premium accounts.

Promote file version

Promote a specific version of a file. If previous versions exist, this method can be used to promote one of the older versions to the top of the version history. This creates a new copy of the old version and puts it at the top of the versions history. The file will have the exact same contents as the older version, with the the same hash digest, `etag`, and name as the original. Other properties such as comments do not get updated to their former values. Don't use this endpoint to restore Box Notes, as it works with file formats such as PDF, DOC, PPTX or similar.

List metadata instances on file

Retrieves all metadata for a given file.

Get classification on file

Retrieves the classification metadata instance that has been applied to a file. This API can also be called by including the enterprise ID in the URL explicitly, for example `/files/:id//enterprise_12345/securityClassification-6VMVochwUWo`.

Add classification to file

Adds a classification to a file by specifying the label of the classification to add. This API can also be called by including the enterprise ID in the URL explicitly, for example `/files/:id//enterprise_12345/securityClassification-6VMVochwUWo`.

Update classification on file

Updates a classification on a file. The classification can only be updated if a classification has already been applied to the file before. When editing classifications, only values are defined for the enterprise will be accepted.

Remove classification from file

Removes any classifications from a file. This API can also be called by including the enterprise ID in the URL explicitly, for example `/files/:id//enterprise_12345/securityClassification-6VMVochwUWo`.

Get metadata instance on file

Retrieves the instance of a metadata template that has been applied to a file.

Create metadata instance on file

Applies an instance of a metadata template to a file. In most cases only values that are present in the metadata template will be accepted, except for the `global.properties` template which accepts any key-value pair.

Update metadata instance on file

Updates a piece of metadata on a file. The metadata instance can only be updated if the template has already been applied to the file before. When editing metadata, only values that match the metadata template schema will be accepted. The update is applied atomically. If any errors occur during the application of the operations, the metadata instance will not be changed.

Remove metadata instance from file

Deletes a piece of file metadata.

List Box Skill cards on file

List the Box Skills metadata cards that are attached to a file.

Create Box Skill cards on file

Applies one or more Box Skills metadata cards to a file.

Update Box Skill cards on file

Updates one or more Box Skills metadata cards to a file.

Remove Box Skill cards from file

Removes any Box Skills cards metadata from a file.

Get watermark on file

Retrieve the watermark for a file.

Apply watermark to file

Applies or update a watermark on a file.

Remove watermark from file

Removes the watermark from a file.

Get folder information

Retrieves details for a folder, including the first 100 entries in the folder. Passing `sort`, `direction`, `offset`, and `limit` parameters in query allows you to manage the list of returned [folder items](r://folder--full#param-item-collection). To fetch more items within the folder, use the [Get items in a folder](#get-folders-id-items) endpoint.

Restore folder

Restores a folder that has been moved to the trash. An optional new parent ID can be provided to restore the folder to in case the original folder has been deleted. # Folder locking During this operation, part of the file tree will be locked, mainly the source folder and all of its descendants, as well as the destination folder. For the duration of the operation, no other move, copy, delete, or restore operation can performed on any of the locked folders.

Update folder

Updates a folder. This can be also be used to move the folder, create shared links, update collaborations, and more.

Delete folder

Deletes a folder, either permanently or by moving it to the trash.

List items in folder

Retrieves a page of items in a folder. These items can be files, folders, and web links. To request more information about the folder itself, like its size, use the [Get a folder](#get-folders-id) endpoint instead.

Create folder

Creates a new empty folder within the specified parent folder.

Copy folder

Creates a copy of a folder within a destination folder. The original folder will not be changed.

List folder collaborations

Retrieves a list of pending and active collaborations for a folder. This returns all the users that have access to the folder or have been invited to the folder.

Get trashed folder

Retrieves a folder that has been moved to the trash. Please note that only if the folder itself has been moved to the trash can it be retrieved with this API call. If instead one of its parent folders was moved to the trash, only that folder can be inspected using the [`GET /folders/:id/trash`](e://get_folders_id_trash) API. To list all items that have been moved to the trash, please use the [`GET /folders/trash/items`](e://get-folders-trash-items/) API.

Permanently remove folder

Permanently deletes a folder that is in the trash. This action cannot be undone.

List metadata instances on folder

Retrieves all metadata for a given folder. This can not be used on the root folder with ID `0`.

Get classification on folder

Retrieves the classification metadata instance that has been applied to a folder. This API can also be called by including the enterprise ID in the URL explicitly, for example `/folders/:id//enterprise_12345/securityClassification-6VMVochwUWo`.

Add classification to folder

Adds a classification to a folder by specifying the label of the classification to add. This API can also be called by including the enterprise ID in the URL explicitly, for example `/folders/:id//enterprise_12345/securityClassification-6VMVochwUWo`.

Update classification on folder

Updates a classification on a folder. The classification can only be updated if a classification has already been applied to the folder before. When editing classifications, only values are defined for the enterprise will be accepted.

Remove classification from folder

Removes any classifications from a folder. This API can also be called by including the enterprise ID in the URL explicitly, for example `/folders/:id//enterprise_12345/securityClassification-6VMVochwUWo`.

Get metadata instance on folder

Retrieves the instance of a metadata template that has been applied to a folder. This can not be used on the root folder with ID `0`.

Create metadata instance on folder

Applies an instance of a metadata template to a folder. In most cases only values that are present in the metadata template will be accepted, except for the `global.properties` template which accepts any key-value pair. To display the metadata template in the Box web app the enterprise needs to be configured to enable **Cascading Folder Level Metadata** for the user in the admin console.

Update metadata instance on folder

Updates a piece of metadata on a folder. The metadata instance can only be updated if the template has already been applied to the folder before. When editing metadata, only values that match the metadata template schema will be accepted. The update is applied atomically. If any errors occur during the application of the operations, the metadata instance will not be changed.

Remove metadata instance from folder

Deletes a piece of folder metadata.

List trashed items

Retrieves the files and folders that have been moved to the trash. Any attribute in the full files or folders objects can be passed in with the `fields` parameter to retrieve those specific attributes that are not returned by default. This endpoint defaults to use offset-based pagination, yet also supports marker-based pagination using the `marker` parameter.

Get watermark for folder

Retrieve the watermark for a folder.

Apply watermark to folder

Applies or update a watermark on a folder.

Remove watermark from folder

Removes the watermark from a folder.

Get comment

Retrieves the message and metadata for a specific comment, as well as information on the user who created the comment.

Update comment

Update the message of a comment.

Remove comment

Permanently deletes a comment.

Create comment

Adds a comment by the user to a specific file, or as a reply to an other comment.

Get collaboration

Retrieves a single collaboration.

Update collaboration

Updates a collaboration. Can be used to change the owner of an item, or to accept collaboration invites.

Remove collaboration

Deletes a single collaboration.

List pending collaborations

Retrieves all pending collaboration invites for this user.

Create collaboration

Adds a collaboration for a single user or a single group to a file or folder. Collaborations can be created using email address, user IDs, or a group IDs. If a collaboration is being created with a group, access to this endpoint is dependent on the group's ability to be invited. If collaboration is in `pending` status, the following fields are redacted: - `login` and `name` are hidden if a collaboration was created using `user_id`, - `name` is hidden if a collaboration was created using `login`.

Search for content

Searches for files, folders, web links, and shared files across the users content or across the entire enterprise.

Create task

Creates a single task on a file. This task is not assigned to any user and will need to be assigned separately.

Get task

Retrieves information about a specific task.

Update task

Updates a task. This can be used to update a task's configuration, or to update its completion state.

Remove task

Removes a task from a file.

List task assignments

Lists all of the assignments for a given task.

Get shared link for file

Gets the information for a shared link on a file.

Add shared link to file

Adds a shared link to a file.

Update shared link on file

Updates a shared link on a file.

Remove shared link from file

Removes a shared link from a file.

Get shared link for folder

Gets the information for a shared link on a folder.

Add shared link to folder

Adds a shared link to a folder.

Update shared link on folder

Updates a shared link on a folder.

Remove shared link from folder

Removes a shared link from a folder.
and 73 more

Generic HTTP Request

Every SaaS integration in Superblocks comes with a built in Generic HTTP Request Action. This is a powerful action you can use to call Box API endpoints not in the Superblocks supported actions.

To use this action simply add the method, path, required query parameters, and body for the desired endpoint.

info

Learn more about REST requests in Superblocks in our Building REST requests guide.

Generic HTTP Requests use the authentication set up and base URL you've configured for your integration, making it an easy for your team to extend Superblocks Integrations to meet their needs.