# How to integrate Box MCP with Hermes

```json
{
  "title": "How to integrate Box MCP with Hermes",
  "toolkit": "Box",
  "toolkit_slug": "box",
  "framework": "Hermes",
  "framework_slug": "hermes-agent",
  "url": "https://composio.dev/toolkits/box/framework/hermes-agent",
  "markdown_url": "https://composio.dev/toolkits/box/framework/hermes-agent.md",
  "updated_at": "2026-05-06T08:03:45.160Z"
}
```

## Introduction

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.
This guide explains the easiest and most robust way to connect your Box account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

## Also integrate Box with

- [OpenAI Agents SDK](https://composio.dev/toolkits/box/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/box/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/box/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/box/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/box/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/box/framework/openclaw)
- [CLI](https://composio.dev/toolkits/box/framework/cli)
- [Google ADK](https://composio.dev/toolkits/box/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/box/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/box/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/box/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/box/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/box/framework/crew-ai)

## TL;DR

### What is Composio Connect?
Composio Connect is a consumer offering that lets anyone plug 1,000+ applications directly into their agent harness — including Hermes. It can:
- Search and load tools from relevant toolkits on-demand, reducing context usage.
- Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
- Manage app authentication end-to-end with zero manual overhead.

## Connect Box to Hermes

### Integrating Box with Hermes
### Using Composio Connect CLI
1. Install the Composio CLI
Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

```bash
curl -fsSL https://composio.dev/install | bash
```

## What is the Box MCP server, and what's possible with it?

The Box MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Box account. It provides structured and secure access to your files and folders, so your agent can perform actions like sharing files, managing classifications, applying watermarks, and controlling collaboration on your behalf.
- File sharing and collaboration: Instantly add or manage shared links for files, folders, or web links, making it easy to collaborate securely with others.
- Automated classification management: Let your agent add, initialize, or update file and folder classifications to enforce security or organizational policies.
- Watermarking and content protection: Apply or update watermarks on files to safeguard sensitive information and manage compliance.
- Group and user management: Have your agent add users to groups or update user avatars to streamline administrative tasks within your team.
- Domain and access control: Automatically update the list of allowed collaboration domains, ensuring only trusted domains can access your resources.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `BOX_ADD_CLASSIFICATION_TO_FILE` | 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`. |
| `BOX_ADD_CLASSIFICATION_TO_FOLDER` | 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`. |
| `BOX_ADD_DOMAIN_TO_LIST_OF_ALLOWED_COLLABORATION_DOMAINS` | Add domain to list of allowed collaboration domains | Creates a new entry in the list of allowed domains to allow collaboration for. |
| `BOX_ADD_INITIAL_CLASSIFICATIONS` | Add initial classifications | When an enterprise does not yet have any classifications, this api call initializes the classification template with an initial set of classifications. if an enterprise already has a classification, the template will already exist and instead an api call should be made to add additional classifications. |
| `BOX_ADD_OR_UPDATE_USER_AVATAR` | Add or update user avatar | Adds or updates a user avatar. |
| `BOX_ADD_SHARED_LINK_TO_FILE` | Add shared link to file | Adds a shared link to a file. |
| `BOX_ADD_SHARED_LINK_TO_FOLDER` | Add shared link to folder | Adds a shared link to a folder. |
| `BOX_ADD_SHARED_LINK_TO_WEB_LINK` | Add shared link to web link | Adds a shared link to a web link. |
| `BOX_ADD_USER_TO_GROUP` | Add user to group | Creates a group membership. only users with admin-level permissions will be able to use this api. |
| `BOX_APPLY_WATERMARK_TO_FILE` | Apply watermark to file | Applies or update a watermark on a file. |
| `BOX_APPLY_WATERMARK_TO_FOLDER` | Apply watermark to folder | Applies or update a watermark on a folder. |
| `BOX_ASK_QUESTION` | Ask question | Sends an ai request to supported llms and returns an answer specifically focused on the user's question given the provided context. |
| `BOX_ASSIGN_LEGAL_HOLD_POLICY` | Assign legal hold policy | Assign a legal hold to a file, file version, folder, or user. |
| `BOX_ASSIGN_RETENTION_POLICY` | Assign retention policy | Assigns a retention policy to an item. |
| `BOX_ASSIGN_STORAGE_POLICY` | Assign storage policy | Creates a storage policy assignment for an enterprise or user. |
| `BOX_ASSIGN_TASK` | Assign task | Assigns a task to a user. a task can be assigned to more than one user by creating multiple assignments. |
| `BOX_AUTHORIZE_USER` | Authorize user | Authorize a user by sending them through the [box](https://box.com) website and request their permission to act on their behalf. this is the first step when authenticating a user using oauth 2.0. to request a user's authorization to use the box apis on their behalf you will need to send a user to the url with this format. |
| `BOX_CANCEL_BOX_SIGN_REQUEST` | Cancel box sign request | Cancels a sign request. |
| `BOX_CHANGE_SHIELD_INFORMATION_BARRIER_STATUS` | Change shield information barrier status | Change status of shield information barrier with the specified id. |
| `BOX_COMMIT_UPLOAD_SESSION` | Commit upload session | Close an upload session and create a file from the uploaded chunks. the actual endpoint url is returned by the [`create upload session`](e://post-files-upload-sessions) and [`get upload session`](e://get-files-upload-sessions-id) endpoints. |
| `BOX_COPY_FILE` | Copy file | Creates a copy of a file. |
| `BOX_COPY_FILE_REQUEST` | Copy file request | Copies an existing file request that is already present on one folder, and applies it to another folder. |
| `BOX_COPY_FOLDER` | Copy folder | Creates a copy of a folder within a destination folder. the original folder will not be changed. |
| `BOX_CREATE_AI_AGENT` | Create ai agent | Creates an ai agent. at least one of the following capabilities must be provided: `ask`, `text gen`, `extract`. |
| `BOX_CREATE_BOX_SIGN_REQUEST` | Create box sign request | Creates a signature request. this involves preparing a document for signing and sending the signature request to signers. |
| `BOX_CREATE_BOX_SKILL_CARDS_ON_FILE` | Create box skill cards on file | Applies one or more box skills metadata cards to a file. |
| `BOX_CREATE_COLLABORATION` | 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`. |
| `BOX_CREATE_COMMENT` | Create comment | Adds a comment by the user to a specific file, or as a reply to an other comment. |
| `BOX_CREATE_EMAIL_ALIAS` | Create email alias | Adds a new email alias to a user account.. |
| `BOX_CREATE_FOLDER` | Create folder | Creates a new empty folder within the specified parent folder. |
| `BOX_CREATE_FOLDER_LOCK` | Create folder lock | Creates a folder lock on a folder, preventing it from being moved and/or deleted. you must be authenticated as the owner or co-owner of the folder to use this endpoint. |
| `BOX_CREATE_GROUP` | Create group | Creates a new group of users in an enterprise. only users with admin permissions can create new groups. |
| `BOX_CREATE_JOBS_TO_TERMINATE_USER_GROUP_SESSION` | Create jobs to terminate user group session | Validates the roles and permissions of the group, and creates asynchronous jobs to terminate the group's sessions. returns the status for the post request. |
| `BOX_CREATE_JOBS_TO_TERMINATE_USERS_SESSION` | Create jobs to terminate users session | Validates the roles and permissions of the user, and creates asynchronous jobs to terminate the user's sessions. returns the status for the post request. |
| `BOX_CREATE_LEGAL_HOLD_POLICY` | Create legal hold policy | Create a new legal hold policy. |
| `BOX_CREATE_METADATA_CASCADE_POLICY` | Create metadata cascade policy | Creates a new metadata cascade policy that applies a given metadata template to a given folder and automatically cascades it down to any files within that folder. in order for the policy to be applied a metadata instance must first be applied to the folder the policy is to be applied to. |
| `BOX_CREATE_METADATA_INSTANCE_ON_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. |
| `BOX_CREATE_METADATA_INSTANCE_ON_FOLDER` | 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. |
| `BOX_CREATE_METADATA_TEMPLATE` | Create metadata template | Creates a new metadata template that can be applied to files and folders. |
| `BOX_CREATE_RETENTION_POLICY` | Create retention policy | Creates a retention policy. |
| `BOX_CREATE_SHIELD_INFORMATION_BARRIER` | Create shield information barrier | Creates a shield information barrier to separate individuals/groups within the same firm and prevents confidential information passing between them. |
| `BOX_CREATE_SHIELD_INFORMATION_BARRIER_REPORT` | Create shield information barrier report | Creates a shield information barrier report for a given barrier. |
| `BOX_CREATE_SHIELD_INFORMATION_BARRIER_SEGMENT` | Create shield information barrier segment | Creates a shield information barrier segment. |
| `BOX_CREATE_SHIELD_INFORMATION_BARRIER_SEGMENT_MEMBER` | Create shield information barrier segment member | Creates a new shield information barrier segment member. |
| `BOX_CREATE_SHIELD_INFORMATION_BARRIER_SEGMENT_RESTRICTION` | Create shield information barrier segment restriction | Creates a shield information barrier segment restriction object. |
| `BOX_CREATE_SLACK_INTEGRATION_MAPPING` | Create slack integration mapping | Creates a [slack integration mapping](https://support.box.com/hc/en-us/articles/4415585987859-box-as-the-content-layer-for-slack) by mapping a slack channel to a box item. you need admin or co-admin role to use this endpoint. |
| `BOX_CREATE_TASK` | Create task | Creates a single task on a file. this task is not assigned to any user and will need to be assigned separately. |
| `BOX_CREATE_TEAMS_INTEGRATION_MAPPING` | Create teams integration mapping | Creates a [teams integration mapping](https://support.box.com/hc/en-us/articles/360044681474-using-box-for-teams) by mapping a teams channel to a box item. you need admin or co-admin role to use this endpoint. |
| `BOX_CREATE_TERMS_OF_SERVICE` | Create terms of service | Creates a terms of service for a given enterprise and type of user. |
| `BOX_CREATE_TERMS_OF_SERVICE_STATUS_FOR_NEW_USER` | Create terms of service status for new user | Sets the status for a terms of service for a user. |
| `BOX_CREATE_UPLOAD_SESSION` | Create upload session | Creates an upload session for a new file. |
| `BOX_CREATE_UPLOAD_SESSION_FOR_EXISTING_FILE` | Create upload session for existing file | Creates an upload session for an existing file. |
| `BOX_CREATE_USER` | Create user | Creates a new managed user in an enterprise. this endpoint is only available to users and applications with the right admin permissions. |
| `BOX_CREATE_USER_EXEMPTION_FROM_COLLABORATION_DOMAIN_RESTRICTIONS` | Create user exemption from collaboration domain restrictions | Create user exemption from collaboration domain restrictions. |
| `BOX_CREATE_USER_INVITE` | Create user invite | Invites an existing external user to join an enterprise. the existing user can not be part of another enterprise and must already have a box account. once invited, the user will receive an email and are prompted to accept the invitation within the box web application. this method requires the "manage an enterprise" scope enabled for the application, which can be enabled within the developer console. |
| `BOX_CREATE_WEBHOOK` | Create webhook | Creates a webhook. |
| `BOX_CREATE_WEB_LINK` | Create web link | Creates a web link object within a folder. |
| `BOX_CREATE_ZIP_DOWNLOAD` | Create zip download | Creates a request to download multiple files and folders as a single `zip` archive file. this api does not return the archive but instead performs all the checks to ensure that the user has access to all the items, and then returns a `download url` and a `status url` that can be used to download the archive. the limit for an archive is either the account's upload limit or 10,000 files, whichever is met first. **note**: downloading a large file can be affected by various factors such as distance, network latency, bandwidth, and congestion, as well as packet loss ratio and current server load. for these reasons we recommend that a maximum zip archive total size does not exceed 25gb. |
| `BOX_DELETE_AI_AGENT` | Delete ai agent | Deletes an ai agent using the provided parameters. |
| `BOX_DELETE_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. |
| `BOX_DELETE_FILE_REQUEST` | Delete file request | Deletes a file request permanently. |
| `BOX_DELETE_FOLDER` | Delete folder | Deletes a folder, either permanently or by moving it to the trash. |
| `BOX_DELETE_FOLDER_LOCK` | Delete folder lock | Deletes a folder lock on a given folder. you must be authenticated as the owner or co-owner of the folder to use this endpoint. |
| `BOX_DELETE_RETENTION_POLICY` | Delete retention policy | Permanently deletes a retention policy. |
| `BOX_DELETE_SHIELD_INFORMATION_BARRIER_SEGMENT` | Delete shield information barrier segment | Deletes the shield information barrier segment based on provided id. |
| `BOX_DELETE_SHIELD_INFORMATION_BARRIER_SEGMENT_MEMBER_BY_ID` | Delete shield information barrier segment member by id | Deletes a shield information barrier segment member based on provided id. |
| `BOX_DELETE_SHIELD_INFORMATION_BARRIER_SEGMENT_RESTRICTION_BY_ID` | Delete shield information barrier segment restriction by id | Delete shield information barrier segment restriction by id. |
| `BOX_DELETE_SLACK_INTEGRATION_MAPPING` | Delete slack integration mapping | Deletes a [slack integration mapping](https://support.box.com/hc/en-us/articles/4415585987859-box-as-the-content-layer-for-slack). you need admin or co-admin role to use this endpoint. |
| `BOX_DELETE_TEAMS_INTEGRATION_MAPPING` | Delete teams integration mapping | Deletes a [teams integration mapping](https://support.box.com/hc/en-us/articles/360044681474-using-box-for-teams). you need admin or co-admin role to use this endpoint. |
| `BOX_DELETE_USER` | Delete user | Deletes a user. by default this will fail if the user still owns any content. move their owned content first before proceeding, or use the `force` field to delete the user and their files. |
| `BOX_DELETE_USER_AVATAR` | Delete user avatar | Removes an existing user avatar. you cannot reverse this operation. |
| `BOX_DOWNLOAD_FILE` | Download file | Returns the contents of a file in binary format. |
| `BOX_DOWNLOAD_ZIP_ARCHIVE` | Download zip archive | Returns the contents of a `zip` archive in binary format. this url does not require any form of authentication and could be used in a user's browser to download the archive to a user's device. by default, this url is only valid for a few seconds from the creation of the request for this archive. once a download has started it can not be stopped and resumed, instead a new request for a zip archive would need to be created. the url of this endpoint should not be considered as fixed. instead, use the [create zip download](e://post zip downloads) api to request to create a `zip` archive, and then follow the `download url` field in the response to this endpoint. |
| `BOX_EXTRACT_METADATA_FREEFORM` | Extract metadata freeform | Sends an ai request to supported large language models (llms) and extracts metadata in form of key-value pairs. in this request, both the prompt and the output can be freeform. metadata template setup before sending the request is not required. |
| `BOX_EXTRACT_METADATA_STRUCTURED` | Extract metadata structured | Sends an ai request to supported large language models (llms) and returns extracted metadata as a set of key-value pairs. for this request, you either need a metadata template or a list of fields you want to extract. input is **either** a metadata template or a list of fields to ensure the structure. to learn more about creating templates, see [creating metadata templates in the admin console](https://support.box.com/hc/en-us/articles/360044194033-customizing-metadata-templates) or use the [metadata template api](g://metadata/templates/create). |
| `BOX_FIND_APP_ITEM_FOR_SHARED_LINK` | Find app item for shared link | Returns the app item represented by a shared link. the link can originate from the current enterprise or another. |
| `BOX_FIND_FILE_FOR_SHARED_LINK` | Find file for shared link | Returns the file represented by a shared link. a shared file can be represented by a shared link, which can originate within the current enterprise or within another. this endpoint allows an application to retrieve information about a shared file when only given a shared link. the `shared link permission options` array field can be returned by requesting it in the `fields` query parameter. |
| `BOX_FIND_FOLDER_FOR_SHARED_LINK` | Find folder for shared link | Return the folder represented by a shared link. a shared folder can be represented by a shared link, which can originate within the current enterprise or within another. this endpoint allows an application to retrieve information about a shared folder when only given a shared link. |
| `BOX_FIND_METADATA_TEMPLATE_BY_INSTANCE_ID` | Find metadata template by instance id | Finds a metadata template by searching for the id of an instance of the template. |
| `BOX_FIND_WEB_LINK_FOR_SHARED_LINK` | Find web link for shared link | Returns the web link represented by a shared link. a shared web link can be represented by a shared link, which can originate within the current enterprise or within another. this endpoint allows an application to retrieve information about a shared web link when only given a shared link. |
| `BOX_FORCE_APPLY_METADATA_CASCADE_POLICY_TO_FOLDER` | Force apply metadata cascade policy to folder | Force the metadata on a folder with a metadata cascade policy to be applied to all of its children. this can be used after creating a new cascade policy to enforce the metadata to be cascaded down to all existing files within that folder. |
| `BOX_GENERATE_TEXT` | Generate text | Sends an ai request to supported large language models (llms) and returns generated text based on the provided prompt. |
| `BOX_GET_AI_AGENT_BY_AGENT_ID` | Get ai agent by agent id | Gets an ai agent using the `agent id` parameter. |
| `BOX_GET_AI_AGENT_DEFAULT_CONFIGURATION` | Get ai agent default configuration | Get the ai agent default config |
| `BOX_GET_ALLOWED_COLLABORATION_DOMAIN` | Get allowed collaboration domain | Returns a domain that has been deemed safe to create collaborations for within the current enterprise. |
| `BOX_GET_BOX_SIGN_REQUEST_BY_ID` | Get box sign request by id | Gets a sign request by id. |
| `BOX_GET_BOX_SIGN_TEMPLATE_BY_ID` | Get box sign template by id | Fetches details of a specific box sign template. |
| `BOX_GET_CLASSIFICATION_ON_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`. |
| `BOX_GET_CLASSIFICATION_ON_FOLDER` | 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`. |
| `BOX_GET_COLLABORATION` | Get collaboration | Retrieves a single collaboration. |
| `BOX_GET_COLLECTION_BY_ID` | Get collection by id | Retrieves a collection by its id. |
| `BOX_GET_COMMENT` | Get comment | Retrieves the message and metadata for a specific comment, as well as information on the user who created the comment. |
| `BOX_GET_CURRENT_USER` | Get current user | Retrieves information about the user who is currently authenticated. in the case of a client-side authenticated oauth 2.0 application this will be the user who authorized the app. in the case of a jwt, server-side authenticated application this will be the service account that belongs to the application by default. use the `as-user` header to change who this api call is made on behalf of. |
| `BOX_GET_DEVICE_PIN` | Get device pin | Retrieves information about an individual device pin. |
| `BOX_GET_EVENTS_LONG_POLL_ENDPOINT` | Get events long poll endpoint | The listevents endpoint provides information about the events available in the box system. this options method allows developers to discover the capabilities and requirements for interacting with the /events endpoint. it's particularly useful for understanding the types of events that can be monitored, the format of event data, and any constraints or limitations on event retrieval. this endpoint should be used when setting up event monitoring or webhook integrations to ensure proper configuration and understanding of the event system. while it doesn't directly fetch events, it offers crucial metadata for effectively working with box's event streaming and notification features. |
| `BOX_GET_FILE_INFORMATION` | Get file information | Retrieves the details about a file. |
| `BOX_GET_FILE_REQUEST` | Get file request | Retrieves the information about a file request. |
| `BOX_GET_FILES_UNDER_RETENTION` | Get files under retention | Returns a list of files under retention for a retention policy assignment. |
| `BOX_GET_FILE_THUMBNAIL` | 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 |
| `BOX_GET_FILE_VERSION` | Get file version | Retrieve a specific version of a file. versions are only tracked for box users with premium accounts. |
| `BOX_GET_FILE_VERSION_LEGAL_HOLD` | Get file version legal hold | Retrieves information about the legal hold policies assigned to a file version. |
| `BOX_GET_FILE_VERSIONS_UNDER_RETENTION` | Get file versions under retention | Returns a list of file versions under retention for a retention policy assignment. |
| `BOX_GET_FOLDER_INFORMATION` | 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](e://get-folders-id-items) endpoint. |
| `BOX_GET_GROUP` | Get group | Retrieves information about a group. only members of this group or users with admin-level permissions will be able to use this api. |
| `BOX_GET_GROUP_MEMBERSHIP` | Get group membership | Retrieves a specific group membership. only admins of this group or users with admin-level permissions will be able to use this api. |
| `BOX_GET_LEGAL_HOLD_POLICY` | Get legal hold policy | Retrieve a legal hold policy. |
| `BOX_GET_LEGAL_HOLD_POLICY_ASSIGNMENT` | Get legal hold policy assignment | Retrieve a legal hold policy assignment. |
| `BOX_GET_METADATA_CASCADE_POLICY` | Get metadata cascade policy | Retrieve a specific metadata cascade policy assigned to a folder. |
| `BOX_GET_METADATA_INSTANCE_ON_FILE` | Get metadata instance on file | Retrieves the instance of a metadata template that has been applied to a file. |
| `BOX_GET_METADATA_INSTANCE_ON_FOLDER` | 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`. |
| `BOX_GET_METADATA_TEMPLATE_BY_ID` | Get metadata template by id | Retrieves a metadata template by its id. |
| `BOX_GET_METADATA_TEMPLATE_BY_NAME` | Get metadata template by name | Retrieves a metadata template by its `scope` and `templatekey` values. to find the `scope` and `templatekey` for a template, list all templates for an enterprise or globally, or list all templates applied to a file or folder. |
| `BOX_GET_RETENTION_ON_FILE` | Get retention on file | Returns information about a file version retention. **note**: file retention api is now **deprecated**. to get information about files and file versions under retention, see [files under retention](e://get-retention-policy-assignments-id-files-under-retention) or [file versions under retention](e://get-retention-policy-assignments-id-file-versions-under-retention) endpoints. |
| `BOX_GET_RETENTION_POLICY` | Get retention policy | Retrieves a retention policy. |
| `BOX_GET_RETENTION_POLICY_ASSIGNMENT` | Get retention policy assignment | Retrieves a retention policy assignment |
| `BOX_GET_SHARED_LINK_FOR_FILE` | Get shared link for file | Gets the information for a shared link on a file. |
| `BOX_GET_SHARED_LINK_FOR_FOLDER` | Get shared link for folder | Gets the information for a shared link on a folder. |
| `BOX_GET_SHARED_LINK_FOR_WEB_LINK` | Get shared link for web link | Gets the information for a shared link on a web link. |
| `BOX_GET_SHIELD_INFORMATION_BARRIER_REPORT_BY_ID` | Get shield information barrier report by id | Retrieves a shield information barrier report by its id. |
| `BOX_GET_SHIELD_INFORMATION_BARRIER_SEGMENT_MEMBER_BY_ID` | Get shield information barrier segment member by id | Retrieves a shield information barrier segment member by its id. |
| `BOX_GET_SHIELD_INFORMATION_BARRIER_SEGMENT_RESTRICTION_BY_ID` | Get shield information barrier segment restriction by id | Retrieves a shield information barrier segment restriction based on provided id. |
| `BOX_GET_SHIELD_INFORMATION_BARRIER_SEGMENT_WITH_SPECIFIED_ID` | Get shield information barrier segment with specified id | Retrieves shield information barrier segment based on provided id.. |
| `BOX_GET_SHIELD_INFORMATION_BARRIER_WITH_SPECIFIED_ID` | Get shield information barrier with specified id | Get shield information barrier based on provided id. |
| `BOX_GET_STORAGE_POLICY` | Get storage policy | Fetches a specific storage policy. |
| `BOX_GET_STORAGE_POLICY_ASSIGNMENT` | Get storage policy assignment | Fetches a specific storage policy assignment. |
| `BOX_GET_TASK` | Get task | Retrieves information about a specific task. |
| `BOX_GET_TASK_ASSIGNMENT` | Get task assignment | Retrieves information about a task assignment. |
| `BOX_GET_TERMS_OF_SERVICE` | Get terms of service | Fetches a specific terms of service. |
| `BOX_GET_TRASHED_FILE` | 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. |
| `BOX_GET_TRASHED_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. |
| `BOX_GET_TRASHED_WEB_LINK` | Get trashed web link | Retrieves a web link that has been moved to the trash. |
| `BOX_GET_UPLOAD_SESSION` | Get upload session | Return information about an upload session. the actual endpoint url is returned by the [`create upload session`](e://post-files-upload-sessions) endpoint. |
| `BOX_GET_USER` | Get user | Retrieves information about a user in the enterprise. the application and the authenticated user need to have the permission to look up users in the entire enterprise. this endpoint also returns a limited set of information for external users who are collaborated on content owned by the enterprise for authenticated users with the right scopes. in this case, disallowed fields will return null instead. |
| `BOX_GET_USER_AVATAR` | Get user avatar | Retrieves an image of a the user's avatar. |
| `BOX_GET_USER_EXEMPT_FROM_COLLABORATION_DOMAIN_RESTRICTIONS` | Get user exempt from collaboration domain restrictions | Returns a users who has been exempt from the collaboration domain restrictions. |
| `BOX_GET_USER_INVITE_STATUS` | Get user invite status | Returns the status of a user invite. |
| `BOX_GET_WATERMARK_FOR_FOLDER` | Get watermark for folder | Retrieve the watermark for a folder. |
| `BOX_GET_WATERMARK_ON_FILE` | Get watermark on file | Retrieve the watermark for a file. |
| `BOX_GET_WEBHOOK` | Get webhook | Retrieves a specific webhook |
| `BOX_GET_WEB_LINK` | Get web link | Retrieve information about a web link. |
| `BOX_GET_ZIP_DOWNLOAD_STATUS` | Get zip download status | Returns the download status of a `zip` archive, allowing an application to inspect the progress of the download as well as the number of items that might have been skipped. this endpoint can only be accessed once the download has started. subsequently this endpoint is valid for 12 hours from the start of the download. the url of this endpoint should not be considered as fixed. instead, use the [create zip download](e://post zip downloads) api to request to create a `zip` archive, and then follow the `status url` field in the response to this endpoint. |
| `BOX_LIST_AI_AGENTS` | List ai agents | Lists ai agents based on the provided parameters. |
| `BOX_LIST_ALL_CLASSIFICATIONS` | List all classifications | Retrieves the classification metadata template and lists all the classifications available to this enterprise. this api can also be called by including the enterprise id in the url explicitly, for example `/metadata templates/enterprise 12345/securityclassification-6vmvochwuwo/schema`. |
| `BOX_LIST_ALL_COLLECTIONS` | List all collections | Retrieves all collections for a given user. currently, only the `favorites` collection is supported. |
| `BOX_LIST_ALL_FILE_VERSIONS` | 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. |
| `BOX_LIST_ALL_GLOBAL_METADATA_TEMPLATES` | List all global metadata templates | Used to retrieve all generic, global metadata templates available to all enterprises using box. |
| `BOX_LIST_ALL_LEGAL_HOLD_POLICIES` | List all legal hold policies | Retrieves a list of legal hold policies that belong to an enterprise. |
| `BOX_LIST_ALL_METADATA_TEMPLATES_FOR_ENTERPRISE` | List all metadata templates for enterprise | Used to retrieve all metadata templates created to be used specifically within the user's enterprise |
| `BOX_LIST_ALLOWED_COLLABORATION_DOMAINS` | List allowed collaboration domains | Returns the list domains that have been deemed safe to create collaborations for within the current enterprise. |
| `BOX_LIST_ALL_WEBHOOKS` | List all webhooks | Returns all defined webhooks for the requesting application. this api only returns webhooks that are applied to files or folders that are owned by the authenticated user. this means that an admin can not see webhooks created by a service account unless the admin has access to those folders, and vice versa. |
| `BOX_LIST_BOX_SIGN_REQUESTS` | List box sign requests | Gets signature requests created by a user. if the `sign files` and/or `parent folder` are deleted, the signature request will not return in the list. |
| `BOX_LIST_BOX_SIGN_TEMPLATES` | List box sign templates | Gets box sign templates created by a user. |
| `BOX_LIST_BOX_SKILL_CARDS_ON_FILE` | List box skill cards on file | List the box skills metadata cards that are attached to a file. |
| `BOX_LIST_COLLECTION_ITEMS` | List collection items | Retrieves the files and/or folders contained within this collection. |
| `BOX_LIST_ENTERPRISE_DEVICE_PINS` | List enterprise device pins | Retrieves all the device pins within an enterprise. the user must have admin privileges, and the application needs the "manage enterprise" scope to make this call. |
| `BOX_LIST_ENTERPRISE_USERS` | List enterprise users | Returns a list of all users for the enterprise along with their `user id`, `public name`, and `login`. the application and the authenticated user need to have the permission to look up users in the entire enterprise. |
| `BOX_LIST_FILE_APP_ITEM_ASSOCIATIONS` | List file app item associations | **this is a beta feature, which means that its availability might be limited.** returns all app items the file is associated with. this includes app items associated with ancestors of the file. assuming the context user has access to the file, the type/ids are revealed even if the context user does not have **view** permission on the app item. |
| `BOX_LIST_FILE_COLLABORATIONS` | 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. |
| `BOX_LIST_FILE_COMMENTS` | List file comments | Retrieves a list of comments for a file. |
| `BOX_LIST_FILE_VERSION_LEGAL_HOLDS` | List file version legal holds | Get a list of file versions on legal hold for a legal hold assignment. due to ongoing re-architecture efforts this api might not return all file versions for this policy id. instead, this api will only return file versions held in the legacy architecture. two new endpoints will available to request any file versions held in the new architecture. for file versions held in the new architecture, the `get /legal hold policy assignments/:id/file versions on hold` api can be used to return all past file versions available for this policy assignment, and the `get /legal hold policy assignments/:id/files on hold` api can be used to return any current (latest) versions of a file under legal hold. the `get /legal hold policy assignments?policy id={id}` api can be used to find a list of policy assignments for a given policy id. once the re-architecture is completed this api will be deprecated. |
| `BOX_LIST_FILE_VERSION_RETENTIONS` | List file version retentions | Retrieves all file version retentions for the given enterprise. **note**: file retention api is now **deprecated**. to get information about files and file versions under retention, see [files under retention](e://get-retention-policy-assignments-id-files-under-retention) or [file versions under retention](e://get-retention-policy-assignments-id-file-versions-under-retention) endpoints. |
| `BOX_LIST_FOLDER_APP_ITEM_ASSOCIATIONS` | List folder app item associations | **this is a beta feature, which means that its availability might be limited.** returns all app items the folder is associated with. this includes app items associated with ancestors of the folder. assuming the context user has access to the folder, the type/ids are revealed even if the context user does not have **view** permission on the app item. |
| `BOX_LIST_FOLDER_COLLABORATIONS` | 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. |
| `BOX_LIST_FOLDER_LOCKS` | List folder locks | Retrieves folder lock details for a given folder. you must be authenticated as the owner or co-owner of the folder to use this endpoint. |
| `BOX_LIST_GROUP_COLLABORATIONS` | List group collaborations | Retrieves all the collaborations for a group. the user must have admin permissions to inspect enterprise's groups. each collaboration object has details on which files or folders the group has access to and with what role. |
| `BOX_LIST_GROUPS_FOR_ENTERPRISE` | List groups for enterprise | Retrieves all of the groups for a given enterprise. the user must have admin permissions to inspect enterprise's groups. |
| `BOX_LIST_ITEMS_IN_FOLDER` | 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. |
| `BOX_LIST_LEGAL_HOLD_POLICY_ASSIGNMENTS` | List legal hold policy assignments | Retrieves a list of items a legal hold policy has been assigned to. |
| `BOX_LIST_MEMBERS_OF_GROUP` | List members of group | Retrieves all the members for a group. only members of this group or users with admin-level permissions will be able to use this api. |
| `BOX_LIST_METADATA_CASCADE_POLICIES` | List metadata cascade policies | Retrieves a list of all the metadata cascade policies that are applied to a given folder. this can not be used on the root folder with id `0`. |
| `BOX_LIST_METADATA_INSTANCES_ON_FILE` | List metadata instances on file | Retrieves all metadata for a given file. |
| `BOX_LIST_METADATA_INSTANCES_ON_FOLDER` | List metadata instances on folder | Retrieves all metadata for a given folder. this can not be used on the root folder with id `0`. |
| `BOX_LIST_PARTS` | List parts | Return a list of the chunks uploaded to the upload session so far. the actual endpoint url is returned by the [`create upload session`](e://post-files-upload-sessions) and [`get upload session`](e://get-files-upload-sessions-id) endpoints. |
| `BOX_LIST_PENDING_COLLABORATIONS` | List pending collaborations | Retrieves all pending collaboration invites for this user. |
| `BOX_LIST_PREVIOUS_FILE_VERSIONS_FOR_LEGAL_HOLD_POLICY_ASSIGNMENT` | List previous file versions for legal hold policy assignment | List previous file versions for legal hold policy assignment |
| `BOX_LIST_RECENTLY_ACCESSED_ITEMS` | List recently accessed items | Returns information about the recent items accessed by a user, either in the last 90 days or up to the last 1000 items accessed. |
| `BOX_LIST_RETENTION_POLICIES` | List retention policies | Retrieves all of the retention policies for an enterprise. |
| `BOX_LIST_RETENTION_POLICY_ASSIGNMENTS` | List retention policy assignments | Returns a list of all retention policy assignments associated with a specified retention policy. |
| `BOX_LIST_SHIELD_INFORMATION_BARRIER_REPORTS` | List shield information barrier reports | Lists shield information barrier reports. |
| `BOX_LIST_SHIELD_INFORMATION_BARRIERS` | List shield information barriers | Retrieves a list of shield information barrier objects for the enterprise of jwt. |
| `BOX_LIST_SHIELD_INFORMATION_BARRIER_SEGMENT_MEMBERS` | List shield information barrier segment members | Lists shield information barrier segment members based on provided segment ids. |
| `BOX_LIST_SHIELD_INFORMATION_BARRIER_SEGMENT_RESTRICTIONS` | List shield information barrier segment restrictions | Lists shield information barrier segment restrictions based on provided segment id. |
| `BOX_LIST_SHIELD_INFORMATION_BARRIER_SEGMENTS` | List shield information barrier segments | Retrieves a list of shield information barrier segment objects for the specified information barrier id. |
| `BOX_LIST_SLACK_INTEGRATION_MAPPINGS` | List slack integration mappings | Lists [slack integration mappings](https://support.box.com/hc/en-us/articles/4415585987859-box-as-the-content-layer-for-slack) in a users' enterprise. you need admin or co-admin role to use this endpoint. |
| `BOX_LIST_STORAGE_POLICIES` | List storage policies | Fetches all the storage policies in the enterprise. |
| `BOX_LIST_STORAGE_POLICY_ASSIGNMENTS` | List storage policy assignments | Fetches all the storage policy assignment for an enterprise or user. |
| `BOX_LIST_TASK_ASSIGNMENTS` | List task assignments | Lists all of the assignments for a given task. |
| `BOX_LIST_TASKS_ON_FILE` | List tasks on file | Retrieves a list of all the tasks for a file. this endpoint does not support pagination. |
| `BOX_LIST_TEAMS_INTEGRATION_MAPPINGS` | List teams integration mappings | Lists [teams integration mappings](https://support.box.com/hc/en-us/articles/360044681474-using-box-for-teams) in a users' enterprise. you need admin or co-admin role to use this endpoint. |
| `BOX_LIST_TERMS_OF_SERVICES` | List terms of services | Returns the current terms of service text and settings for the enterprise. |
| `BOX_LIST_TERMS_OF_SERVICE_USER_STATUSES` | List terms of service user statuses | Retrieves an overview of users and their status for a terms of service, including whether they have accepted the terms and when. |
| `BOX_LIST_TRASHED_ITEMS` | 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. |
| `BOX_LIST_USER_AND_ENTERPRISE_EVENTS` | List user and enterprise events | Returns up to a year of past events for a given user or for the entire enterprise. by default this returns events for the authenticated user. to retrieve events for the entire enterprise, set the `stream type` to `admin logs streaming` for live monitoring of new events, or `admin logs` for querying across historical events. the user making the api call will need to have admin privileges, and the application will need to have the scope `manage enterprise properties` checked. |
| `BOX_LIST_USER_S_EMAIL_ALIASES` | List user s email aliases | Retrieves all email aliases for a user. the collection does not include the primary login for the user. |
| `BOX_LIST_USERS_EXEMPT_FROM_COLLABORATION_DOMAIN_RESTRICTIONS` | List users exempt from collaboration domain restrictions | Returns a list of users who have been exempt from the collaboration domain restrictions. |
| `BOX_LIST_USER_S_GROUPS` | List user s groups | Retrieves all the groups for a user. only members of this group or users with admin-level permissions will be able to use this api. |
| `BOX_LIST_WORKFLOWS` | List workflows | Returns list of workflows that act on a given `folder id`, and have a flow with a trigger type of `workflow manual start`. you application must be authorized to use the `manage box relay` application scope within the developer console in to use this endpoint. |
| `BOX_PERMANENTLY_REMOVE_FILE` | Permanently remove file | Permanently deletes a file that is in the trash. this action cannot be undone. |
| `BOX_PERMANENTLY_REMOVE_FOLDER` | Permanently remove folder | Permanently deletes a folder that is in the trash. this action cannot be undone. |
| `BOX_PERMANENTLY_REMOVE_WEB_LINK` | Permanently remove web link | Permanently deletes a web link that is in the trash. this action cannot be undone. |
| `BOX_PREFLIGHT_CHECK_BEFORE_UPLOAD` | Preflight check before upload | Performs a check to verify that a file will be accepted by box before you upload the entire file. |
| `BOX_PROMOTE_FILE_VERSION` | 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. |
| `BOX_QUERY_FILES_FOLDERS_BY_METADATA` | Query files folders by metadata | Create a search using sql-like syntax to return items that match specific metadata. by default, this endpoint returns only the most basic info about the items for which the query matches. to get additional fields for each item, including any of the metadata, use the `fields` attribute in the query. |
| `BOX_REFRESH_ACCESS_TOKEN` | Refresh access token | Refresh an access token using its client id, secret, and refresh token. |
| `BOX_REMOVE_BOX_SKILL_CARDS_FROM_FILE` | Remove box skill cards from file | Removes any box skills cards metadata from a file. |
| `BOX_REMOVE_CLASSIFICATION_FROM_FILE` | 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`. |
| `BOX_REMOVE_CLASSIFICATION_FROM_FOLDER` | 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`. |
| `BOX_REMOVE_COLLABORATION` | Remove collaboration | Deletes a single collaboration. |
| `BOX_REMOVE_COMMENT` | Remove comment | Permanently deletes a comment. |
| `BOX_REMOVE_DEVICE_PIN` | Remove device pin | Deletes an individual device pin. |
| `BOX_REMOVE_DOMAIN_FROM_LIST_OF_ALLOWED_COLLABORATION_DOMAINS` | Remove domain from list of allowed collaboration domains | Removes a domain from the list of domains that have been deemed safe to create collaborations for within the current enterprise. |
| `BOX_REMOVE_EMAIL_ALIAS` | Remove email alias | Removes an email alias from a user. |
| `BOX_REMOVE_FILE_VERSION` | Remove file version | Move a file version to the trash. versions are only tracked for box users with premium accounts. |
| `BOX_REMOVE_GROUP` | Remove group | Permanently deletes a group. only users with admin-level permissions will be able to use this api. |
| `BOX_REMOVE_LEGAL_HOLD_POLICY` | Remove legal hold policy | Delete an existing legal hold policy. this is an asynchronous process. the policy will not be fully deleted yet when the response returns. |
| `BOX_REMOVE_METADATA_CASCADE_POLICY` | Remove metadata cascade policy | Deletes a metadata cascade policy. |
| `BOX_REMOVE_METADATA_INSTANCE_FROM_FILE` | Remove metadata instance from file | Deletes a piece of file metadata. |
| `BOX_REMOVE_METADATA_INSTANCE_FROM_FOLDER` | Remove metadata instance from folder | Deletes a piece of folder metadata. |
| `BOX_REMOVE_METADATA_TEMPLATE` | Remove metadata template | Delete a metadata template and its instances. this deletion is permanent and can not be reversed. |
| `BOX_REMOVE_RETENTION_POLICY_ASSIGNMENT` | Remove retention policy assignment | Removes a retention policy assignment applied to content. |
| `BOX_REMOVE_SHARED_LINK_FROM_FILE` | Remove shared link from file | Removes a shared link from a file. |
| `BOX_REMOVE_SHARED_LINK_FROM_FOLDER` | Remove shared link from folder | Removes a shared link from a folder. |
| `BOX_REMOVE_SHARED_LINK_FROM_WEB_LINK` | Remove shared link from web link | Removes a shared link from a web link. |
| `BOX_REMOVE_TASK` | Remove task | Removes a task from a file. |
| `BOX_REMOVE_UPLOAD_SESSION` | Remove upload session | Abort an upload session and discard all data uploaded. this cannot be reversed. the actual endpoint url is returned by the [`create upload session`](e://post-files-upload-sessions) and [`get upload session`](e://get-files-upload-sessions-id) endpoints. |
| `BOX_REMOVE_USER_DOMAIN_EXEMPTION` | Remove User Domain Exemption | Removes a user's exemption from the restrictions set out by the allowed list of domains for collaborations. |
| `BOX_REMOVE_USER_FROM_GROUP` | Remove user from group | Deletes a specific group membership. only admins of this group or users with admin-level permissions will be able to use this api. |
| `BOX_REMOVE_WATERMARK_FROM_FILE` | Remove watermark from file | Removes the watermark from a file. |
| `BOX_REMOVE_WATERMARK_FROM_FOLDER` | Remove watermark from folder | Removes the watermark from a folder. |
| `BOX_REMOVE_WEBHOOK` | Remove webhook | Deletes a webhook. |
| `BOX_REMOVE_WEB_LINK` | Remove web link | Deletes a web link. |
| `BOX_REQUEST_ACCESS_TOKEN` | Request access token | Request an access token using either a client-side obtained oauth 2.0 authorization code or a server-side jwt assertion. an access token is a string that enables box to verify that a request belongs to an authorized session. in the normal order of operations you will begin by requesting authentication from the [authorize](#get-authorize) endpoint and box will send you an authorization code. you will then send this code to this endpoint to exchange it for an access token. the returned access token can then be used to to make box api calls. |
| `BOX_RESEND_BOX_SIGN_REQUEST` | Resend box sign request | Resends a signature request email to all outstanding signers. |
| `BOX_RESTORE_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. |
| `BOX_RESTORE_FILE_VERSION` | 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. |
| `BOX_RESTORE_FOLDER` | 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. 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. |
| `BOX_RESTORE_WEB_LINK` | Restore web link | Restores a web link that has been moved to the trash. an optional new parent id can be provided to restore the web link to in case the original folder has been deleted. |
| `BOX_REVIEW_FILES_ON_LEGAL_HOLD_POLICY_ASSIGNMENT` | Review files on legal hold policy assignment | Get a list of files with current file versions for a legal hold assignment. in some cases you may want to get previous file versions instead. in these cases, use the `get /legal hold policy assignments/:id/file versions on hold` api instead to return any previous versions of a file for this legal hold policy assignment. due to ongoing re-architecture efforts this api might not return all file versions held for this policy id. instead, this api will only return the latest file version held in the newly developed architecture. the `get /file version legal holds` api can be used to fetch current and past versions of files held within the legacy architecture. this endpoint does not support returning any content that is on hold due to a custodian collaborating on a hub. the `get /legal hold policy assignments?policy id={id}` api can be used to find a list of policy assignments for a given policy id. |
| `BOX_REVOKE_ACCESS_TOKEN` | Revoke access token | Revoke an active access token, effectively logging a user out that has been previously authenticated. |
| `BOX_SEARCH_FOR_CONTENT` | Search for content | Searches for files, folders, web links, and shared files across the users content or across the entire enterprise. |
| `BOX_STARTS_WORKFLOW_BASED_ON_REQUEST_BODY` | Starts workflow based on request body | Initiates a flow with a trigger type of `workflow manual start`. you application must be authorized to use the `manage box relay` application scope within the developer console. |
| `BOX_TRANSFER_OWNED_FOLDERS` | Transfer owned folders | Transfers ownership of a specific folder (with id 0) from one user to another in the box cloud storage system. this endpoint should be used when you need to change the owner of a user's root folder, effectively transferring all of their content to another user. it's particularly useful in scenarios such as employee offboarding or role transitions within an organization. the operation is irreversible, so it should be used with caution. note that this endpoint specifically targets the folder with id 0, which typically represents a user's root folder in box. |
| `BOX_UNASSIGN_LEGAL_HOLD_POLICY` | Unassign legal hold policy | Remove a legal hold from an item. this is an asynchronous process. the policy will not be fully removed yet when the response returns. |
| `BOX_UNASSIGN_STORAGE_POLICY` | Unassign storage policy | Delete a storage policy assignment. deleting a storage policy assignment on a user will have the user inherit the enterprise's default storage policy. there is a rate limit for calling this endpoint of only twice per user in a 24 hour time frame. |
| `BOX_UNASSIGN_TASK` | Unassign task | Deletes a specific task assignment. |
| `BOX_UPDATE_AI_AGENT` | Update ai agent | Updates an ai agent. |
| `BOX_UPDATE_ALL_BOX_SKILL_CARDS_ON_FILE` | Update all box skill cards on file | An alternative method that can be used to overwrite and update all box skill metadata cards on a file. |
| `BOX_UPDATE_COLLABORATION` | Update collaboration | Updates a collaboration. can be used to change the owner of an item, or to accept collaboration invites. |
| `BOX_UPDATE_COMMENT` | Update comment | Update the message of a comment. |
| `BOX_UPDATE_FILE` | Update file | Updates a file. this can be used to rename or move a file, create a shared link, or lock a file. |
| `BOX_UPDATE_FILE_REQUEST` | Update file request | Updates a file request. this can be used to activate or deactivate a file request. |
| `BOX_UPDATE_FOLDER` | Update folder | Updates a folder. this can be also be used to move the folder, create shared links, update collaborations, and more. |
| `BOX_UPDATE_GROUP` | Update group | Updates a specific group. only admins of this group or users with admin-level permissions will be able to use this api. |
| `BOX_UPDATE_GROUP_MEMBERSHIP` | Update group membership | Updates a user's group membership. only admins of this group or users with admin-level permissions will be able to use this api. |
| `BOX_UPDATE_LEGAL_HOLD_POLICY` | Update legal hold policy | Update legal hold policy. |
| `BOX_UPDATE_RETENTION_POLICY` | Update retention policy | Updates a retention policy. |
| `BOX_UPDATE_SHARED_LINK_ON_FILE` | Update shared link on file | Updates a shared link on a file. |
| `BOX_UPDATE_SHARED_LINK_ON_FOLDER` | Update shared link on folder | Updates a shared link on a folder. |
| `BOX_UPDATE_SHARED_LINK_ON_WEB_LINK` | Update shared link on web link | Updates a shared link on a web link. |
| `BOX_UPDATE_SHIELD_INFORMATION_BARRIER_SEGMENT_WITH_SPECIFIED_ID` | Update shield information barrier segment with specified id | Update shield information barrier segment with specified id |
| `BOX_UPDATE_SLACK_INTEGRATION_MAPPING` | Update slack integration mapping | Updates a [slack integration mapping](https://support.box.com/hc/en-us/articles/4415585987859-box-as-the-content-layer-for-slack). supports updating the box folder id and options. you need admin or co-admin role to use this endpoint. |
| `BOX_UPDATE_STORAGE_POLICY_ASSIGNMENT` | Update storage policy assignment | Updates a specific storage policy assignment. |
| `BOX_UPDATE_TASK` | Update task | Updates a task. this can be used to update a task's configuration, or to update its completion state. |
| `BOX_UPDATE_TASK_ASSIGNMENT` | Update task assignment | Updates a task assignment. this endpoint can be used to update the state of a task assigned to a user. |
| `BOX_UPDATE_TEAMS_INTEGRATION_MAPPING` | Update teams integration mapping | Updates a [teams integration mapping](https://support.box.com/hc/en-us/articles/360044681474-using-box-for-teams). supports updating the box folder id and options. you need admin or co-admin role to use this endpoint. |
| `BOX_UPDATE_TERMS_OF_SERVICE` | Update terms of service | Updates a specific terms of service. |
| `BOX_UPDATE_TERMS_OF_SERVICE_STATUS_FOR_EXISTING_USER` | Update terms of service status for existing user | Updates the status for a terms of service for a user. |
| `BOX_UPDATE_USER` | Update user | Updates a managed or app user in an enterprise. this endpoint is only available to users and applications with the right admin permissions. |
| `BOX_UPDATE_WEBHOOK` | Update webhook | Updates a webhook. |
| `BOX_UPDATE_WEB_LINK` | Update web link | Updates a web link object. |
| `BOX_UPLOAD_FILE` | Upload file | Uploads a small file to box. for file sizes over 50mb we recommend using the chunk upload apis. 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. |
| `BOX_UPLOAD_FILE_VERSION` | Upload file version | Update a file's content. for file sizes over 50mb we recommend using the chunk upload apis. 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. |
| `BOX_UPLOAD_PART_OF_FILE` | Upload part of file | Uploads a chunk of a file for an upload session. the actual endpoint url is returned by the [`create upload session`](e://post-files-upload-sessions) and [`get upload session`](e://get-files-upload-sessions-id) endpoints. |

## Supported Triggers

| Trigger slug | Name | Description |
|---|---|---|
| `BOX_COLLABORATION_DETAILS_CHANGED_TRIGGER` | Collaboration Details Changed | Triggers when a collaboration's details change (e.g., role, status, expiration). This trigger monitors a specific collaboration and detects when any meaningful field changes, such as role, status, expiration date, access type, or acknowledgment status. |
| `BOX_COMMENT_CHANGED_TRIGGER` | Comment Changed | Triggers when a comment's content or details change in Box. This trigger monitors a specific Box comment and detects when any meaningful field changes, such as message text edits, tagged message changes, or modification timestamp updates. |
| `BOX_FILE_COMMENT_ADDED_TRIGGER` | New File Comment Added | Triggers when a new comment is added to a file in Box. This trigger monitors a specific Box file and fires when new comments are detected. |
| `BOX_FILE_METADATA_CHANGED_TRIGGER` | File Metadata Changed | Triggers when a file's metadata or properties change in Box. This trigger monitors a specific Box file and fires when changes are detected in key fields like name, description, size, modification time, parent folder, or status. |
| `BOX_FILE_SHARED_LINK_CHANGED_TRIGGER` | File Shared Link Changed | Triggers when a file's shared link settings change in Box. This trigger monitors a specific Box file's shared link and fires when changes are detected in the shared link configuration, such as access level, permissions, password protection, expiration date, or vanity URL. |
| `BOX_FILE_VERSION_UPLOADED_TRIGGER` | New File Version Uploaded | Triggers when a new file version is uploaded to a file in Box. This trigger monitors a specific Box file and fires when new versions are detected. |
| `BOX_FOLDER_ITEM_ADDED_TRIGGER` | New Item Added to Folder | Triggers when a new item (file, folder, or web link) is added to a folder in Box. This trigger monitors a specific Box folder and fires when new items are detected. |
| `BOX_FOLDER_PROPERTIES_CHANGED_TRIGGER` | Folder Properties Changed | Triggers when a folder's core properties change in Box. This trigger monitors a specific Box folder and fires when changes are detected in properties like name, description, modification time, parent folder, item status, or shared link settings. |
| `BOX_FOLDER_SHARED_LINK_CHANGED_TRIGGER` | Folder Shared Link Changed | Triggers when a folder's shared link settings change in Box. This trigger monitors a specific Box folder's shared link and fires when changes are detected in the shared link configuration, such as access level, permissions, password protection, expiration date, or vanity URL. |
| `BOX_NEW_FILE_ADDED_TRIGGER` | New File Added to Folder | Triggers when a new file is added to a folder in Box. This trigger monitors a specific Box folder and fires when new files are detected. Only files (not folders or web links) are monitored. |
| `BOX_NEW_FOLDER_COLLABORATION_CREATED_TRIGGER` | New Folder Collaboration Created | Triggers when a new collaboration is created on a specific folder in Box. This trigger monitors a specific Box folder and fires when new collaborations are detected. |
| `BOX_NEW_PENDING_COLLABORATION_TRIGGER` | New Pending Collaboration Invite | Triggers when a new pending collaboration invite is created. This trigger monitors the user's pending collaborations and fires when new pending collaboration invites are detected. |
| `BOX_NEW_SIGN_REQUEST_CREATED_TRIGGER` | New Sign Request Created | Triggers when a new Box sign request is created. This trigger monitors Box sign requests and fires when new sign requests are detected. |
| `BOX_NEW_TASK_ASSIGNMENT_TRIGGER` | New Task Assignment Added | Triggers when a new assignment is added to a task in Box. This trigger monitors a specific Box task and fires when new assignments are detected. |
| `BOX_NEW_TASK_CREATED_TRIGGER` | New Task Created on File | Triggers when a new task is created on a Box file. This trigger monitors a specific Box file and fires when new tasks are detected. |
| `BOX_SIGN_REQUEST_STATUS_CHANGED_TRIGGER` | Box Sign Request Status Changed | Triggers when a Box Sign request's status or meaningful fields change. This trigger monitors a specific Box Sign request and fires when changes are detected in key fields like status, signer decisions, document readiness, or completion state. |
| `BOX_TASK_ASSIGNMENT_STATE_CHANGED_TRIGGER` | Task Assignment State Changed | Triggers when a task assignment's state changes. This trigger monitors task assignments for a specific task and detects when the resolution_state changes (e.g., from incomplete to completed, or from completed to approved/rejected). |
| `BOX_TASK_STATE_CHANGED_TRIGGER` | Task State Changed | Triggers when a task's status or details change in Box. This trigger monitors a specific Box task and fires when changes are detected in key fields like status, due date, message, or completion state. |
| `BOX_TRASHED_FILE_STATE_CHANGED_TRIGGER` | Trashed File State Changed | Triggers when a file's trash state changes in Box. This trigger monitors a specific Box file and fires when its trash state changes (e.g., moved to trash or restored from trash). |
| `BOX_TRASHED_FOLDER_STATE_CHANGED_TRIGGER` | Trashed Folder State Changed | Triggers when a folder's trash state changes in Box. This trigger monitors a specific Box folder and fires when its trash state changes (e.g., moved to trash or restored from trash). |

## Creating MCP Server - Stand-alone vs Composio SDK

The Box MCP server provides comprehensive access to Box operations through Composio. Once connected, Hermes can perform all major Box actions on your behalf using natural language commands.

## Complete Code

None listed.

## Conclusion

### Way Forward
With Box connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.
From here, you can extend Hermes further:
- Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
- Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
- Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.
If you run into trouble or want to share what you've built, join the [community](https://discord.com/invite/composio) or check out the [Docs](https://docs.composio.dev?utm_source=toolkits&utm_medium=framework_template&utm_campaign=hermes&utm_content=docs) for deeper configuration options.

## How to build Box MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/box/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/box/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/box/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/box/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/box/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/box/framework/openclaw)
- [CLI](https://composio.dev/toolkits/box/framework/cli)
- [Google ADK](https://composio.dev/toolkits/box/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/box/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/box/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/box/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/box/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/box/framework/crew-ai)

## Related Toolkits

- [Google Drive](https://composio.dev/toolkits/googledrive) - Google Drive is a cloud storage platform for uploading, sharing, and collaborating on files. It's perfect for keeping your documents accessible and organized across devices.
- [Google Docs](https://composio.dev/toolkits/googledocs) - Google Docs is a cloud-based word processor that enables document creation and real-time collaboration. Its seamless sharing and version history make team editing and content management a breeze.
- [Google Super](https://composio.dev/toolkits/googlesuper) - Google Super is an all-in-one suite combining Gmail, Drive, Calendar, Sheets, Analytics, and more. It gives you a unified platform to manage your digital life, boosting productivity and organization.
- [Affinda](https://composio.dev/toolkits/affinda) - Affinda is an AI-powered document processing platform that automates data extraction from resumes, invoices, and more. It streamlines document-heavy workflows by turning files into structured, actionable data.
- [Agility cms](https://composio.dev/toolkits/agility_cms) - Agility CMS is a headless content management system for building and managing digital experiences across platforms. It lets teams update content quickly and deliver omnichannel experiences with ease.
- [Algodocs](https://composio.dev/toolkits/algodocs) - Algodocs is an AI-powered platform that automates data extraction from business documents. It delivers fast, secure, and accurate processing without templates or manual training.
- [Api2pdf](https://composio.dev/toolkits/api2pdf) - Api2Pdf is a REST API for generating PDFs from HTML, URLs, and documents using powerful engines like wkhtmltopdf and Headless Chrome. It streamlines document conversion and automation for developers and businesses.
- [Aryn](https://composio.dev/toolkits/aryn) - Aryn is an AI-powered platform for parsing, extracting, and analyzing data from unstructured documents. Use it to automate document processing and unlock actionable insights from your files.
- [Boldsign](https://composio.dev/toolkits/boldsign) - Boldsign is a digital eSignature platform for sending, signing, and tracking documents online. Organizations use it to automate agreements and manage legally binding workflows efficiently.
- [Boloforms](https://composio.dev/toolkits/boloforms) - BoloForms is an eSignature platform built for small businesses, offering unlimited signatures, templates, and forms. It simplifies digital document signing and team collaboration at a predictable, fixed price.
- [Carbone](https://composio.dev/toolkits/carbone) - Carbone is a blazing-fast report generator that turns JSON data into PDFs, Word docs, spreadsheets, and more using flexible templates. It lets you automate document creation at scale with minimal code.
- [Castingwords](https://composio.dev/toolkits/castingwords) - CastingWords is a transcription service specializing in human-powered, accurate transcripts via a simple API. Get seamless audio-to-text conversion for interviews, meetings, podcasts, and more.
- [Cloudconvert](https://composio.dev/toolkits/cloudconvert) - CloudConvert is a powerful file conversion service supporting over 200 file formats. It streamlines converting, compressing, and managing documents, media, and more, all in one place.
- [Cloudlayer](https://composio.dev/toolkits/cloudlayer) - Cloudlayer is a document and asset generation service for creating PDFs and images via API or SDKs. It lets you automate high-quality doc creation, saving dev time and reducing manual work.
- [Cloudpress](https://composio.dev/toolkits/cloudpress) - Cloudpress is a content export tool for Google Docs and Notion. It automates publishing to your favorite Content Management Systems.
- [Contentful graphql](https://composio.dev/toolkits/contentful_graphql) - Contentful graphql is a content delivery API that lets you access Contentful data using GraphQL queries. It gives you efficient, flexible ways to fetch and manage structured content for any digital project.
- [Conversion tools](https://composio.dev/toolkits/conversion_tools) - Conversion Tools is an online service for converting documents between formats such as PDF, Word, Excel, XML, and CSV. It lets you automate complex document workflows with just a few clicks.
- [Convertapi](https://composio.dev/toolkits/convertapi) - ConvertAPI is a robust file conversion service for documents, images, and spreadsheets. It streamlines programmatic format changes and lets developers automate complex workflows with a single API.
- [Craftmypdf](https://composio.dev/toolkits/craftmypdf) - CraftMyPDF is a web-based service for designing and generating PDFs with templates and live data. It streamlines document creation by automating personalized PDFs at scale.
- [Docmosis](https://composio.dev/toolkits/docmosis) - Docmosis generates PDF and Word documents from user-defined templates. It's perfect for merging data fields to quickly produce reports, invoices, and business letters.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Box MCP?

With a standalone Box MCP server, the agents and LLMs can only access a fixed set of Box tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Box and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Hermes?

Yes, you can. Hermes fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Box tools.

### Can I manage the permissions and scopes for Box while using Tool Router?

Yes, absolutely. You can configure which Box scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Box data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
