# Box on boxd

> Box is a cloud content management platform for secure file storage, sharing, collaboration, and governance.

- Page: https://boxd.sh/integrations/box/
- CLI: `run box` (286 commands, 15 marked common)
- SDK: `import { box } from "@boxd/run"`; every parameter and response type is at `@boxd/run/box`
- Triggers: 20
- Connect: `run auth box` (Sign in with Box), or https://app.boxd.sh/integrations/detail/box
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth box      # once: prints a link to connect your account
run box           # list its commands
run box search-for-content
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { box } from "@boxd/run";

const result = await box.searchForContent({});
console.log(result);

box.on("new-pending-collaboration", async (event) => {
  // New Pending Collaboration Invite: runs on this machine, once per event
  console.log(event);
});
```

Run it with `run box.run.ts`. A script that calls `.on()` keeps running as a job and handles each event.

## Commands

Required flags are listed; `run box <command> --help` lists the optional ones. "common" marks what `run box` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `add-allowed-collaboration-domain` | `box.addAllowedCollaborationDomain()` | `--direction` `--domain` | 0 | Creates a new entry in the list of allowed domains for collaboration within your enterprise |
| `add-classification-to-file` | `box.addClassificationToFile()` | `--Box--Security--Classification--Key` `--file-id` | 0 | Adds a classification to a file by specifying the label of the classification to add |
| `add-classification-to-folder` | `box.addClassificationToFolder()` | `--Box--Security--Classification--Key` `--folder-id` | 0 | Adds a classification to a folder by specifying the label of the classification to add |
| `add-initial-classifications` | `box.addInitialClassifications()` | `--displayName` `--fields` `--scope` `--templateKey` | 2 | Initializes the classification template for an enterprise with an initial set of classification options |
| `add-or-update-user-avatar` | `box.addOrUpdateUserAvatar()` | `--pic` `--user-id` | 0 | Adds or updates a user avatar |
| `add-shared-link-to-file` | `box.addSharedLinkToFile()` | `--file-id` | 8 | Adds a shared link to a file |
| `add-shared-link-to-folder` | `box.addSharedLinkToFolder()` | `--folder-id` | 8 | Adds a shared link to a folder, allowing it to be shared with others via a URL |
| `add-shared-link-to-web-link` | `box.addSharedLinkToWebLink()` | `--web-link-id` | 8 | Adds a shared link to a web link |
| `add-user-to-group` | `box.addUserToGroup()` | `--group--id` `--user--id` | 3 | Creates a group membership |
| `append-metadata-taxonomy-level` | `box.appendMetadataTaxonomyLevel()` | `--displayName` `--namespace` `--taxonomy-key` | 1 | Appends a new level to a metadata taxonomy structure |
| `apply-watermark-to-file` | `box.applyWatermarkToFile()` | `--file-id` | 1 | Applies or update a watermark on a file |
| `apply-watermark-to-folder` | `box.applyWatermarkToFolder()` | `--folder-id` | 1 | Applies or update a watermark on a folder |
| `ask-question` | `box.askQuestion()` | `--items` `--mode` `--prompt` | 3 | Ask questions about Box files using Box AI |
| `assign-legal-hold-policy` | `box.assignLegalHoldPolicy()` | `--assign--to--id` `--assign--to--type` `--policy-id` | 0 | Assign a legal hold policy to a file, file version, folder, or user |
| `assign-retention-policy` | `box.assignRetentionPolicy()` | `--assign--to--type` `--policy-id` | 3 | Assigns a retention policy to an item in Box to enforce content retention |
| `assign-storage-policy` | `box.assignStoragePolicy()` | `--assigned--to--id` `--assigned--to--type` `--storage--policy--id` | 1 | Creates a storage policy assignment for an enterprise or user |
| `assign-task` | `box.assignTask()` | `--task--id` | 3 | Assigns a task to a user |
| `authorize-user` | `box.authorizeUser()` | `--client-id` `--response-type` | 3 | Authorize a user by sending them through the [Box](https://box.com) website and request their permission to act on their behalf |
| `cancel-sign-request` | `box.cancelSignRequest()` | `--sign-request-id` | 0 | Cancels a pending Box Sign request that has not yet been fully signed or declined |
| `commit-upload-session` | `box.commitUploadSession()` | `--digest` `--parts` `--upload-session-id` | 3 | Commits an upload session and creates a file from the uploaded chunks |
| `copy-file` | `box.copyFile()` | `--file-id` `--parent--id` | 3 | Creates a copy of a file |
| `copy-file-request` | `box.copyFileRequest()` | `--file-request-id` `--folder` | 6 | Copies an existing file request to a new folder |
| `copy-folder` | `box.copyFolder()` | `--folder-id` `--parent--id` | 2 | Creates a copy of a folder within a destination folder |
| `create-ai-agent` | `box.createAiAgent()` | `--name` | 18 | Creates a custom AI agent in Box AI Studio |
| `create-collab-exemption` | `box.createCollabExemption()` | `--user--id` | 0 | Exempts a specific user from the enterprise's collaboration domain restrictions |
| `create-collaboration` ·common | `box.createCollaboration()` | `--role` | 10 | Adds a collaboration for a single user or a single group to a file or folder |
| `create-comment` ·common | `box.createComment()` | `--item--id` `--item--type` | 3 | Adds a comment by the user to a specific file, or as a reply to an other comment |
| `create-email-alias` | `box.createEmailAlias()` | `--email` `--user-id` | 0 | Adds a new email alias to a user account |
| `create-folder` ·common | `box.createFolder()` | `--name` | 3 | Creates a new empty folder within the specified parent folder |
| `create-folder-lock` | `box.createFolderLock()` | — | 4 | Creates a folder lock on a folder, preventing it from being moved and/or deleted |
| `create-group` | `box.createGroup()` | `--name` | 6 | Creates a new group of users in an enterprise |
| `create-legal-hold-policy` | `box.createLegalHoldPolicy()` | `--policy-name` | 4 | Create a new legal hold policy in Box |
| `create-metadata-cascade-policy` | `box.createMetadataCascadePolicy()` | `--folder-id` `--scope` `--templateKey` | 0 | Creates a new metadata cascade policy that automatically applies a metadata template to all files and subfolders within a specified folder |
| `create-metadata-instance-on-file` | `box.createMetadataInstanceOnFile()` | `--file-id` `--scope` `--template-key` | 1 | Applies an instance of a metadata template to a file |
| `create-metadata-instance-on-folder` | `box.createMetadataInstanceOnFolder()` | `--folder-id` `--scope` `--template-key` | 1 | Applies an instance of a metadata template to a folder |
| `create-metadata-taxonomy` | `box.createMetadataTaxonomy()` | `--displayName` `--namespace` | 1 | Create a new metadata taxonomy in Box |
| `create-metadata-taxonomy-levels` | `box.createMetadataTaxonomyLevels()` | `--levels` `--namespace` `--taxonomy-key` | 0 | Creates new hierarchical levels for a metadata taxonomy in Box |
| `create-metadata-taxonomy-node` | `box.createMetadataTaxonomyNode()` | `--displayName` `--level` `--namespace` `--taxonomy-key` | 1 | Create a new metadata taxonomy node within a specified taxonomy |
| `create-metadata-template` | `box.createMetadataTemplate()` | `--displayName` | 5 | Creates a new metadata template that can be applied to files and folders |
| `create-retention-policy` | `box.createRetentionPolicy()` | `--disposition-action` `--policy-name` `--policy-type` | 6 | Creates a retention policy for managing content lifecycle in Box |
| `create-shield-information-barrier` | `box.createShieldInformationBarrier()` | `--enterprise--id` | 1 | Creates a shield information barrier to establish an "ethical wall" that separates individuals/groups within an enterprise and prevents confidential information sharing |
| `create-shield-information-barrier-report` | `box.createShieldInformationBarrierReport()` | `--shield--information--barrier--id` | 1 | Creates a shield information barrier report for a given barrier |
| `create-shield-information-barrier-segment` | `box.createShieldInformationBarrierSegment()` | `--name` `--shield--information--barrier--id` | 2 | Creates a new shield information barrier segment for compliance and information isolation |
| `create-shield-information-barrier-segment-member` | `box.createShieldInformationBarrierSegmentMember()` | `--shield--information--barrier--segment--id` `--user--id` | 5 | Adds a Box user to a shield information barrier segment for compliance and information security |
| `create-shield-information-barrier-segment-restriction` | `box.createShieldInformationBarrierSegmentRestriction()` | `--restricted--segment--id` `--shield--information--barrier--segment--id` | 5 | Creates a ONE-WAY shield information barrier segment restriction preventing collaboration between members of two segments (e.g., Investment Banking cannot collaborate with Research) |
| `create-sign-request` ·common | `box.createSignRequest()` | `--signers` `--source-files` | 15 | Creates a Box Sign request to send documents for electronic signing |
| `create-skill-cards-on-file` | `box.createSkillCardsOnFile()` | `--cards` `--file-id` | 0 | Applies one or more Box Skills metadata cards to a file |
| `create-slack-integration-mapping` | `box.createSlackIntegrationMapping()` | `--box-item` `--partner-item` | 1 | 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 |
| `create-task` | `box.createTask()` | — | 6 | Creates a single task on a file |
| `create-teams-integration-mapping` | `box.createTeamsIntegrationMapping()` | `--box-item` `--partner-item` | 0 | Creates a Microsoft Teams integration mapping that links a Teams channel or team to a Box folder |
| `create-terms-of-service` | `box.createTermsOfService()` | `--status` `--text` `--tos-type` | 0 | Creates a terms of service for a given enterprise and type of user |
| `create-terms-of-service-status-for-new-user` | `box.createTermsOfServiceStatusForNewUser()` | `--is-accepted` `--tos--id` `--user--id` | 2 | Creates a terms of service status record for a user who has not previously accepted or rejected the terms |
| `create-upload-session` | `box.createUploadSession()` | `--file-name` `--file-size` `--folder-id` | 0 | Creates an upload session for chunked upload of large files (20MB+) |
| `create-upload-session-for-existing-file` | `box.createUploadSessionForExistingFile()` | `--file-id` `--file-size` | 1 | Creates an upload session for uploading a new version of an existing file using chunked upload |
| `create-user` | `box.createUser()` | `--name` | 18 | Creates a new managed user in an enterprise |
| `create-user-invite` | `box.createUserInvite()` | `--actionable--by--login` `--enterprise--id` | 1 | Invites an existing external user to join an enterprise |
| `create-web-link` | `box.createWebLink()` | `--url` | 3 | Creates a web link object within a folder |
| `create-webhook` | `box.createWebhook()` | `--address` `--target--id` `--target--type` `--triggers` | 0 | Creates a webhook to monitor a file or folder for specific events |
| `create-zip-download` | `box.createZipDownload()` | `--items` | 1 | Creates a request to download multiple files and folders as a single `zip` archive file |
| `delete-ai-agent` | `box.deleteAiAgent()` | `--agent-id` | 0 | Permanently deletes a custom AI agent from Box AI Studio |
| `delete-allowed-collaboration-domain` | `box.deleteAllowedCollaborationDomain()` | `--collaboration-whitelist-entry-id` | 0 | Removes a domain from the list of allowed collaboration domains (whitelist) within your enterprise |
| `delete-barrier-restriction` | `box.deleteBarrierRestriction()` | `--shield-information-barrier-segment-restriction-id` | 0 | Deletes a shield information barrier segment restriction by its unique ID |
| `delete-collaboration` | `box.deleteCollaboration()` | `--collaboration-id` | 0 | Removes a collaboration from a file or folder, revoking the collaborator's access |
| `delete-comment` | `box.deleteComment()` | `--comment-id` | 0 | Permanently deletes a comment from a file or folder in Box |
| `delete-device-pin` | `box.deleteDevicePin()` | `--device-pinner-id` | 0 | Deletes an individual device pin from the enterprise |
| `delete-email-alias` | `box.deleteEmailAlias()` | `--email-alias-id` `--user-id` | 0 | Removes an email alias from a user |
| `delete-file` ·common | `box.deleteFile()` | `--file-id` | 1 | Deletes a file from Box by moving it to trash or permanently (based on enterprise settings) |
| `delete-file-permanently` | `box.deleteFilePermanently()` | `--file-id` | 0 | Permanently deletes a file from the trash |
| `delete-file-request` | `box.deleteFileRequest()` | `--file-request-id` | 0 | Deletes a file request permanently |
| `delete-file-version` | `box.deleteFileVersion()` | `--file-id` `--file-version-id` | 0 | Move a file version to the trash |
| `delete-folder` | `box.deleteFolder()` | `--folder-id` | 1 | Deletes a folder, either permanently or by moving it to the trash |
| `delete-folder-lock` | `box.deleteFolderLock()` | `--folder-lock-id` | 0 | Deletes a folder lock on a given folder, removing restrictions on move and delete operations |
| `delete-folder-permanently` | `box.deleteFolderPermanently()` | `--folder-id` | 0 | Permanently deletes a folder that is in the trash |
| `delete-group` | `box.deleteGroup()` | `--group-id` | 0 | Permanently deletes a group |
| `delete-legal-hold-policy` | `box.deleteLegalHoldPolicy()` | `--legal-hold-policy-id` | 0 | Permanently delete an existing legal hold policy from Box |
| `delete-metadata-cascade-policy` | `box.deleteMetadataCascadePolicy()` | `--metadata-cascade-policy-id` | 0 | Permanently deletes a metadata cascade policy from a folder |
| `delete-metadata-instance-from-file` | `box.deleteMetadataInstanceFromFile()` | `--file-id` `--scope` `--template-key` | 0 | Removes a metadata instance from a file |
| `delete-metadata-instance-from-folder` | `box.deleteMetadataInstanceFromFolder()` | `--folder-id` `--scope` `--template-key` | 0 | Remove a metadata instance from a folder |
| `delete-metadata-taxonomy` | `box.deleteMetadataTaxonomy()` | `--namespace` `--taxonomy-key` | 0 | Permanently deletes a metadata taxonomy from the enterprise |
| `delete-metadata-taxonomy-node` | `box.deleteMetadataTaxonomyNode()` | `--namespace` `--node-id` `--taxonomy-key` | 0 | Permanently deletes a metadata taxonomy node from Box |
| `delete-metadata-template` | `box.deleteMetadataTemplate()` | `--scope` `--template-key` | 0 | Permanently delete a metadata template and all its instances from files and folders |
| `delete-retention-policy` | `box.deleteRetentionPolicy()` | `--retention-policy-id` | 0 | Permanently deletes a retention policy from the Box enterprise |
| `delete-retention-policy-assignment` | `box.deleteRetentionPolicyAssignment()` | `--retention-policy-assignment-id` | 0 | Removes a retention policy assignment from content in Box |
| `delete-shared-link-from-file` | `box.deleteSharedLinkFromFile()` | `--file-id` | 1 | Removes a shared link from a file in Box |
| `delete-shared-link-from-folder` | `box.deleteSharedLinkFromFolder()` | `--folder-id` | 1 | Removes a shared link from a folder in Box |
| `delete-shared-link-from-web-link` | `box.deleteSharedLinkFromWebLink()` | `--web-link-id` | 1 | Removes a shared link from a web link in Box |
| `delete-shield-information-barrier-segment` | `box.deleteShieldInformationBarrierSegment()` | `--shield-information-barrier-segment-id` | 0 | Permanently deletes a shield information barrier segment by its ID |
| `delete-shield-information-barrier-segment-member-by-id` | `box.deleteShieldInformationBarrierSegmentMemberById()` | `--shield-information-barrier-segment-member-id` | 0 | Removes a user from a shield information barrier segment by deleting their membership |
| `delete-skill-cards-from-file` | `box.deleteSkillCardsFromFile()` | `--file-id` | 0 | Removes any Box Skills cards metadata from a file |
| `delete-slack-integration-mapping` | `box.deleteSlackIntegrationMapping()` | `--integration-mapping-id` | 0 | Deletes a Slack integration mapping that links a Box folder to a Slack channel |
| `delete-storage-policy-assignment` | `box.deleteStoragePolicyAssignment()` | `--storage-policy-assignment-id` | 0 | Deletes a storage policy assignment, causing the assigned user to inherit the enterprise's default storage policy (Box Zone) |
| `delete-task` | `box.deleteTask()` | `--task-id` | 0 | Permanently deletes a task from Box |
| `delete-task-assignment` | `box.deleteTaskAssignment()` | `--task-assignment-id` | 0 | Deletes a specific task assignment, removing the task from the assigned user |
| `delete-teams-integration-mapping` | `box.deleteTeamsIntegrationMapping()` | `--integration-mapping-id` | 0 | Deletes a Microsoft Teams integration mapping that links a Box folder to a Teams channel |
| `delete-upload-session` | `box.deleteUploadSession()` | `--upload-session-id` | 0 | Abort and permanently remove a chunked upload session, discarding all uploaded data |
| `delete-user` | `box.deleteUser()` | `--user-id` | 2 | Permanently deletes a user from the enterprise |
| `delete-user-avatar` | `box.deleteUserAvatar()` | `--user-id` | 0 | Deletes a user's custom avatar image from Box |
| `delete-user-domain-exemption` | `box.deleteUserDomainExemption()` | `--collaboration-whitelist-exempt-target-id` | 0 | Removes a user's exemption from the enterprise's collaboration domain restrictions |
| `delete-user-from-group` | `box.deleteUserFromGroup()` | `--group-membership-id` | 0 | Deletes a specific group membership |
| `delete-watermark-from-file` | `box.deleteWatermarkFromFile()` | `--file-id` | 0 | Removes the watermark from a file |
| `delete-watermark-from-folder` | `box.deleteWatermarkFromFolder()` | `--folder-id` | 0 | Removes the watermark from a folder |
| `delete-web-link` | `box.deleteWebLink()` | `--web-link-id` | 0 | Deletes a web link |
| `delete-web-link-permanently` | `box.deleteWebLinkPermanently()` | `--web-link-id` | 0 | Permanently deletes a web link that is in the trash |
| `delete-webhook` | `box.deleteWebhook()` | `--webhook-id` | 0 | Permanently deletes a webhook from the Box account |
| `download-file` ·common | `box.downloadFile()` | `--file-id` | 2 | Returns the contents of a file in binary format |
| `download-zip-archive` | `box.downloadZipArchive()` | `--zip-download-id` | 1 | Downloads a zip archive containing files and/or folders from Box |
| `extract-metadata-freeform` | `box.extractMetadataFreeform()` | `--items` `--prompt` | 1 | Extract metadata from Box files using AI with freeform prompts |
| `extract-metadata-structured` | `box.extractMetadataStructured()` | `--items` | 4 | Extract structured metadata from files using Box AI |
| `find-app-item-for-shared-link` | `box.findAppItemForSharedLink()` | — | 3 | Returns the file, folder, web link, or app item represented by a shared link |
| `find-file-for-shared-link` ·common | `box.findFileForSharedLink()` | — | 4 | Returns the file represented by a shared link |
| `find-folder-for-shared-link` | `box.findFolderForSharedLink()` | — | 4 | Return the folder represented by a shared link |
| `find-metadata-template-by-instance-id` | `box.findMetadataTemplateByInstanceId()` | `--metadata-instance-id` | 2 | Finds a metadata template by searching for the ID of an instance of the template |
| `force-apply-metadata-cascade-policy-to-folder` | `box.forceApplyMetadataCascadePolicyToFolder()` | `--conflict-resolution` `--metadata-cascade-policy-id` | 0 | Forces a metadata cascade policy to immediately apply the folder's metadata template to all existing child files and subfolders |
| `generate-text` | `box.generateText()` | `--items` `--prompt` | 2 | Generate text using Box AI based on a prompt and file context |
| `get-ai-agent` | `box.getAiAgent()` | `--agent-id` | 1 | Retrieves detailed information about a specific AI Agent by its unique identifier |
| `get-ai-agent-default-configuration` | `box.getAiAgentDefaultConfiguration()` | `--mode` | 2 | Retrieve the default AI agent configuration for a specific mode |
| `get-allowed-collaboration-domain` | `box.getAllowedCollaborationDomain()` | `--collaboration-whitelist-entry-id` | 0 | Retrieves details of a specific allowed collaboration domain entry within your enterprise |
| `get-collaboration` | `box.getCollaboration()` | `--collaboration-id` | 1 | Retrieves details of a single collaboration by its ID |
| `get-collection` | `box.getCollection()` | `--collection-id` | 0 | Retrieves details of a specific collection by its unique identifier |
| `get-comment` | `box.getComment()` | `--comment-id` | 1 | Retrieves the message and metadata for a specific comment, as well as information on the user who created the comment |
| `get-current-user` | `box.getCurrentUser()` | — | 1 | Retrieves information about the user who is currently authenticated |
| `get-device-pin` | `box.getDevicePin()` | `--device-pinner-id` | 0 | Retrieves information about an individual device pin in the enterprise |
| `get-events-long-poll-endpoint` | `box.getEventsLongPollEndpoint()` | — | 0 | Returns a list of real-time servers that can be used for long-polling user events |
| `get-file-information` ·common | `box.getFileInformation()` | `--file-id` | 1 | Retrieves the details about a file |
| `get-file-request` | `box.getFileRequest()` | `--file-request-id` | 0 | Retrieves detailed information about a file request in Box |
| `get-file-thumbnail` | `box.getFileThumbnail()` | `--extension` `--file-id` | 4 | Retrieves a thumbnail, or smaller image representation, of a file |
| `get-file-version` | `box.getFileVersion()` | `--file-id` `--file-version-id` | 1 | Retrieve detailed information about a specific version of a file |
| `get-file-version-legal-hold` | `box.getFileVersionLegalHold()` | `--file-version-legal-hold-id` | 0 | Retrieves detailed information about a specific file version legal hold by its ID |
| `get-file-versions-under-retention` | `box.getFileVersionsUnderRetention()` | `--retention-policy-assignment-id` | 2 | Returns a list of file versions under retention for a specified retention policy assignment |
| `get-files-under-retention` | `box.getFilesUnderRetention()` | `--retention-policy-assignment-id` | 2 | Returns a paginated list of files under retention for a specific retention policy assignment |
| `get-folder` ·common | `box.getFolder()` | `--folder-id` | 5 | Retrieves details for a folder, including the first 100 entries in the folder |
| `get-group` | `box.getGroup()` | `--group-id` | 1 | Retrieves information about a group |
| `get-group-membership` | `box.getGroupMembership()` | `--group-membership-id` | 1 | Retrieves a specific group membership |
| `get-legal-hold-policy` | `box.getLegalHoldPolicy()` | `--legal-hold-policy-id` | 0 | Retrieve detailed information about a specific legal hold policy by its ID |
| `get-legal-hold-policy-assignment` | `box.getLegalHoldPolicyAssignment()` | `--legal-hold-policy-assignment-id` | 0 | Retrieves detailed information about a specific legal hold policy assignment by its ID |
| `get-metadata-cascade-policy` | `box.getMetadataCascadePolicy()` | `--metadata-cascade-policy-id` | 0 | Retrieve a specific metadata cascade policy assigned to a folder |
| `get-metadata-instance-on-file` | `box.getMetadataInstanceOnFile()` | `--file-id` `--scope` `--template-key` | 0 | Retrieves a specific metadata template instance that has been applied to a file |
| `get-metadata-instance-on-folder` | `box.getMetadataInstanceOnFolder()` | `--folder-id` `--scope` `--template-key` | 0 | Retrieves the instance of a metadata template that has been applied to a folder |
| `get-metadata-taxonomies-for-namespace` | `box.getMetadataTaxonomiesForNamespace()` | `--namespace` | 2 | Retrieves all metadata taxonomies within a specific namespace |
| `get-metadata-taxonomy-by-taxonomy-key` | `box.getMetadataTaxonomyByTaxonomyKey()` | `--namespace` `--taxonomy-key` | 0 | Retrieves a metadata taxonomy by its namespace and taxonomy key |
| `get-metadata-taxonomy-node-by-id` | `box.getMetadataTaxonomyNodeById()` | `--namespace` `--node-id` `--taxonomy-key` | 0 | Retrieves a specific node from a metadata taxonomy by its identifier |
| `get-metadata-template-by-id` | `box.getMetadataTemplateById()` | `--template-id` | 0 | Retrieves a metadata template by its ID |
| `get-metadata-template-by-name` | `box.getMetadataTemplateByName()` | `--scope` `--template-key` | 0 | Retrieves a metadata template by its `scope` and `templateKey` values |
| `get-retention-on-file` | `box.getRetentionOnFile()` | `--file-version-retention-id` | 0 | Returns information about a file version retention |
| `get-retention-policy` | `box.getRetentionPolicy()` | `--retention-policy-id` | 1 | Retrieves a retention policy by its unique ID |
| `get-retention-policy-assignment` | `box.getRetentionPolicyAssignment()` | `--retention-policy-assignment-id` | 1 | Retrieves a retention policy assignment by its unique ID |
| `get-shared-link-for-file` | `box.getSharedLinkForFile()` | `--file-id` | 1 | Retrieves the shared link information for a file |
| `get-shared-link-for-folder` | `box.getSharedLinkForFolder()` | `--folder-id` | 1 | Retrieves shared link information for a folder |
| `get-shared-web-link` | `box.getSharedWebLink()` | `--boxapi` | 2 | Retrieve web link information for a shared link |
| `get-shield-information-barrier-by-id` | `box.getShieldInformationBarrierById()` | `--shield-information-barrier-id` | 0 | Retrieves a shield information barrier by its unique ID |
| `get-shield-information-barrier-report-by-id` | `box.getShieldInformationBarrierReportById()` | `--shield-information-barrier-report-id` | 0 | Retrieves a shield information barrier report by its ID |
| `get-shield-information-barrier-segment-by-id` | `box.getShieldInformationBarrierSegmentById()` | `--shield-information-barrier-segment-id` | 0 | Retrieves a shield information barrier segment by its unique identifier |
| `get-shield-information-barrier-segment-member-by-id` | `box.getShieldInformationBarrierSegmentMemberById()` | `--shield-information-barrier-segment-member-id` | 0 | Retrieves a shield information barrier segment member by its unique ID |
| `get-shield-information-barrier-segment-restriction-by-id` | `box.getShieldInformationBarrierSegmentRestrictionById()` | `--shield-information-barrier-segment-restriction-id` | 0 | Retrieves a shield information barrier segment restriction by its unique ID |
| `get-sign-request` | `box.getSignRequest()` | `--sign-request-id` | 0 | Retrieves the details of a specific Box Sign request by its unique ID |
| `get-sign-template` | `box.getSignTemplate()` | `--template-id` | 0 | Retrieves details of a specific Box Sign template by its unique ID |
| `get-storage-policy` | `box.getStoragePolicy()` | `--storage-policy-id` | 0 | Fetches a specific storage policy by its ID |
| `get-storage-policy-assignment` | `box.getStoragePolicyAssignment()` | `--storage-policy-assignment-id` | 0 | Retrieves information about a specific storage policy assignment |
| `get-task` | `box.getTask()` | `--task-id` | 0 | Retrieves detailed information about a specific task in Box |
| `get-task-assignment` | `box.getTaskAssignment()` | `--task-assignment-id` | 0 | Retrieves detailed information about a specific task assignment in Box |
| `get-terms-of-service` | `box.getTermsOfService()` | `--terms-of-service-id` | 0 | Retrieves a specific terms of service by its unique identifier |
| `get-trashed-file` | `box.getTrashedFile()` | `--file-id` | 1 | Retrieves a file that has been moved to the trash |
| `get-trashed-folder` | `box.getTrashedFolder()` | `--folder-id` | 1 | Retrieves a folder that has been moved to the trash |
| `get-trashed-web-link` | `box.getTrashedWebLink()` | `--web-link-id` | 1 | Retrieves a web link that has been moved to the trash |
| `get-upload-session` | `box.getUploadSession()` | `--upload-session-id` | 0 | Retrieves detailed information about an existing chunked upload session |
| `get-user` | `box.getUser()` | `--user-id` | 1 | Retrieves information about a user in the enterprise |
| `get-user-avatar` | `box.getUserAvatar()` | `--user-id` | 0 | Retrieves the avatar image of a Box user |
| `get-user-exempt-from-collaboration-domain-restrictions` | `box.getUserExemptFromCollaborationDomainRestrictions()` | `--collaboration-whitelist-exempt-target-id` | 0 | Retrieves details of a specific user exemption from collaboration domain restrictions |
| `get-user-invite-status` | `box.getUserInviteStatus()` | `--invite-id` | 1 | Returns the status of a user invite |
| `get-watermark-on-file` | `box.getWatermarkOnFile()` | `--file-id` | 0 | Retrieve the watermark for a file |
| `get-watermark-on-folder` | `box.getWatermarkOnFolder()` | `--folder-id` | 0 | Retrieve the watermark for a folder |
| `get-web-link` | `box.getWebLink()` | `--web-link-id` | 0 | Retrieve detailed information about a web link (bookmark) in Box |
| `get-webhook` | `box.getWebhook()` | `--webhook-id` | 0 | Retrieves detailed information about a specific webhook by its ID |
| `get-zip-download-status` | `box.getZipDownloadStatus()` | `--zip-download-id` | 0 | Get the download status of a zip archive, including progress, skipped items, and current state |
| `list-ai-agents` | `box.listAiAgents()` | — | 6 | Lists AI agents based on the provided parameters |
| `list-all-classifications` | `box.listAllClassifications()` | — | 0 | Retrieves the classification metadata template and lists all the classifications available to this enterprise |
| `list-all-collections` | `box.listAllCollections()` | — | 3 | Retrieves all collections for a given user |
| `list-all-file-versions` | `box.listAllFileVersions()` | `--file-id` | 3 | Retrieve a list of the past versions for a file |
| `list-all-global-metadata-templates` | `box.listAllGlobalMetadataTemplates()` | — | 2 | Used to retrieve all generic, global metadata templates available to all enterprises using Box |
| `list-allowed-collaboration-domains` | `box.listAllowedCollaborationDomains()` | — | 2 | Returns the list domains that have been deemed safe to create collaborations for within the current enterprise |
| `list-collection-items` | `box.listCollectionItems()` | `--collection-id` | 3 | Retrieves the files and/or folders contained within a Box collection |
| `list-enterprise-device-pins` | `box.listEnterpriseDevicePins()` | `--enterprise-id` | 3 | Retrieves all the device pins within an enterprise |
| `list-enterprise-groups` | `box.listEnterpriseGroups()` | — | 4 | Retrieves all of the groups for a given enterprise |
| `list-enterprise-metadata-templates` | `box.listEnterpriseMetadataTemplates()` | — | 2 | Used to retrieve all metadata templates created to be used specifically within the user's enterprise |
| `list-enterprise-users` | `box.listEnterpriseUsers()` | — | 8 | Returns a list of all users for the Enterprise along with their `user_id`, `public_name`, and `login` |
| `list-events` | `box.listEvents()` | — | 6 | Returns up to a year of past events for a given user or for the entire enterprise |
| `list-file-app-item-associations` | `box.listFileAppItemAssociations()` | `--file-id` | 3 | This is a beta feature, which means that its availability might be limited |
| `list-file-collaborations` | `box.listFileCollaborations()` | `--file-id` | 3 | Retrieves a list of pending and active collaborations for a file |
| `list-file-comments` ·common | `box.listFileComments()` | `--file-id` | 3 | Retrieves a list of comments for a file |
| `list-file-version-legal-holds` | `box.listFileVersionLegalHolds()` | `--policy-id` | 2 | Get a list of file versions on legal hold for a legal hold assignment |
| `list-file-version-retentions` | `box.listFileVersionRetentions()` | — | 8 | Retrieves all file version retentions for the given enterprise |
| `list-files-on-legal-hold-policy-assignment` | `box.listFilesOnLegalHoldPolicyAssignment()` | `--legal-hold-policy-assignment-id` | 3 | Get a list of files with current file versions for a legal hold assignment |
| `list-folder-app-item-associations` | `box.listFolderAppItemAssociations()` | `--folder-id` | 3 | This is a beta feature, which means that its availability might be limited |
| `list-folder-collaborations` | `box.listFolderCollaborations()` | `--folder-id` | 3 | Retrieves a list of pending and active collaborations for a folder |
| `list-folder-locks` | `box.listFolderLocks()` | `--folder-id` | 0 | Retrieves folder lock details for a given folder |
| `list-group-collaborations` | `box.listGroupCollaborations()` | `--group-id` | 2 | Retrieves all the collaborations for a group |
| `list-group-members` | `box.listGroupMembers()` | `--group-id` | 2 | Retrieves all the members for a group |
| `list-hold-file-versions` | `box.listHoldFileVersions()` | `--legal-hold-policy-assignment-id` | 3 | Retrieves a list of previous (non-current) file versions that are on legal hold for a specific legal hold policy assignment |
| `list-hubs` | `box.listHubs()` | — | 6 | List all Box Hubs for the authenticated user or enterprise |
| `list-items-in-folder` ·common | `box.listItemsInFolder()` | `--folder-id` | 7 | Retrieves a page of items in a folder |
| `list-legal-hold-policies` | `box.listLegalHoldPolicies()` | — | 4 | Retrieves a list of legal hold policies that belong to an enterprise |
| `list-legal-hold-policy-assignments` | `box.listLegalHoldPolicyAssignments()` | `--policy-id` | 5 | Retrieves a list of items a legal hold policy has been assigned to |
| `list-metadata-cascade-policies` | `box.listMetadataCascadePolicies()` | `--folder-id` | 3 | Retrieves a list of all the metadata cascade policies that are applied to a given folder |
| `list-metadata-instances-on-file` | `box.listMetadataInstancesOnFile()` | `--file-id` | 0 | Retrieves all metadata instances applied to a file |
| `list-metadata-instances-on-folder` | `box.listMetadataInstancesOnFolder()` | `--folder-id` | 0 | Retrieves all metadata for a given folder |
| `list-metadata-taxonomy-nodes` | `box.listMetadataTaxonomyNodes()` | `--namespace` `--taxonomy-key` | 7 | Retrieves metadata taxonomy nodes based on the specified parameters |
| `list-pending-collaborations` | `box.listPendingCollaborations()` | — | 4 | Retrieves all pending collaboration invites for this user |
| `list-recently-accessed-items` | `box.listRecentlyAccessedItems()` | — | 3 | Returns information about the recent items accessed by a user, either in the last 90 days or up to the last 1000 items accessed |
| `list-retention-policies` | `box.listRetentionPolicies()` | — | 6 | Retrieves all of the retention policies for an enterprise |
| `list-retention-policy-assignments` | `box.listRetentionPolicyAssignments()` | `--retention-policy-id` | 4 | Retrieves all retention policy assignments for a specified retention policy |
| `list-shield-information-barrier-reports` | `box.listShieldInformationBarrierReports()` | `--shield-information-barrier-id` | 2 | Lists shield information barrier reports for a specified barrier |
| `list-shield-information-barrier-segment-members` | `box.listShieldInformationBarrierSegmentMembers()` | `--shield-information-barrier-segment-id` | 2 | Lists shield information barrier segment members based on provided segment IDs |
| `list-shield-information-barrier-segment-restrictions` | `box.listShieldInformationBarrierSegmentRestrictions()` | `--shield-information-barrier-segment-id` | 2 | Lists all shield information barrier segment restrictions for a specific segment |
| `list-shield-information-barrier-segments` | `box.listShieldInformationBarrierSegments()` | `--shield-information-barrier-id` | 2 | Retrieves a list of shield information barrier segment objects for the specified Information Barrier ID |
| `list-shield-information-barriers` | `box.listShieldInformationBarriers()` | — | 2 | Retrieves a list of shield information barrier objects for the enterprise of JWT |
| `list-sign-requests` | `box.listSignRequests()` | — | 4 | Gets signature requests created by a user |
| `list-sign-templates` | `box.listSignTemplates()` | — | 2 | Gets Box Sign templates created by a user |
| `list-skill-cards-on-file` | `box.listSkillCardsOnFile()` | `--file-id` | 0 | List the Box Skills metadata cards that are attached to a file |
| `list-slack-integration-mappings` | `box.listSlackIntegrationMappings()` | — | 7 | Lists [Slack integration mappings](https://support.box.com/hc/en-us/articles/4415585987859-Box-as-the-Content-Layer-for-Slack) in a users' enterprise |
| `list-storage-policies` | `box.listStoragePolicies()` | — | 3 | Fetches all the storage policies in the enterprise |
| `list-storage-policy-assignments` | `box.listStoragePolicyAssignments()` | `--resolved-for-id` `--resolved-for-type` | 1 | Fetches all the storage policy assignment for an enterprise or user |
| `list-task-assignments` | `box.listTaskAssignments()` | `--task-id` | 0 | Lists all of the assignments for a given task |
| `list-tasks-on-file` | `box.listTasksOnFile()` | `--file-id` | 0 | Retrieves a list of all the tasks for a file |
| `list-teams-integration-mappings` | `box.listTeamsIntegrationMappings()` | — | 4 | Lists [Teams integration mappings](https://support.box.com/hc/en-us/articles/360044681474-Using-Box-for-Teams) in a users' enterprise |
| `list-terms-of-service-user-statuses` | `box.listTermsOfServiceUserStatuses()` | `--tos-id` | 1 | Retrieves a list of users and their acceptance status for a specific terms of service |
| `list-terms-of-services` | `box.listTermsOfServices()` | — | 1 | Returns the current terms of service text and settings for the enterprise |
| `list-trashed-items` | `box.listTrashedItems()` | — | 7 | Retrieves the files and folders that have been moved to the trash |
| `list-upload-session-parts` | `box.listUploadSessionParts()` | `--upload-session-id` | 2 | List the parts (chunks) that have been uploaded to a chunked upload session |
| `list-user-email-aliases` | `box.listUserEmailAliases()` | `--user-id` | 0 | Retrieves all email aliases for a user |
| `list-user-groups` | `box.listUserGroups()` | `--user-id` | 2 | Retrieves all group memberships for a user, including the groups they belong to and their role in each group (member or admin) |
| `list-users-exempt-from-collaboration-domain-restrictions` | `box.listUsersExemptFromCollaborationDomainRestrictions()` | — | 2 | Returns a list of users who have been exempt from the collaboration domain restrictions |
| `list-webhooks` | `box.listWebhooks()` | — | 2 | Returns all defined webhooks for the requesting application |
| `list-workflows` | `box.listWorkflows()` | `--folder-id` | 3 | Lists Box Relay workflows configured for a specific folder |
| `preflight-check-before-upload` | `box.preflightCheckBeforeUpload()` | `--name` | 2 | Performs a preflight check to verify that a file will be accepted by Box before uploading the entire file |
| `promote-file-version` | `box.promoteFileVersion()` | `--file-id` `--id` | 2 | Promote a specific version of a file |
| `query-files-folders-by-metadata` | `box.queryFilesFoldersByMetadata()` | `--ancestor-folder-id` `--from` | 6 | Query files and folders by metadata using SQL-like syntax |
| `refresh-access-token` | `box.refreshAccessToken()` | `--client-id` `--client-secret` `--refresh-token` | 1 | Refresh an Access Token using its client ID, secret, and refresh token |
| `request-access-token` ·common | `box.requestAccessToken()` | `--grant-type` | 14 | Request an Access Token using either a client-side obtained OAuth 2.0 authorization code or a server-side JWT assertion |
| `resend-sign-request` | `box.resendSignRequest()` | `--sign-request-id` | 0 | Resends signature request emails to all outstanding signers |
| `restore-file` | `box.restoreFile()` | `--file-id` | 3 | Restores a file that has been moved to the trash |
| `restore-file-version` | `box.restoreFileVersion()` | `--file-id` `--file-version-id` | 0 | Restores a specific version of a file after it was deleted (trashed) |
| `restore-folder` | `box.restoreFolder()` | `--folder-id` | 3 | Restores a folder that has been moved to the trash |
| `restore-web-link` | `box.restoreWebLink()` | `--web-link-id` | 3 | Restores a web link that has been moved to the trash |
| `revoke-access-token` | `box.revokeAccessToken()` | — | 3 | Revoke an active Access Token, effectively logging a user out that has been previously authenticated |
| `search-for-content` ·common | `box.searchForContent()` | — | 21 | Searches for files, folders, web links, and shared files across the users content or across the entire enterprise |
| `start-workflow` | `box.startWorkflow()` | `--files` `--workflow-id` | 6 | Starts a Box Relay workflow with trigger type `WORKFLOW_MANUAL_START` |
| `terminate-user-group-sessions` | `box.terminateUserGroupSessions()` | `--group-ids` | 0 | Terminates all active sessions for users belonging to the specified Box enterprise groups |
| `terminate-user-sessions` | `box.terminateUserSessions()` | `--user-ids` `--user-logins` | 0 | Creates asynchronous jobs to terminate active Box sessions for specified users |
| `transfer-owned-folders` | `box.transferOwnedFolders()` | `--owned--by--id` `--user-id` | 2 | Transfers all files and folders owned by one user to another user's account in Box |
| `trim-metadata-taxonomy-levels` | `box.trimMetadataTaxonomyLevels()` | `--namespace` `--taxonomy-key` | 0 | Deletes the last level from a metadata taxonomy by trimming it |
| `unassign-legal-hold-policy` | `box.unassignLegalHoldPolicy()` | `--legal-hold-policy-assignment-id` | 0 | Remove a legal hold policy assignment from an item (user, folder, file, or file version) |
| `update-ai-agent` | `box.updateAiAgent()` | `--access-state` `--agent-id` `--name` | 17 | Updates an existing custom AI agent in Box AI Studio |
| `update-all-skill-cards-on-file` | `box.updateAllSkillCardsOnFile()` | `--skill-id` `--status` | 7 | An alternative method to overwrite and update all Box Skill metadata cards on a file |
| `update-barrier-segment` | `box.updateBarrierSegment()` | `--shield-information-barrier-segment-id` | 2 | Updates a shield information barrier segment's name and/or description |
| `update-collaboration` | `box.updateCollaboration()` | `--collaboration-id` `--role` | 3 | Updates a collaboration |
| `update-comment` | `box.updateComment()` | `--comment-id` | 2 | Update the message of a comment |
| `update-file` ·common | `box.updateFile()` | `--file-id` | 11 | Updates a file |
| `update-file-request` | `box.updateFileRequest()` | `--file-request-id` | 7 | Updates a file request in Box |
| `update-folder` ·common | `box.updateFolder()` | `--folder-id` | 12 | Updates a folder |
| `update-group` | `box.updateGroup()` | `--group-id` | 7 | Updates a specific group |
| `update-group-membership` | `box.updateGroupMembership()` | `--group-membership-id` | 3 | Updates a user's group membership |
| `update-legal-hold-policy` | `box.updateLegalHoldPolicy()` | `--legal-hold-policy-id` | 3 | Update an existing legal hold policy in Box |
| `update-metadata-instance-on-file` | `box.updateMetadataInstanceOnFile()` | `--file-id` `--operations` `--scope` `--template-key` | 0 | Updates a metadata instance on a file using JSON-Patch operations |
| `update-metadata-instance-on-folder` | `box.updateMetadataInstanceOnFolder()` | `--folder-id` `--operations` `--scope` `--template-key` | 0 | Updates metadata on a folder using JSON-Patch operations (RFC 6902) |
| `update-metadata-taxonomy` | `box.updateMetadataTaxonomy()` | `--displayName` `--namespace` `--taxonomy-key` | 0 | Update an existing metadata taxonomy's display name |
| `update-metadata-taxonomy-node` | `box.updateMetadataTaxonomyNode()` | `--displayName` `--namespace` `--node-id` `--taxonomy-key` | 0 | Update an existing metadata taxonomy node's display name |
| `update-metadata-template` | `box.updateMetadataTemplate()` | `--operations` `--scope` `--template-key` | 0 | Updates a metadata template by applying JSON-Patch operations |
| `update-retention-policy` | `box.updateRetentionPolicy()` | `--retention-policy-id` | 9 | Updates an existing Box retention policy |
| `update-shared-link-on-file` | `box.updateSharedLinkOnFile()` | `--file-id` | 8 | Updates a shared link on a file |
| `update-shared-link-on-folder` | `box.updateSharedLinkOnFolder()` | `--folder-id` | 8 | Updates a shared link on a folder |
| `update-shared-link-on-web-link` | `box.updateSharedLinkOnWebLink()` | `--web-link-id` | 8 | Updates a shared link on a web link |
| `update-shield-information-barrier-status` | `box.updateShieldInformationBarrierStatus()` | `--id` `--status` | 0 | Change the status of a shield information barrier |
| `update-skill-cards-on-file` | `box.updateSkillCardsOnFile()` | `--file-id` `--operations` | 0 | Updates one or more Box Skills metadata cards on a file using JSON-Patch format |
| `update-slack-integration-mapping` | `box.updateSlackIntegrationMapping()` | `--integration-mapping-id` | 2 | Updates an existing [Slack integration mapping](https://support.box.com/hc/en-us/articles/4415585987859-Box-as-the-Content-Layer-for-Slack) |
| `update-storage-policy-assignment` | `box.updateStoragePolicyAssignment()` | `--storage--policy--id` `--storage-policy-assignment-id` | 1 | Updates a storage policy assignment for an enterprise or user |
| `update-task` | `box.updateTask()` | `--task-id` | 4 | Updates a task |
| `update-task-assignment` | `box.updateTaskAssignment()` | `--task-assignment-id` | 2 | Updates a task assignment to change its resolution state or add a message |
| `update-teams-integration-mapping` | `box.updateTeamsIntegrationMapping()` | `--integration-mapping-id` | 1 | Updates a Microsoft Teams integration mapping that links a Box folder to a Teams channel |
| `update-terms-of-service` | `box.updateTermsOfService()` | `--status` `--terms-of-service-id` `--text` | 0 | Updates an existing terms of service for the enterprise |
| `update-terms-of-service-status-for-existing-user` | `box.updateTermsOfServiceStatusForExistingUser()` | `--is-accepted` `--terms-of-service-user-status-id` | 0 | Updates the acceptance status of a terms of service for a user who has previously accepted or rejected it |
| `update-user` | `box.updateUser()` | `--user-id` | 22 | Updates a managed or app user in an enterprise |
| `update-web-link` | `box.updateWebLink()` | `--web-link-id` | 8 | Updates a web link object |
| `update-webhook` | `box.updateWebhook()` | `--webhook-id` | 4 | Updates an existing webhook's configuration |
| `upload-file` | `box.uploadFile()` | `--file` | 2 | Uploads a small file to Box |
| `upload-file-version` | `box.uploadFileVersion()` | `--file` `--file-id` | 1 | Update a file's content |
| `upload-part-of-file` | `box.uploadPartOfFile()` | `--file` `--offset` `--total-size` `--upload-session-id` | 0 | Uploads a chunk of a file for an upload session |

## Triggers

`box.on("<event>", handler)` in a script; required config goes before the handler as an object.

| Event | Name | Required config | Description |
|---|---|---|---|
| `"collaboration-details-changed"` | Collaboration Details Changed | `collaboration_id` | Triggers when a collaboration's details change (e.g., role, status, expiration) |
| `"comment-changed"` | Comment Changed | `comment_id` | Triggers when a comment's content or details change in Box |
| `"file-comment-added"` | New File Comment Added | `file_id` | Triggers when a new comment is added to a file in Box |
| `"file-metadata-changed"` | File Metadata Changed | `file_id` | Triggers when a file's metadata or properties change in Box |
| `"file-shared-link-changed"` | File Shared Link Changed | `file_id` | Triggers when a file's shared link settings change in Box |
| `"file-version-uploaded"` | New File Version Uploaded | `file_id` | Triggers when a new file version is uploaded to a file in Box |
| `"folder-item-added"` | New Item Added to Folder | `folder_id` | Triggers when a new item (file, folder, or web link) is added to a folder in Box |
| `"folder-properties-changed"` | Folder Properties Changed | `folder_id` | Triggers when a folder's core properties change in Box |
| `"folder-shared-link-changed"` | Folder Shared Link Changed | `folder_id` | Triggers when a folder's shared link settings change in Box |
| `"new-file-added"` | New File Added to Folder | `folder_id` | Triggers when a new file is added to a folder in Box |
| `"new-folder-collaboration-created"` | New Folder Collaboration Created | `folder_id` | Triggers when a new collaboration is created on a specific folder in Box |
| `"new-pending-collaboration"` | New Pending Collaboration Invite | — | Triggers when a new pending collaboration invite is created |
| `"new-sign-request-created"` | New Sign Request Created | — | Triggers when a new Box sign request is created |
| `"new-task-assignment"` | New Task Assignment Added | `task_id` | Triggers when a new assignment is added to a task in Box |
| `"new-task-created"` | New Task Created on File | `file_id` | Triggers when a new task is created on a Box file |
| `"sign-request-status-changed"` | Box Sign Request Status Changed | `sign_request_id` | Triggers when a Box Sign request's status or meaningful fields change |
| `"task-assignment-state-changed"` | Task Assignment State Changed | `task_id` | Triggers when a task assignment's state changes |
| `"task-state-changed"` | Task State Changed | `task_id` | Triggers when a task's status or details change in Box |
| `"trashed-file-state-changed"` | Trashed File State Changed | `file_id` | Triggers when a file's trash state changes in Box |
| `"trashed-folder-state-changed"` | Trashed Folder State Changed | `folder_id` | Triggers when a folder's trash state changes in Box |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
