Details
| ID | Box v2 |
|---|---|
| Provider | Box |
| Category | IT Services |
| From Version | 5.0.0 |
| Docker Image | demisto/auth-utils:1.0.0.10133006 |
| Supported Modules | Agentix XSIAM |
README
Manage Box users
This integration was integrated and tested with API version 2.0 of Box v2
Configure the Box Application to Interface with XSOAR
- Navigate to the developer console for Box.
- Click Create a New App.
- Select Custom App and when prompted, select Server Authentication (with JWT)
- Enter your desired App Name.
- In the Configuration menu under Application Access, select Enterprise.
- Under the Advanced Features option, enable both Perform Actions as Users and Generate User Access Tokens.
- In the Add and Manage Public Keys section, click Generate a Public/Private Keypair and follow the prompts.
- Click Save Changes in the upper right-hand corner.
- Navigate to the bottom of the page and select Download as a JSON.
Once you have obtained the JSON file, copy and paste its contents into the Credentials JSON parameter.
Before testing the integration, navigate to the General Settings for your app in the developer console and click
Review and Submit. Your enterprise admin will need to approve the app before your integration will start working.
From the General Settings menu, you may also obtain your User ID for the service account.
Configure Box v2 on Cortex XSOAR
- Navigate to Settings > Integrations > Servers & Services.
- Search for Box v2.
-
Click Add instance to create and configure a new integration instance.
Parameter Description Required insecure Trust any certificate (not secure) False credentials_json Credentials JSON True as_user As User for Fetching Incidents False event_type False default_user Default User False search_user_id Auto-detect user IDs based on their email address. False incidentType Incident type False isFetch Fetch incidents False first_fetch First fetch timestamp ( <number><time unit>, e.g., 12 hours, 7 days)False max_fetch False - Click Test to validate the URLs, token, and connection.
Differences between Box (Deprecated) and Box v2
- Context outputs were changed to be nested under the entity type for each command. For example, user outputs
used to be stored under the context root, Box. In this version they are stored under the entity Box.Users. - Authentication is handled via JSON Web Tokens (JWT) and no longer requires each command to retrieve an authentication
token manually. - All results given via the Box API is returned into the context.
Commands
You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.
box-search-content
Searches for files, folders, web links, and shared files across the users content or across the entire enterprise.
Base Command
box-search-content
Input
| Argument Name | Description | Required |
|---|---|---|
| type | Limits the search results to any items of this type. This parameter only takes one value. By default the API returns items that match any of these types. Possible values are: file, folder, web_link. | Optional |
| ancestor_folder_ids | A comma-separated lists of folder IDs that limits the search results to items within the given list of folders. | Optional |
| item_name | Query for an item by name. | Optional |
| item_description | The description of the item to search for. | Optional |
| comments | The comments of the item to search for. | Optional |
| tag | The tag of the item to search for. | Optional |
| created_range | A comma-separated list of the time frame of when the item was created. Can be RFC3339 timestamps, or relative to the current time (e.g., 3 Days). | Optional |
| file_extensions | Limits the search results to any files that match any of the provided file extensions. | Optional |
| limit | The maximum number of items to return as part of a page of results. Default is “100”. | Optional |
| offset | The offset of the item at which to begin the response. Default is “0”. | Optional |
| owner_uids | A comma-separated list of user IDs used to limit the search results to any items that are owned by the given list of owners. | Optional |
| trash_content | Whether the search should look in the trash for items. | Optional |
| updated_at_range | Limits the search results to any items updated within a given date range. | Optional |
| query | The string to search for. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.Query.id | Number | The ID of the item found. |
| Box.Query.etag | Number | The entry tag for the item found. |
| Box.Query.type | String | The type of the item found. |
| Box.Query.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.Query.name | String | The name of the item. |
| Box.Query.sha1 | String | The SHA1 hash of the item. |
| Box.Query.file_version.id | Number | The unique identifier that represent a file version. |
| Box.Query.file_version.type | String | Value is always file_version. |
| Box.Query.file_version.sha1 | String | The SHA1 hash of this version of the file. |
| Box.Query.description | String | The description of the item. |
| Box.Query.size | Number | The file size in bytes. |
| Box.Query.path_collection.total_count | Number | The number of folders in the list. |
| Box.Query.path_collection.entries.id | Number | The ID of the item found. |
| Box.Query.path_collection.entries.etag | Number | The entry tag for the item found. |
| Box.Query.path_collection.entries.type | String | The type of the item found. |
| Box.Query.path_collection.entries.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.Query.path_collection.entries.name | String | The name of the item. |
| Box.Query.created_at | Date | The date and time when the item was created on Box. |
| Box.Query.modified_at | Date | The date and time when the item was last updated on Box. |
| Box.Query.trashed_at | Date | The time at which the item was put in the trash. |
| Box.Query.purged_at | Date | The time at which the item is expected to be purged from the trash. |
| Box.Query.content_created_at | Date | The date and time at which the item was originally created, which might be before it was uploaded to Box. |
| Box.Query.content_modified_at | Date | The date and time at which the item was last updated, which might be before it was uploaded to Box. |
| Box.Query.created_by.id | Number | The unique identifier for the user who created the item. |
| Box.Query.created_by.type | String | Value is always user. |
| Box.Query.created_by.name | String | The display name of the user who created the item. |
| Box.Query.created_by.login | String | The primary email address of the user who created the item. |
| Box.Query.modified_by.id | Number | The unique identifier for the user who modified the item. |
| Box.Query.modified_by.type | String | Value is always user. |
| Box.Query.modified_by.name | String | The display name of the user who modified the item. |
| Box.Query.modified_by.login | String | The primary email address of the user who modified the item. |
| Box.Query.owned_by.id | Number | The unique identifier for the user who owns the item. |
| Box.Query.owned_by.type | String | Value is always user. |
| Box.Query.owned_by.name | String | The display name of the user who owns the item. |
| Box.Query.owned_by.login | String | The primary email address of the user who owns the item. |
| Box.Query.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.Query.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.Query.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.Query.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.Query.entries.shared_link.access | String | The access level for the shared link. |
| Box.Query.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.Query.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.Query.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.Query.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.Query.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.Query.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.Query.entries.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.Query.shared_link.preview_count | Number | The number of times the item has been previewed. |
| Box.Query.parent.id | Number | The ID of the parent for the item found |
| Box.Query.parent.etag | Number | The entry tag for the parent of the item found. |
| Box.Query.parent.type | String | The type for the parent of the item found. |
| Box.Query.parent.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the parent of the item. |
| Box.Query.parent.name | String | The name of the parent of the item. |
| Box.Query.item_status | String | The status of the parent of the item. |
Command Example
!box-search-content item_name="test" limit="1"
Context Example
{
"Box": {
"Query": {
"content_created_at": "2020-11-30T03:53:45-08:00",
"content_modified_at": "2020-11-30T03:53:45-08:00",
"created_at": "2020-11-30T03:53:45-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"folder_upload_email": null,
"id": "127109452066",
"item_status": "active",
"modified_at": "2020-11-30T03:53:45-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "test-demo name",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"shared_link": null,
"size": 0,
"trashed_at": null,
"type": "folder"
}
}
}
Human Readable Output
Search results
Content Created At Content Modified At Created At Created By Etag Id Item Status Modified At Modified By Name Owned By Parent Path Collection Sequence Id Size Type 2020-11-30T03:53:45-08:00 2020-11-30T03:53:45-08:00 2020-11-30T03:53:45-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com0 127109452066 active 2020-11-30T03:53:45-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.comtest-demo name type: user
id: 14342567114
name: Jane Doe
login: test@test.comtype: folder
id: 0
sequence_id: null
etag: null
name: All Filestotal_count: 1
entries: {‘type’: ‘folder’, ‘id’: ‘0’, ‘sequence_id’: None, ‘etag’: None, ‘name’: ‘All Files’}0 0 folder
box-find-file-folder-by-share-link
Return the file represented by a shared link.
Base Command
box-find-file-folder-by-share-link
Input
| Argument Name | Description | Required |
|---|---|---|
| shared_link | Linked used to share the file. | Required |
| password | Password used to access the shared link. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | Number | The ID of the item found. |
| Box.ShareLink.etag | Number | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
| Box.ShareLink.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.ShareLink.name | String | The name of the item. |
| Box.ShareLink.sha1 | String | The SHA1 hash of the item. |
| Box.ShareLink.file_version.id | Number | The unique identifier that represent a file version. |
| Box.ShareLink.file_version.type | String | Value is always file_version. |
| Box.ShareLink.file_version.sha1 | String | The SHA1 hash of this version of the file. |
| Box.ShareLink.description | String | The description of the item. |
| Box.ShareLink.size | Number | The file size in bytes. |
| Box.ShareLink.path_collection.total_count | Number | The number of folders in the list. |
| Box.ShareLink.path_collection.entries.id | Number | The ID of the item found. |
| Box.ShareLink.path_collection.entries.etag | Number | The entry tag for the item found. |
| Box.ShareLink.path_collection.entries.type | String | The type of the item found. |
| Box.ShareLink.path_collection.entries.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.ShareLink.path_collection.entries.name | String | The name of the item. |
| Box.ShareLink.created_at | Date | The date and time when the item was created on Box. |
| Box.ShareLink.modified_at | Date | The date and time when the item was last updated on Box. |
| Box.ShareLink.trashed_at | Date | The time at which the item was put in the trash. |
| Box.ShareLink.purged_at | Date | The time at which the item is expected to be purged from the trash. |
| Box.ShareLink.content_created_at | Date | The date and time at which the item was originally created, which might be before it was uploaded to Box. |
| Box.ShareLink.content_modified_at | Date | The date and time at which the item was last updated, which might be before it was uploaded to Box. |
| Box.ShareLink.created_by.id | Number | The unique identifier for the user who created the item. |
| Box.ShareLink.created_by.type | String | Value is always user. |
| Box.ShareLink.created_by.name | String | The display name of the user who created the item. |
| Box.ShareLink.created_by.login | String | The primary email address of the user who created the item. |
| Box.ShareLink.modified_by.id | Number | The unique identifier for the user who modified the item. |
| Box.ShareLink.modified_by.type | String | Value is always user. |
| Box.ShareLink.modified_by.name | String | The display name of the user who modified the item. |
| Box.ShareLink.modified_by.login | String | The primary email address of the user who modified the item. |
| Box.ShareLink.owned_by.id | Number | The unique identifier for the user who owns the item. |
| Box.ShareLink.owned_by.type | String | Value is always user. |
| Box.ShareLink.owned_by.name | String | The display name of the user who owns the item. |
| Box.ShareLink.owned_by.login | String | The primary email address of the user who owns the item. |
| Box.ShareLink.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.ShareLink.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.ShareLink.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.ShareLink.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.ShareLink.shared_link.access | String | The access level for the shared link. |
| Box.ShareLink.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.ShareLink.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.ShareLink.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.ShareLink.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.ShareLink.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.ShareLink.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.ShareLink.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.ShareLink.shared_link.preview_count | Number | The number of times the item has been previewed. |
| Box.ShareLink.parent.id | Number | The ID of the parent for the item found |
| Box.ShareLink.parent.etag | Number | The entry tag for the parent of the item found. |
| Box.ShareLink.parent.type | String | The type for the parent of the item found. |
| Box.ShareLink.parent.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the parent of the item. |
| Box.ShareLink.parent.name | String | The name of the parent of the item. |
| Box.ShareLink.item_status | String | The status of the parent of the item. |
Command Example
!box-find-file-folder-by-share-link shared_link="https://app.box.com/s/oyujr5qpxy1nbky394slw7n98v8pnpmy"
Context Example
{
"Box": {
"ShareLink": {
"content_created_at": "2020-11-25T05:20:55-08:00",
"content_modified_at": "2020-11-25T05:20:55-08:00",
"created_at": "2020-11-25T05:20:56-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "2",
"file_version": {
"id": "794731944502",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745868717302",
"item_status": "active",
"modified_at": "2020-12-01T06:28:21-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "55555.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": null,
"path_collection": {
"entries": [],
"total_count": 0
},
"purged_at": null,
"sequence_id": "2",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"shared_link": null,
"size": 26891788,
"trashed_at": null,
"type": "file"
}
}
}
Human Readable Output
File/Folder Share Link for
https://app.box.com/s/oyujr5qpxy1nbky394slw7n98v8pnpmy
Content Created At Content Modified At Created At Created By Etag File Version Id Item Status Modified At Modified By Name Owned By Path Collection Sequence Id Sha1 Size Type 2020-11-25T05:20:55-08:00 2020-11-25T05:20:55-08:00 2020-11-25T05:20:56-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com2 type: file_version
id: 794731944502
sha1: 1ff8be1766d9e16b0b651f89001e8e7375c9e71f745868717302 active 2020-12-01T06:28:21-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com55555.gif type: user
id: 14342567114
name: Jane Doe
login: test@test.comtotal_count: 0
entries:2 1ff8be1766d9e16b0b651f89001e8e7375c9e71f 26891788 file
box-get-shared-link-by-file
Gets the information for a shared link on a file.
Base Command
box-get-shared-link-by-file
Input
| Argument Name | Description | Required |
|---|---|---|
| file_id | The unique identifier that represent a file. | Required |
| as_user | The user ID for the account used to access the file. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | String | The ID of the item found. |
| Box.ShareLink.etag | String | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
| Box.ShareLink.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.ShareLink.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.ShareLink.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.ShareLink.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.ShareLink.entries.shared_link.access | String | The access level for the shared link. |
| Box.ShareLink.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.ShareLink.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.ShareLink.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.ShareLink.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.ShareLink.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.ShareLink.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.ShareLink.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.ShareLink.shared_link.preview_count | Number | The number of times the item has been previewed. |
Command Example
!box-get-shared-link-by-file file_id="742246263170" as_user="14342567114"
Context Example
{
"Box": {
"ShareLink": {
"etag": "17",
"id": "742246263170",
"shared_link": {
"access": "open",
"download_count": 0,
"download_url": "https://app.box.com/shared/static/khro4bw4g6ay68ye70gsnisqsp9c9r23.jpeg",
"effective_access": "open",
"effective_permission": "can_preview",
"is_password_enabled": false,
"permissions": {
"can_download": false,
"can_preview": true
},
"preview_count": 0,
"unshared_at": null,
"url": "https://app.box.com/s/khro4bw4g6ay68ye70gsnisqsp9c9r23",
"vanity_name": null,
"vanity_url": null
},
"type": "file"
}
}
}
Human Readable Output
Shared link information for the file 742246263170
Access Download Count Download Url Effective Access Effective Permission Is Password Enabled Permissions Preview Count Url open 0 https://app.box.com/shared/static/khro4bw4g6ay68ye70gsnisqsp9c9r23.jpegopen can_preview false can_preview: true
can_download: false0 https://app.box.com/s/khro4bw4g6ay68ye70gsnisqsp9c9r23
box-create-file-share-link
Adds a shared link to a file.
Base Command
box-create-file-share-link
Input
| Argument Name | Description | Required |
|---|---|---|
| file_id | The unique identifier that represent a file. | Optional |
| access | The level of access for the shared link. Possible values are: open, company, collaborators. | Optional |
| password | The password required to access the shared link. | Optional |
| unshared_at | The timestamp at which this shared link will expire. | Optional |
| can_download | If the shared link allows for downloading of files. Possible values are: true, false. | Optional |
| as_user | The user who is making the request. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | Number | The ID of the item found. |
| Box.ShareLink.etag | Number | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
| Box.ShareLink.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.ShareLink.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.ShareLink.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.ShareLink.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.ShareLink.entries.shared_link.access | String | The access level for the shared link. |
| Box.ShareLink.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.ShareLink.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.ShareLink.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.ShareLink.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.ShareLink.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.ShareLink.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.ShareLink.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.ShareLink.shared_link.preview_count | Number | The number of times the item has been previewed. |
Command Example
!box-create-file-share-link file_id="742246263170" access="open" as_user="14342567114"
Context Example
{
"Box": {
"ShareLink": {
"etag": "17",
"id": "742246263170",
"shared_link": {
"access": "open",
"download_count": 0,
"download_url": "https://app.box.com/shared/static/khro4bw4g6ay68ye70gsnisqsp9c9r23.jpeg",
"effective_access": "open",
"effective_permission": "can_preview",
"is_password_enabled": false,
"permissions": {
"can_download": false,
"can_preview": true
},
"preview_count": 0,
"unshared_at": null,
"url": "https://app.box.com/s/khro4bw4g6ay68ye70gsnisqsp9c9r23",
"vanity_name": null,
"vanity_url": null
},
"type": "file"
}
}
}
Human Readable Output
File Share Link was created/updated for file_id: 742246263170
Access Download Count Download Url Effective Access Effective Permission Is Password Enabled Permissions Preview Count Url open 0 https://app.box.com/shared/static/khro4bw4g6ay68ye70gsnisqsp9c9r23.jpegopen can_preview false can_preview: true
can_download: false0 https://app.box.com/s/khro4bw4g6ay68ye70gsnisqsp9c9r23
box-update-file-share-link
Updates a shared link on a file.
Base Command
box-update-file-share-link
Input
| Argument Name | Description | Required |
|---|---|---|
| access | The level of access for the shared link. Possible values are: open, company, collaborators. | Optional |
| password | The password required to access the shared link. | Optional |
| unshared_at | The timestamp at which this shared link will expire. | Optional |
| can_download | If the shared link allows for downloading of files. Possible values are: true, false. | Optional |
| file_id | The unique identifier that represent a file. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | Number | The ID of the item found. |
| Box.ShareLink.etag | Number | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
| Box.ShareLink.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.ShareLink.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.ShareLink.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.ShareLink.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.ShareLink.entries.shared_link.access | String | The access level for the shared link. |
| Box.ShareLink.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.ShareLink.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.ShareLink.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.ShareLink.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.ShareLink.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.ShareLink.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.ShareLink.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.ShareLink.shared_link.preview_count | Number | The number of times the item has been previewed. |
Command Example
!box-update-file-share-link file_id="742246263170" as_user="14342567114"
Context Example
{
"Box": {
"ShareLink": {
"etag": "19",
"id": "742246263170",
"shared_link": {
"access": "open",
"download_count": 0,
"download_url": "https://app.box.com/shared/static/g3xy2he56jd2hfakjv5ptik08de8v15f.jpeg",
"effective_access": "open",
"effective_permission": "can_preview",
"is_password_enabled": false,
"permissions": {
"can_download": false,
"can_preview": true
},
"preview_count": 0,
"unshared_at": null,
"url": "https://app.box.com/s/g3xy2he56jd2hfakjv5ptik08de8v15f",
"vanity_name": null,
"vanity_url": null
},
"type": "file"
}
}
}
Human Readable Output
File Share Link was created/updated for file_id: 742246263170
Access Download Count Download Url Effective Access Effective Permission Is Password Enabled Permissions Preview Count Url open 0 https://app.box.com/shared/static/g3xy2he56jd2hfakjv5ptik08de8v15f.jpegopen can_preview false can_preview: true
can_download: false0 https://app.box.com/s/g3xy2he56jd2hfakjv5ptik08de8v15f
box-remove-file-share-link
Removes a shared link from a file.
Base Command
box-remove-file-share-link
Input
| Argument Name | Description | Required |
|---|---|---|
| file_id | The unique identifier that represents a file. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | String | The ID of the item found. |
| Box.ShareLink.etag | String | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
Command Example
!box-remove-file-share-link file_id="742246263170" as_user="test@test.com"
Context Example
{
"Box": {
"ShareLink": {
"etag": "18",
"id": "742246263170",
"shared_link": null,
"type": "file"
}
}
}
Human Readable Output
File Share Link for the file_id 742246263170 was removed.
box-get-shared-link-by-folder
Gets the information for a shared link on a folder.
Base Command
box-get-shared-link-by-folder
Input
| Argument Name | Description | Required |
|---|---|---|
| folder_id | The unique identifier that represent a folder. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | String | The ID of the item found. |
| Box.ShareLink.etag | String | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
| Box.ShareLink.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.ShareLink.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.ShareLink.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.ShareLink.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.ShareLink.entries.shared_link.access | String | The access level for the shared link. |
| Box.ShareLink.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.ShareLink.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.ShareLink.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.ShareLink.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.ShareLink.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.ShareLink.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.ShareLink.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.ShareLink.shared_link.preview_count | Number | The number of times the item has been previewed. |
Command Example
!box-get-shared-link-by-folder folder_id="125959916474" as_user="14342567114"
Context Example
{
"Box": {
"FolderShareLink": {
"etag": "0",
"id": "125959916474",
"shared_link": {
"access": "open",
"download_count": 0,
"download_url": null,
"effective_access": "open",
"effective_permission": "can_preview",
"is_password_enabled": false,
"permissions": {
"can_download": false,
"can_preview": true
},
"preview_count": 0,
"unshared_at": null,
"url": "https://app.box.com/s/qmfynlq5bpaq5cn7nnbet8vh9nnsswqi",
"vanity_name": null,
"vanity_url": null
},
"type": "folder"
}
}
}
Human Readable Output
Shared link information for the folder 125959916474
Etag Id Shared Link Type 0 125959916474 url: https://app.box.com/s/qmfynlq5bpaq5cn7nnbet8vh9nnsswqi
download_url: null
vanity_url: null
vanity_name: null
effective_access: open
effective_permission: can_preview
is_password_enabled: false
unshared_at: null
download_count: 0
preview_count: 0
access: open
permissions: {“can_preview”: true, “can_download”: false}folder
box-create-folder-share-link
Adds a shared link to a folder.
Base Command
box-create-folder-share-link
Input
| Argument Name | Description | Required |
|---|---|---|
| access | The level of access for the shared link. Possible values are: open, company, collaborators. | Optional |
| password | The password required to access the shared link. | Optional |
| unshared_at | The timestamp at which this shared link will expire. | Optional |
| can_download | If the shared link allows for downloading of folders. Possible values are: true, false. | Optional |
| folder_id | The unique identifier that represent a folder. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | String | The ID of the item found. |
| Box.ShareLink.etag | String | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
| Box.ShareLink.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.ShareLink.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.ShareLink.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.ShareLink.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.ShareLink.entries.shared_link.access | String | The access level for the shared link. |
| Box.ShareLink.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.ShareLink.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.ShareLink.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.ShareLink.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.ShareLink.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.ShareLink.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.ShareLink.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.ShareLink.shared_link.preview_count | Number | The number of times the item has been previewed. |
Command Example
!box-create-folder-share-link folder_id="125959916474" as_user="14342567114"
Context Example
{
"Box": {
"ShareLink": {
"etag": "0",
"id": "125959916474",
"shared_link": {
"access": "open",
"download_count": 0,
"download_url": null,
"effective_access": "open",
"effective_permission": "can_preview",
"is_password_enabled": false,
"permissions": {
"can_download": false,
"can_preview": true
},
"preview_count": 0,
"unshared_at": null,
"url": "https://app.box.com/s/qmfynlq5bpaq5cn7nnbet8vh9nnsswqi",
"vanity_name": null,
"vanity_url": null
},
"type": "folder"
}
}
}
Human Readable Output
Folder Share Link for 125959916474
Etag Id Shared Link Type 0 125959916474 url: https://app.box.com/s/qmfynlq5bpaq5cn7nnbet8vh9nnsswqi
download_url: null
vanity_url: null
vanity_name: null
effective_access: open
effective_permission: can_preview
is_password_enabled: false
unshared_at: null
download_count: 0
preview_count: 0
access: open
permissions: {“can_preview”: true, “can_download”: false}folder
box-update-folder-share-link
Updates a shared link on a folder.
Base Command
box-update-folder-share-link
Input
| Argument Name | Description | Required |
|---|---|---|
| folder_id | The unique identifier that represent a folder. | Required |
| as_user | The user who is performing the action. | Optional |
| access | The level of access for the shared link. Possible values are: open, company, collaborators. | Optional |
| password | The password required to access the shared link. | Optional |
| unshared_at | The timestamp at which this shared link will expire. | Optional |
| can_download | If the shared link allows for downloading of folders. Possible values are: true, false. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | String | The ID of the item found. |
| Box.ShareLink.etag | String | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
| Box.ShareLink.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.ShareLink.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.ShareLink.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.ShareLink.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.ShareLink.entries.shared_link.access | String | The access level for the shared link. |
| Box.ShareLink.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.ShareLink.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.ShareLink.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.ShareLink.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.ShareLink.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.ShareLink.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.ShareLink.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.ShareLink.shared_link.preview_count | Number | The number of times the item has been previewed. |
Command Example
!box-update-folder-share-link folder_id="125959916474" as_user="14342567114" access="open" can_download="false"
Context Example
{
"Box": {
"ShareLink": {
"etag": "0",
"id": "125959916474",
"shared_link": {
"access": "open",
"download_count": 0,
"download_url": null,
"effective_access": "open",
"effective_permission": "can_preview",
"is_password_enabled": false,
"permissions": {
"can_download": false,
"can_preview": true
},
"preview_count": 0,
"unshared_at": null,
"url": "https://app.box.com/s/uaigc08phyoxnx59nlllecax7mfsrfb1",
"vanity_name": null,
"vanity_url": null
},
"type": "folder"
}
}
}
Human Readable Output
Folder Share Link for 125959916474
Etag Id Shared Link Type 0 125959916474 url: https://app.box.com/s/uaigc08phyoxnx59nlllecax7mfsrfb1
download_url: null
vanity_url: null
vanity_name: null
effective_access: open
effective_permission: can_preview
is_password_enabled: false
unshared_at: null
download_count: 0
preview_count: 0
access: open
permissions: {“can_preview”: true, “can_download”: false}folder
box-remove-folder-share-link
Removes a shared link from a folder.
Base Command
box-remove-folder-share-link
Input
| Argument Name | Description | Required |
|---|---|---|
| folder_id | The unique identifier that represent a folder. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | String | The ID of the item found. |
| Box.ShareLink.etag | String | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
Command Example
!box-remove-folder-share-link folder_id="125959916474" as_user="test@test.com"
Context Example
{
"Box": {
"ShareLink": {
"etag": "0",
"id": "125959916474",
"shared_link": null,
"type": "folder"
}
}
}
Human Readable Output
Folder Share Link for 125959916474 was removed
Etag Id Type 0 125959916474 folder
box-get-folder
Retrieves details for a folder, including the first 100 entries in the folder.
Base Command
box-get-folder
Input
| Argument Name | Description | Required |
|---|---|---|
| folder_id | The unique identifier that represent a folder. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.ShareLink.id | Number | The ID of the item found. |
| Box.ShareLink.etag | Number | The entry tag for the item found. |
| Box.ShareLink.type | String | The type of the item found. |
| Box.ShareLink.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.ShareLink.name | String | The name of the item. |
| Box.ShareLink.sha1 | String | The SHA1 hash of the item. |
| Box.ShareLink.file_version.id | Number | The unique identifier that represent a file version. |
| Box.ShareLink.file_version.type | String | Value is always file_version. |
| Box.ShareLink.file_version.sha1 | String | The SHA1 hash of this version of the file. |
| Box.ShareLink.description | String | The description of the item. |
| Box.ShareLink.size | Number | The file size in bytes. |
| Box.ShareLink.path_collection.total_count | Number | The number of folders in the list. |
| Box.ShareLink.path_collection.entries.id | Number | The ID of the item found. |
| Box.ShareLink.path_collection.entries.etag | Number | The entry tag for the item found. |
| Box.ShareLink.path_collection.entries.type | String | The type of the item found. |
| Box.ShareLink.path_collection.entries.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.ShareLink.path_collection.entries.name | String | The name of the item. |
| Box.ShareLink.created_at | Date | The date and time when the item was created on Box. |
| Box.ShareLink.modified_at | Date | The date and time when the item was last updated on Box. |
| Box.ShareLink.trashed_at | Date | The time at which the item was put in the trash. |
| Box.ShareLink.purged_at | Date | The time at which the item is expected to be purged from the trash. |
| Box.ShareLink.content_created_at | Date | The date and time at which the item was originally created, which might be before it was uploaded to Box. |
| Box.ShareLink.content_modified_at | Date | The date and time at which the item was last updated, which might be before it was uploaded to Box. |
| Box.ShareLink.created_by.id | Number | The unique identifier for the user who created the item. |
| Box.ShareLink.created_by.type | String | Value is always user. |
| Box.ShareLink.created_by.name | String | The display name of the user who created the item. |
| Box.ShareLink.created_by.login | String | The primary email address of the user who created the item. |
| Box.ShareLink.modified_by.id | Number | The unique identifier for the user who modified the item. |
| Box.ShareLink.modified_by.type | String | Value is always user. |
| Box.ShareLink.modified_by.name | String | The display name of the user who modified the item. |
| Box.ShareLink.modified_by.login | String | The primary email address of the user who modified the item. |
| Box.ShareLink.owned_by.id | Number | The unique identifier for the user who owns the item. |
| Box.ShareLink.owned_by.type | String | Value is always user. |
| Box.ShareLink.owned_by.name | String | The display name of the user who owns the item. |
| Box.ShareLink.owned_by.login | String | The primary email address of the user who owns the item. |
| Box.ShareLink.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.ShareLink.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.ShareLink.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.ShareLink.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.ShareLink.shared_link.access | String | The access level for the shared link. |
| Box.ShareLink.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.ShareLink.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.ShareLink.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.ShareLink.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.ShareLink.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.ShareLink.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.ShareLink.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.ShareLink.shared_link.preview_count | Number | The number of times the item has been previewed. |
| Box.ShareLink.parent.id | Number | The ID of the parent for the item found |
| Box.ShareLink.parent.etag | Number | The entry tag for the parent of the item found. |
| Box.ShareLink.parent.type | String | The type for the parent of the item found. |
| Box.ShareLink.parent.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the parent of the item. |
| Box.ShareLink.parent.name | String | The name of the parent of the item. |
| Box.ShareLink.item_status | String | The status of the parent of the item. |
Command Example
!box-get-folder folder_id="0" as_user="14342567114"
Context Example
{
"Box": {
"Folder": {
"content_created_at": null,
"content_modified_at": null,
"created_at": null,
"created_by": {
"id": "",
"login": "",
"name": "",
"type": "user"
},
"description": "",
"etag": null,
"folder_upload_email": null,
"id": "0",
"item_collection": {
"entries": [
{
"etag": "0",
"id": "125959916474",
"name": "My Box Notes",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "128036492321",
"name": "Sample Folder for Docs",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "126452434994",
"name": "Sample Testing Folder",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "127912817927",
"name": "Sample Testing Folder 2",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "126469445717",
"name": "Sample Testing Folder test",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "127304720432",
"name": "Sample Testing Folder test1",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "127109452066",
"name": "test-demo name",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "2",
"file_version": {
"id": "794731944502",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745868717302",
"name": "55555.gif",
"sequence_id": "2",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "802646696736",
"sha1": "f401d87fa1cc4f96a357c564bf0de2e19ccf9d1f",
"type": "file_version"
},
"id": "752998071936",
"name": "customers.jpg",
"sequence_id": "0",
"sha1": "f401d87fa1cc4f96a357c564bf0de2e19ccf9d1f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794713426050",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745851995250",
"name": "image.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794716642653",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745854929853",
"name": "image1.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794719141622",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745857164822",
"name": "image2.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794721102684",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745859107884",
"name": "image3.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794733314512",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745870218112",
"name": "image4.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794736891054",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745873525854",
"name": "image6_please_work.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "2",
"file_version": {
"id": "792056280660",
"sha1": "533a85c782614a6dfe19b83f7d628466ceb00c39",
"type": "file_version"
},
"id": "743439873060",
"name": "new-devs-touching-the-build.gif",
"sequence_id": "2",
"sha1": "533a85c782614a6dfe19b83f7d628466ceb00c39",
"type": "file"
},
{
"etag": "5",
"file_version": {
"id": "794764999514",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"type": "file_version"
},
"id": "745898898314",
"name": "testing event1234.gif",
"sequence_id": "5",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"type": "file"
},
{
"etag": "3",
"file_version": {
"id": "803108695891",
"sha1": "30d8caa24c8526fa13d80e489ea16ff544d988db",
"type": "file_version"
},
"id": "753421883491",
"name": "vandijk5.gif",
"sequence_id": "3",
"sha1": "30d8caa24c8526fa13d80e489ea16ff544d988db",
"type": "file"
}
],
"limit": 100,
"offset": 0,
"order": [
{
"by": "type",
"direction": "ASC"
},
{
"by": "name",
"direction": "ASC"
}
],
"total_count": 18
},
"item_status": "active",
"modified_at": null,
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "All Files",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": null,
"path_collection": {
"entries": [],
"total_count": 0
},
"purged_at": null,
"sequence_id": null,
"shared_link": null,
"size": 212311360,
"trashed_at": null,
"type": "folder"
}
}
}
Human Readable Output
Folder overview for 0
Created By Id Item Status Modified By Name Owned By Path Collection Size Type type: user
id:
name:
login:0 active type: user
id: 14342567114
name: Jane Doe
login: test@test.comAll Files type: user
id: 14342567114
name: Jane Doe
login: test@test.comtotal_count: 0
entries:212311360 folder File contents for the folder 0
Etag Id Name Sequence Id Type 0 125959916474 My Box Notes 0 folder 0 128036492321 Sample Folder for Docs 0 folder 0 126452434994 Sample Testing Folder 0 folder 0 127912817927 Sample Testing Folder 2 0 folder 0 126469445717 Sample Testing Folder test 0 folder 0 127304720432 Sample Testing Folder test1 0 folder 0 127109452066 test-demo name 0 folder 2 745868717302 55555.gif 2 file 0 752998071936 customers.jpg 0 file 0 745851995250 image.gif 0 file 0 745854929853 image1.gif 0 file 0 745857164822 image2.gif 0 file 0 745859107884 image3.gif 0 file 0 745870218112 image4.gif 0 file 0 745873525854 image6_please_work.gif 0 file 2 743439873060 new-devs-touching-the-build.gif 2 file 5 745898898314 testing event1234.gif 5 file 3 753421883491 vandijk5.gif 3 file
box-list-folder-items
Retrieves a page of items in a folder.
Base Command
box-list-folder-items
Input
| Argument Name | Description | Required |
|---|---|---|
| folder_id | The unique identifier that represent a folder. | Required |
| as_user | The user who is performing the action. | Optional |
| limit | The maximum number of items to return per page. Default is “100”. | Optional |
| offset | The offset of the item at which to begin the response. Default is “0”. | Optional |
| sort | The field the results should be sorted by. Possible values are: id, name, date, size. Default is name. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.Folder.id | Number | The ID of the folder. |
| Box.Folder.etag | Number | The entity tag of the folder. |
| Box.Folder.type | String | Value is always `folder`. |
| Box.Folder.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.Folder.name | String | The name of the folder. |
| Box.Folder.sha1 | String | The SHA1 has of the folder. |
| Box.Folder.file_version.id | Number | The unique identifier that represent a file version. |
| Box.Folder.file_version.type | String | Value is always file_version. |
| Box.Folder.file_version.sha1 | String | The SHA1 hash of this version of the file. |
Command Example
!box-list-folder-items folder_id="0" as_user="test@test.com"
Context Example
{
"Box": {
"Folder": {
"content_created_at": null,
"content_modified_at": null,
"created_at": null,
"created_by": {
"id": "",
"login": "",
"name": "",
"type": "user"
},
"description": "",
"etag": null,
"folder_upload_email": null,
"id": "0",
"item_collection": {
"entries": [
{
"etag": "0",
"id": "125959916474",
"name": "My Box Notes",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "128036492321",
"name": "Sample Folder for Docs",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "126452434994",
"name": "Sample Testing Folder",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "127912817927",
"name": "Sample Testing Folder 2",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "126469445717",
"name": "Sample Testing Folder test",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "127304720432",
"name": "Sample Testing Folder test1",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "0",
"id": "127109452066",
"name": "test-demo name",
"sequence_id": "0",
"type": "folder"
},
{
"etag": "2",
"file_version": {
"id": "794731944502",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745868717302",
"name": "55555.gif",
"sequence_id": "2",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "802646696736",
"sha1": "f401d87fa1cc4f96a357c564bf0de2e19ccf9d1f",
"type": "file_version"
},
"id": "752998071936",
"name": "customers.jpg",
"sequence_id": "0",
"sha1": "f401d87fa1cc4f96a357c564bf0de2e19ccf9d1f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794713426050",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745851995250",
"name": "image.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794716642653",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745854929853",
"name": "image1.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794719141622",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745857164822",
"name": "image2.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794721102684",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745859107884",
"name": "image3.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794733314512",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745870218112",
"name": "image4.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "0",
"file_version": {
"id": "794736891054",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745873525854",
"name": "image6_please_work.gif",
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file"
},
{
"etag": "2",
"file_version": {
"id": "792056280660",
"sha1": "533a85c782614a6dfe19b83f7d628466ceb00c39",
"type": "file_version"
},
"id": "743439873060",
"name": "new-devs-touching-the-build.gif",
"sequence_id": "2",
"sha1": "533a85c782614a6dfe19b83f7d628466ceb00c39",
"type": "file"
},
{
"etag": "5",
"file_version": {
"id": "794764999514",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"type": "file_version"
},
"id": "745898898314",
"name": "testing event1234.gif",
"sequence_id": "5",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"type": "file"
},
{
"etag": "3",
"file_version": {
"id": "803108695891",
"sha1": "30d8caa24c8526fa13d80e489ea16ff544d988db",
"type": "file_version"
},
"id": "753421883491",
"name": "vandijk5.gif",
"sequence_id": "3",
"sha1": "30d8caa24c8526fa13d80e489ea16ff544d988db",
"type": "file"
}
],
"limit": 100,
"offset": 0,
"order": [
{
"by": "type",
"direction": "ASC"
},
{
"by": "name",
"direction": "ASC"
}
],
"total_count": 18
},
"item_status": "active",
"modified_at": null,
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "All Files",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": null,
"path_collection": {
"entries": [],
"total_count": 0
},
"purged_at": null,
"sequence_id": null,
"shared_link": null,
"size": 212311360,
"trashed_at": null,
"type": "folder"
}
}
}
Human Readable Output
Folder overview for 0
Created By Id Item Status Modified By Name Owned By Path Collection Size Type type: user
id:
name:
login:0 active type: user
id: 14342567114
name: Jane Doe
login: test@test.comAll Files type: user
id: 14342567114
name: Jane Doe
login: test@test.comtotal_count: 0
entries:212311360 folder File contents for the folder 0
Etag Id Name Sequence Id Type 0 125959916474 My Box Notes 0 folder 0 128036492321 Sample Folder for Docs 0 folder 0 126452434994 Sample Testing Folder 0 folder 0 127912817927 Sample Testing Folder 2 0 folder 0 126469445717 Sample Testing Folder test 0 folder 0 127304720432 Sample Testing Folder test1 0 folder 0 127109452066 test-demo name 0 folder 2 745868717302 55555.gif 2 file 0 752998071936 customers.jpg 0 file 0 745851995250 image.gif 0 file 0 745854929853 image1.gif 0 file 0 745857164822 image2.gif 0 file 0 745859107884 image3.gif 0 file 0 745870218112 image4.gif 0 file 0 745873525854 image6_please_work.gif 0 file 2 743439873060 new-devs-touching-the-build.gif 2 file 5 745898898314 testing event1234.gif 5 file 3 753421883491 vandijk5.gif 3 file
box-folder-create
Creates a new empty folder within the specified parent folder.
Base Command
box-folder-create
Input
| Argument Name | Description | Required |
|---|---|---|
| name | The name for the new folder. | Required |
| parent_id | The parent folder to create the new folder within. Default is 0. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.Folder.id | Number | The ID of the folder created. |
| Box.Folder.etag | Number | The entry tag for the folder created. |
| Box.Folder.type | String | The type of folder. |
| Box.Folder.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the folder. |
| Box.Folder.name | String | The name of the folder. |
| Box.Folder.sha1 | String | The SHA1 hash of the folder. |
| Box.Folder.file_version.id | Number | The unique identifier that represents a file version. |
| Box.Folder.file_version.type | String | Value is always file_version. |
| Box.Folder.file_version.sha1 | String | The SHA1 hash of this version of the file. |
| Box.Folder.description | String | The description of the item. |
| Box.Folder.size | Number | The folder size in bytes. |
| Box.Folder.path_collection.total_count | Number | The number of folders in the list. |
| Box.Folder.path_collection.entries.id | Number | The ID of the item found. |
| Box.Folder.path_collection.entries.etag | Number | The entry tag for the item found. |
| Box.Folder.path_collection.entries.type | String | The type of the item found. |
| Box.Folder.path_collection.entries.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.Folder.path_collection.entries.name | String | The name of the item. |
| Box.Folder.created_at | Date | The date and time when the item was created on Box. |
| Box.Folder.modified_at | Date | The date and time when the item was last updated on Box. |
| Box.Folder.trashed_at | Date | The time at which the item was put in the trash. |
| Box.Folder.purged_at | Date | The time at which the item is expected to be purged from the trash. |
| Box.Folder.content_created_at | Date | The date and time at which the item was originally created, which might be before it was uploaded to Box. |
| Box.Folder.content_modified_at | Date | The date and time at which the item was last updated, which might be before it was uploaded to Box. |
| Box.Folder.created_by.id | Number | The unique identifier for the user who created the item. |
| Box.Folder.created_by.type | String | Value is always user. |
| Box.Folder.created_by.name | String | The display name of the user who created the item. |
| Box.Folder.created_by.login | String | The primary email address of the user who created the item. |
| Box.Folder.modified_by.id | Number | The unique identifier for the user who modified the item. |
| Box.Folder.modified_by.type | String | Value is always user. |
| Box.Folder.modified_by.name | String | The display name of the user who modified the item. |
| Box.Folder.modified_by.login | String | The primary email address of the user who modified the item. |
| Box.Folder.owned_by.id | Number | The unique identifier for the user who owns the item. |
| Box.Folder.owned_by.type | String | Value is always user. |
| Box.Folder.owned_by.name | String | The display name of the user who owns the item. |
| Box.Folder.owned_by.login | String | The primary email address of the user who owns the item. |
| Box.Folder.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.Folder.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.Folder.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.Folder.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.Folder.shared_link.access | String | The access level for the shared link. |
| Box.Folder.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.Folder.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.Folder.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.Folder.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.Folder.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.Folder.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.Folder.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.Folder.shared_link.preview_count | Number | The number of times the item has been previewed. |
| Box.Folder.parent.id | Number | The ID of the parent for the item found |
| Box.Folder.parent.etag | Number | The entry tag for the parent of the item found. |
| Box.Folder.parent.type | String | The type for the parent of the item found. |
| Box.Folder.parent.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the parent of the item. |
| Box.Folder.parent.name | String | The name of the parent of the item. |
| Box.Folder.item_status | String | The status of the parent of the item. |
Command Example
!box-folder-create name="Sample Folder for Docs" parent_id="0" as_user="14342567114"
Context Example
{
"Box": {
"Folder": {
"etag": "0",
"id": "128036492321",
"shared_link": null,
"type": "folder"
}
}
}
Human Readable Output
Folder named Sample Folder for Docs, was successfully created.
box-file-delete
Deletes a file, either permanently or by moving it to the trash.
Base Command
box-file-delete
Input
| Argument Name | Description | Required |
|---|---|---|
| file_id | The unique identifier that represent a file. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
There is no context output for this command.
Command Example
!box-file-delete file_id="751526132294" as_user="14342567114"
Context Example
{}
Human Readable Output
The file 751526132294 was successfully deleted.
box-list-users
Returns a list of all users for the Enterprise along with their user_id, public_name, and login.
Base Command
box-list-users
Input
| Argument Name | Description | Required |
|---|---|---|
| fields | Attributes to include in the response. Possible values are: id, type, name. | Optional |
| filter_term | Limits the results to only users who’s name or login start with the search term. | Optional |
| limit | The maximum number of items to return per page. Default is “100”. | Optional |
| offset | The offset of the item at which to begin the response. Default is “0”. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.User.id | Number | The unique identifier for this user. |
| Box.User.type | String | Value is always user. |
| Box.User.name | String | The display name of this user. |
| Box.User.login | String | The primary email address of this user. |
| Box.User.created_at | Date | When the user object was created. |
| Box.User.modified_at | Date | When the user object was last modified. |
| Box.User.language | String | The language of the user, formatted in a modified version of the ISO 639-1 format. |
| Box.User.timezone | String | The user’s timezone. |
| Box.User.space_amount | Number | The user’s total available space amount in bytes. |
| Box.User.space_used | Number | The amount of space in use by the user. |
| Box.User.max_upload_size | Number | The maximum individual file size in bytes the user can have. |
| Box.User.status | String | The user’s account status. |
| Box.User.job_title | String | The user’s job title. |
| Box.User.phone | Number | The users phone number. |
| Box.User.address | String | The user’s address. |
| Box.User.avatar_url | String | URL of the user’s avatar image |
| Box.User.notification_email.email | String | The email address to send the notifications to. |
| Box.User.notification_email.is_confirmed | Boolean | Specifies if this email address has been confirmed. |
Command Example
!box-list-users fields=name filter_term="Andrew"
Context Example
{
"Box": {
"Users": {
"id": "14342567114",
"name": "Jane Doe",
"type": "user"
}
}
}
Human Readable Output
The following users were found
Id Name Type 14342567114 Jane Doe user
box-upload-file
Uploads a file to the given folder.
Base Command
box-upload-file
Input
| Argument Name | Description | Required |
|---|---|---|
| entry_id | The entry ID of the file to upload. | Required |
| as_user | The ID of the user who is performing the action. | Optional |
| file_name | The name of the file. | Optional |
| folder_id | The ID of the folder the file is being uploaded to. Default is 0/root. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.File.id | Number | The ID of the item found. |
| Box.File.etag | Number | The entry tag for the item found. |
| Box.File.type | String | The type of the item found. |
| Box.File.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.File.name | String | The name of the item. |
| Box.File.sha1 | String | The SHA1 hash of the item. |
| Box.File.file_version.id | Number | The unique identifier that represent a file version. |
| Box.File.file_version.type | String | Value is always file_version. |
| Box.File.file_version.sha1 | String | The SHA1 hash of this version of the file. |
| Box.File.description | String | The description of the item. |
| Box.File.size | Number | The file size in bytes. |
| Box.File.path_collection.total_count | Number | The number of folders in the list. |
| Box.File.path_collection.entries.id | Number | The ID of the item found. |
| Box.File.path_collection.entries.etag | Number | The entry tag for the item found. |
| Box.File.path_collection.entries.type | String | The type of the item found. |
| Box.File.path_collection.entries.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.File.path_collection.entries.name | String | The name of the item. |
| Box.File.created_at | Date | The date and time when the item was created on Box. |
| Box.File.modified_at | Date | The date and time when the item was last updated on Box. |
| Box.File.trashed_at | Date | The time at which the item was put in the trash. |
| Box.File.purged_at | Date | The time at which the item is expected to be purged from the trash. |
| Box.File.content_created_at | Date | The date and time at which the item was originally created, which might be before it was uploaded to Box. |
| Box.File.content_modified_at | Date | The date and time at which the item was last updated, which might be before it was uploaded to Box. |
| Box.File.created_by.id | Number | The unique identifier for the user who created the item. |
| Box.File.created_by.type | String | Value is always user. |
| Box.File.created_by.name | String | The display name of the user who created the item. |
| Box.File.created_by.login | String | The primary email address of the user who created the item. |
| Box.File.modified_by.id | Number | The unique identifier for the user who modified the item. |
| Box.File.modified_by.type | String | Value is always user. |
| Box.File.modified_by.name | String | The display name of the user who modified the item. |
| Box.File.modified_by.login | String | The primary email address of the user who modified the item. |
| Box.File.owned_by.id | Number | The unique identifier for the user who owns the item. |
| Box.File.owned_by.type | String | Value is always user. |
| Box.File.owned_by.name | String | The display name of the user who owns the item. |
| Box.File.owned_by.login | String | The primary email address of the user who owns the item. |
| Box.File.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.File.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.File.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.File.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.File.shared_link.access | String | The access level for the shared link. |
| Box.File.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.File.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.File.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.File.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.File.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.File.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.File.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.File.shared_link.preview_count | Number | The number of times the item has been previewed. |
| Box.File.parent.id | Number | The ID of the parent for the item found |
| Box.File.parent.etag | Number | The entry tag for the parent of the item found. |
| Box.File.parent.type | String | The type for the parent of the item found. |
| Box.File.parent.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the parent of the item. |
| Box.File.parent.name | String | The name of the parent of the item. |
| Box.File.item_status | String | The status of the parent of the item. |
Command Example
!box-upload-file entry_id="364@c9316be6-93dc-440a-8c68-c68912590052" folder_id="0" file_name="changelog.json" as_user="14342567114"
Context Example
{}
Human Readable Output
File was successfully uploaded
box-trashed-items-list
Retrieves the files and folders that have been moved to the trash.
Base Command
box-trashed-items-list
Input
| Argument Name | Description | Required |
|---|---|---|
| as_user | The user performing the action. | Optional |
| limit | The maximum number of items to return per page. Default is “100”. | Optional |
| offset | The offset of the item at which to begin the response. Default is “0”. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.Trash.id | Number | The ID of the item found. |
| Box.Trash.etag | Number | The entry tag for the item found. |
| Box.Trash.type | String | The type of the item found. |
| Box.Trash.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.Trash.name | String | The name of the item. |
| Box.Trash.sha1 | String | The SHA1 hash of the item. |
| Box.Trash.file_version.id | Number | The unique identifier that represent a file version. |
| Box.Trash.file_version.type | String | Value is always file_version. |
| Box.Trash.file_version.sha1 | String | The SHA1 hash of this version of the file. |
Command Example
!box-trashed-items-list as_user="14342567114"
Context Example
{
"Box": {
"Trash": {
"etag": "11",
"file_version": {
"id": "801011020694",
"sha1": "aa58d9692d58f5d9316d7cf1950d19a0b01bc204",
"type": "file_version"
},
"id": "751526132294",
"name": "list.json",
"sequence_id": "11",
"sha1": "aa58d9692d58f5d9316d7cf1950d19a0b01bc204",
"type": "file"
}
}
}
Human Readable Output
Trashed items were found
Etag File Version Id Name Sequence Id Sha1 Type 11 type: file_version
id: 801011020694
sha1: aa58d9692d58f5d9316d7cf1950d19a0b01bc204751526132294 list.json 11 aa58d9692d58f5d9316d7cf1950d19a0b01bc204 file
box-trashed-item-restore
Restores a file or folder that has been moved to the trash.
Base Command
box-trashed-item-restore
Input
| Argument Name | Description | Required |
|---|---|---|
| item_id | The unique identifier that represents the file or folder. | Required |
| type | Type of the object to restore. Possible values are: file, folder. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.Item.id | Number | The ID of the item found. |
| Box.Item.etag | Number | The entry tag for the item found. |
| Box.Item.type | String | The type of the item found. |
| Box.Item.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.Item.name | String | The name of the item. |
| Box.Item.sha1 | String | The SHA1 hash of the item. |
| Box.Item.file_version.id | Number | The unique identifier that represent a file version. |
| Box.Item.file_version.type | String | Value is always file_version. |
| Box.Item.file_version.sha1 | String | The SHA1 hash of this version of the file. |
| Box.Item.description | String | The description of the item. |
| Box.Item.size | Number | The file size in bytes. |
| Box.Item.path_collection.total_count | Number | The number of folders in the list. |
| Box.Item.path_collection.entries.id | Number | The ID of the item found. |
| Box.Item.path_collection.entries.etag | Number | The entry tag for the item found. |
| Box.Item.path_collection.entries.type | String | The type of the item found. |
| Box.Item.path_collection.entries.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.Item.path_collection.entries.name | String | The name of the item. |
| Box.Item.created_at | Date | The date and time when the item was created on Box. |
| Box.Item.modified_at | Date | The date and time when the item was last updated on Box. |
| Box.Item.trashed_at | Date | The time at which the item was put in the trash. |
| Box.Item.purged_at | Date | The time at which the item is expected to be purged from the trash. |
| Box.Item.content_created_at | Date | The date and time at which the item was originally created, which might be before it was uploaded to Box. |
| Box.Item.content_modified_at | Date | The date and time at which the item was last updated, which might be before it was uploaded to Box. |
| Box.Item.created_by.id | Number | The unique identifier for the user who created the item. |
| Box.Item.created_by.type | String | Value is always user. |
| Box.Item.created_by.name | String | The display name of the user who created the item. |
| Box.Item.created_by.login | String | The primary email address of the user who created the item. |
| Box.Item.modified_by.id | Number | The unique identifier for the user who modified the item. |
| Box.Item.modified_by.type | String | Value is always user. |
| Box.Item.modified_by.name | String | The display name of the user who modified the item. |
| Box.Item.modified_by.login | String | The primary email address of the user who modified the item. |
| Box.Item.owned_by.id | Number | The unique identifier for the user who owns the item. |
| Box.Item.owned_by.type | String | Value is always user. |
| Box.Item.owned_by.name | String | The display name of the user who owns the item. |
| Box.Item.owned_by.login | String | The primary email address of the user who owns the item. |
| Box.Item.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.Item.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.Item.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.Item.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.Item.shared_link.access | String | The access level for the shared link. |
| Box.Item.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.Item.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.Item.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.Item.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.Item.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.Item.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.Item.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.Item.shared_link.preview_count | Number | The number of times the item has been previewed. |
| Box.Item.parent.id | Number | The ID of the parent for the item found |
| Box.Item.parent.etag | Number | The entry tag for the parent of the item found. |
| Box.Item.parent.type | String | The type for the parent of the item found. |
| Box.Item.parent.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the parent of the item. |
| Box.Item.parent.name | String | The name of the parent of the item. |
| Box.Item.item_status | String | The status of the parent of the item. |
Command Example
!box-trashed-item-restore item_id="751526132294" type="file" as_user="14342567114"
Context Example
{
"Box": {
"Item": {
"content_created_at": "2020-12-09T08:49:16-08:00",
"content_modified_at": "2020-12-09T08:49:16-08:00",
"created_at": "2020-12-09T09:16:32-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "12",
"file_version": {
"id": "801011020694",
"sha1": "aa58d9692d58f5d9316d7cf1950d19a0b01bc204",
"type": "file_version"
},
"id": "751526132294",
"item_status": "active",
"modified_at": "2020-12-09T09:16:32-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "list.json",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "12",
"sha1": "aa58d9692d58f5d9316d7cf1950d19a0b01bc204",
"shared_link": null,
"size": 1135,
"trashed_at": null,
"type": "file"
}
}
}
Human Readable Output
Item with the ID 751526132294 was restored.
box-trashed-item-delete-permanently
Permanently deletes a file or folder that is in the trash. This action cannot be undone.
Base Command
box-trashed-item-delete-permanently
Input
| Argument Name | Description | Required |
|---|---|---|
| item_id | The unique identifier that represents the file or folder. | Required |
| type | The type of the item to delete. Possible values are: file, folder. | Required |
| as_user | The user who is performing the action. | Optional |
Context Output
There is no context output for this command.
Command Example
#### Human Readable Output
### box-get-current-user
***
Retrieves information about the user who is currently authenticated.
#### Base Command
`box-get-current-user`
#### Input
| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| as_user | The ID of the user making the request. | Optional |
#### Context Output
| **Path** | **Type** | **Description** |
| --- | --- | --- |
| Box.User.id | Number | The unique identifier for this user. |
| Box.User.type | String | Value is always user. |
| Box.User.name | String | The display name of this user. |
| Box.User.login | String | The primary email address of this user. |
| Box.User.created_at | Date | When the user object was created. |
| Box.User.modified_at | Date | When the user object was last modified. |
| Box.User.language | String | The language of the user, formatted in a modified version of the ISO 639-1 format. |
| Box.User.timezone | String | The users timezone. |
| Box.User.space_amount | Number | The user's total available space amount in bytes. |
| Box.User.space_used | Number | The amount of space in use by the user. |
| Box.User.max_upload_size | Number | The maximum individual file size in bytes the user can have. |
| Box.User.status | String | The user's account status. |
| Box.User.job_title | String | The user's job title. |
| Box.User.phone | Number | The user's phone number. |
| Box.User.address | String | The user's address. |
| Box.User.avatar_url | String | URL of the user's avatar image |
| Box.User.notification_email.email | String | The email address to send the notifications to. |
| Box.User.notification_email.is_confirmed | Boolean | Specifies if this email address has been confirmed. |
#### Command Example
```!box-get-current-user as_user="14342567114"```
#### Context Example
```json
{
"Box": {
"User": {
"address": "",
"avatar_url": "https://app.box.com/api/avatar/large/14342567114",
"created_at": "2020-11-11T04:34:53-08:00",
"id": "14342567114",
"job_title": "",
"language": "en",
"login": "test@test.com",
"max_upload_size": 2147483648,
"modified_at": "2020-12-15T03:58:34-08:00",
"name": "Jane Doe",
"notification_email": [],
"phone": "4808675309",
"space_amount": 10737418240,
"space_used": 212311360,
"status": "active",
"timezone": "America/Los_Angeles",
"type": "user"
}
}
}
Human Readable Output
The current user is test@test.com
Avatar Url Created At Id Language Login Max Upload Size Modified At Name Phone Space Amount Space Used Status Timezone Type https://app.box.com/api/avatar/large/14342567114 2020-11-11T04:34:53-08:00 14342567114 en test@test.com 2147483648 2020-12-15T03:58:34-08:00 Jane Doe 4808675309 10737418240 212311360 active America/Los_Angeles user
box-update-user
Updates a managed user in an enterprise. This endpoint is only available to users and applications with the right admin permissions.
Base Command
box-update-user
Input
| Argument Name | Description | Required |
|---|---|---|
| role | The user’s enterprise role. Possible values are: coadmin, user. | Optional |
| address | The user’s address. | Optional |
| job_title | The user’s job title. | Optional |
| language | The language of the user, formatted in a modified version of the ISO 639-1 format. | Optional |
| login | The email address the user uses to log in. | Optional |
| name | The name of the user. | Optional |
| phone | The user’s phone number. | Optional |
| space_amount | The user’s total available space in bytes. Set this to -1 to indicate unlimited storage. | Optional |
| status | The user’s account status. Possible values are: active, inactive, cannot_delete_edit, cannot_delete_edit_upload. | Optional |
| timezone | The user’s timezone. | Optional |
| is_sync_enabled | Whether the user can use Box Sync. Possible values are: true, false. | Optional |
| is_exempt_from_device_limits | Whether to exempt the user from enterprise device limits. Possible values are: true, false. | Optional |
| is_external_collab_restricted | Whether the user is allowed to collaborate with users outside their enterprise. Possible values are: true, false. | Optional |
| is_exempt_from_login_verification | Whether the user must use two-factor authentication. Possible values are: true, false. | Optional |
| can_see_managed_users | Whether the user can see other enterprise users in their contact list. Possible values are: true, false. | Optional |
| tracking_codes | A tracking code that allows an admin to generate reports from the admin console and assign an attribute to a specific group of users. The expected format is key1:value1,key2:value2. Multiple key value pairs may be used when using the , separator. |
Optional |
| user_id | The ID of the user. | Required |
| as_user | The ID of the user who is making the request. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.User.id | Number | The unique identifier for this user. |
| Box.User.type | String | Value is always user. |
| Box.User.name | String | The display name of this user. |
| Box.User.login | String | The primary email address of this user. |
| Box.User.created_at | Date | When the user object was created. |
| Box.User.modified_at | Date | When the user object was last modified. |
| Box.User.language | String | The language of the user, formatted in a modified version of the ISO 639-1 format. |
| Box.User.timezone | String | The user’s timezone. |
| Box.User.space_amount | Number | The user’s total available space amount in bytes. |
| Box.User.space_used | Number | The amount of space in use by the user. |
| Box.User.max_upload_size | Number | The maximum individual file size in bytes the user can have. |
| Box.User.status | String | The user’s account status. |
| Box.User.job_title | String | The user’s job title. |
| Box.User.phone | Number | The user’s phone number. |
| Box.User.address | String | The user’s address. |
| Box.User.avatar_url | String | URL of the user’s avatar image |
| Box.User.notification_email.email | String | The email address to send the notifications to. |
| Box.User.notification_email.is_confirmed | Boolean | Specifies if this email address has been confirmed. |
Command Example
!box-update-user phone="4808675309" is_sync_enabled="true" is_exempt_from_device_limits="true" is_external_collab_restricted="false" is_exempt_from_login_verification="false" can_see_managed_users="true" user_id="14342567114" as_user="14342567114"
Context Example
{
"Box": {
"User": {
"address": "",
"avatar_url": "https://app.box.com/api/avatar/large/14342567114",
"created_at": "2020-11-11T04:34:53-08:00",
"id": "14342567114",
"job_title": "",
"language": "en",
"login": "test@test.com",
"max_upload_size": 2147483648,
"modified_at": "2020-12-15T03:59:04-08:00",
"name": "Jane Doe",
"notification_email": [],
"phone": "4808675309",
"space_amount": 10737418240,
"space_used": 212312495,
"status": "active",
"timezone": "America/Los_Angeles",
"type": "user"
}
}
}
Human Readable Output
The user test@test.com has been updated
Avatar Url Created At Id Language Login Max Upload Size Modified At Name Phone Space Amount Space Used Status Timezone Type https://app.box.com/api/avatar/large/14342567114 2020-11-11T04:34:53-08:00 14342567114 en test@test.com 2147483648 2020-12-15T03:59:04-08:00 Jane Doe 4808675309 10737418240 212312495 active America/Los_Angeles user
box-create-user
Creates a new managed user in an enterprise. This endpoint is only available to users and applications with the right admin permissions.
Base Command
box-create-user
Input
| Argument Name | Description | Required |
|---|---|---|
| as_user | The user who is making the request. | Optional |
| login | The email address the user uses to log in. | Optional |
| name | The name of the user. | Required |
| role | The user’s enterprise role. Possible values are: coadmin, user. | Optional |
| language | The language of the user, formatted in a modified version of the ISO 639-1 format. | Optional |
| is_sync_enabled | Whether the user can use Box Sync. Possible values are: true, false. | Optional |
| job_title | The user’s job title. | Optional |
| phone | The user’s phone number. | Optional |
| address | The user’s address. | Optional |
| space_amount | The user’s total available space in bytes. Set this to -1 to indicate unlimited storage. | Optional |
| tracking_codes | A tracking code that allows an admin to generate reports from the admin console and assign an attribute to a specific group of users. The expected format is key1:value1,key2:value2. Multiple key value pairs may be used when using the , separator. |
Optional |
| can_see_managed_users | Whether the user can see other enterprise users in their contact list. Possible values are: true, false. | Optional |
| timezone | The user’s timezone. | Optional |
| is_exempt_from_device_limits | Whether to exempt the user from enterprise device limits. Possible values are: true, false. | Optional |
| is_exempt_from_login_verification | Whether the user must use two-factor authentication. Possible values are: true, false. | Optional |
| is_external_collab_restricted | Whether the user is allowed to collaborate with users outside their enterprise. Possible values are: true, false. | Optional |
| is_platform_access_only | Specifies that the user is an app user. Possible values are: true, false. | Optional |
| status | The user’s account status. Possible values are: active, inactive, cannot_delete_edit, cannot_delete_edit_upload. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.User.id | Number | The unique identifier for this user. |
| Box.User.type | String | Value is always user. |
| Box.User.name | String | The display name of this user. |
| Box.User.login | String | The primary email address of this user. |
| Box.User.created_at | Date | When the user object was created. |
| Box.User.modified_at | Date | When the user object was last modified. |
| Box.User.language | String | The language of the user, formatted in a modified version of the ISO 639-1 format. |
| Box.User.timezone | String | The user’s timezone. |
| Box.User.space_amount | Number | The user’s total available space amount in bytes. |
| Box.User.space_used | Number | The amount of space in use by the user. |
| Box.User.max_upload_size | Number | The maximum individual file size in bytes the user can have. |
| Box.User.status | String | The user’s account status. |
| Box.User.job_title | String | The user’s job title. |
| Box.User.phone | Number | The user’s phone number. |
| Box.User.address | String | The user’s address. |
| Box.User.avatar_url | String | URL of the user’s avatar image |
| Box.User.notification_email.email | String | The email address to send the notifications to. |
| Box.User.notification_email.is_confirmed | Boolean | Specifies if this email address has been confirmed. |
Command Example
!box-create-user name="some_name_test" is_sync_enabled="false" phone="000000000" can_see_managed_users="false" is_exempt_from_device_limits="true" is_exempt_from_login_verification="false" is_external_collab_restricted="false" is_platform_access_only="true"
Context Example
{
"Box": {
"User": {
"address": "",
"avatar_url": "https://app.box.com/api/avatar/large/14658591950",
"created_at": "2020-12-15T03:58:28-08:00",
"id": "14658591950",
"job_title": "",
"language": "en",
"login": "AppUser_1403892_rBpFRjYb94@boxdevedition.com",
"max_upload_size": 2147483648,
"modified_at": "2020-12-15T03:58:28-08:00",
"name": "some_name_test",
"notification_email": [],
"phone": "000000000",
"space_amount": 10737418240,
"space_used": 0,
"status": "active",
"timezone": "America/Los_Angeles",
"type": "user"
}
}
}
Human Readable Output
The user AppUser_1403892_rBpFRjYb94@boxdevedition.com has been created
Avatar Url Created At Id Language Login Max Upload Size Modified At Name Phone Space Amount Space Used Status Timezone Type https://app.box.com/api/avatar/large/14658591950 2020-12-15T03:58:28-08:00 14658591950 en AppUser_1403892_rBpFRjYb94@boxdevedition.com 2147483648 2020-12-15T03:58:28-08:00 some_name_test 000000000 10737418240 0 active America/Los_Angeles user
box-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.
Base Command
box-delete-user
Input
| Argument Name | Description | Required |
|---|---|---|
| user_id | The ID of the user. | Required |
| as_user | The user ID of the account making the request. | Optional |
| force | Whether the user should be deleted even if this user still own files. Possible values are: true, false. | Optional |
Context Output
There is no context output for this command.
Command Example
!box-delete-user user_id="14639008448"
Context Example
{}
Human Readable Output
The user 14639008448 was successfully deleted.
box-list-user-events
Returns up to a year of past events for a given user.
Base Command
box-list-user-events
Input
| Argument Name | Description | Required |
|---|---|---|
| as_user | The user who is performing the action. | Optional |
| stream_type | The type of stream to retrieve. Possible values are: all, changes, sync. | Required |
| limit | The maximum number of events to return. Default is “100”. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.Events.type | String | The type of the event. |
| Box.Events.event_id | String | The ID of the event object. You can use this to detect duplicate events. |
| Box.Events.created_by.type | String | Value is always user. |
| Box.Events.created_by.id | Date | The unique identifier for this user. |
| Box.Events.created_by.name | String | The display name of this user. |
| Box.Events.created_by.login | String | The primary email address of this user. |
| Box.Events.created_at | Date | Time which the event was created. |
| Box.Events.recorded_at | Date | Time which the event was recorded. |
| Box.Events.event_type | String | The event type that triggered this event. |
| Box.Events.session_id | String | The session of the user who performed the action. Not all events will populate this attribute. |
Command Example
!box-list-user-events stream_type="all" limit="1"
Context Example
{
"Box": {
"Events": [
{
"created_at": "2020-11-25T04:12:23-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "821c82f3cf438bf0d206aa80aac526ea1700a46b",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T04:12:24-08:00",
"session_id": "stw7zogl1ohiczrp",
"source": {
"content_created_at": "2020-11-25T04:12:23-08:00",
"content_modified_at": "2020-11-25T04:12:23-08:00",
"created_at": "2020-11-25T04:12:23-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794713426050",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745851995250",
"item_status": "active",
"modified_at": "2020-11-25T04:12:23-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"shared_link": null,
"size": 26891788,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
},
{
"created_at": "2020-11-25T04:24:37-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "0fcb31e458fd14483cf760e1895ee69980eaff62",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T04:24:37-08:00",
"session_id": "ifhnscgl1ou83ihz",
"source": {
"content_created_at": "2020-11-25T04:24:36-08:00",
"content_modified_at": "2020-11-25T04:24:36-08:00",
"created_at": "2020-11-25T04:24:36-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794716642653",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745854929853",
"item_status": "active",
"modified_at": "2020-11-25T04:24:36-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image1.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"shared_link": null,
"size": 26891788,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
},
{
"created_at": "2020-11-25T04:34:17-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "3d89043e5c46897ac77702f553622204666120a4",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T04:34:18-08:00",
"session_id": "rn9j4egl1p4a7lts",
"source": {
"content_created_at": "2020-11-25T04:34:16-08:00",
"content_modified_at": "2020-11-25T04:34:16-08:00",
"created_at": "2020-11-25T04:34:16-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794719141622",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745857164822",
"item_status": "active",
"modified_at": "2020-11-25T04:34:16-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image2.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"shared_link": null,
"size": 26891788,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
},
{
"created_at": "2020-11-25T04:36:04-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "40b93bf6eb12fb167a51cdf03e3c3444a6a265b0",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T04:36:05-08:00",
"session_id": "amo218gl1p65hgdk",
"source": {
"content_created_at": "2020-11-25T04:36:04-08:00",
"content_modified_at": "2020-11-25T04:36:04-08:00",
"created_at": "2020-11-25T04:36:04-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794721102684",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745859107884",
"item_status": "active",
"modified_at": "2020-11-25T04:36:04-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image3.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"shared_link": null,
"size": 26891788,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
},
{
"created_at": "2020-11-25T05:18:44-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "6a9dee69e8f0fdc81e75fa63b1e9c35b80200481",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T05:18:45-08:00",
"session_id": "e2axvxgl1qejl0ar",
"source": {
"content_created_at": "2020-11-25T05:18:44-08:00",
"content_modified_at": "2020-11-25T05:18:44-08:00",
"created_at": "2020-11-25T05:18:44-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794733314512",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745870218112",
"item_status": "active",
"modified_at": "2020-11-25T05:18:44-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image4.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"shared_link": null,
"size": 26891788,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
},
{
"created_at": "2020-11-25T05:20:56-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "ba2a5d3dca51a7edefbdf06543295a74bc773cb4",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T05:20:56-08:00",
"session_id": "khuqgfgl1qgtmk0w",
"source": {
"content_created_at": "2020-11-25T05:20:55-08:00",
"content_modified_at": "2020-11-25T05:20:55-08:00",
"created_at": "2020-11-25T05:20:56-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794731944502",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745868717302",
"item_status": "active",
"modified_at": "2020-11-25T05:20:56-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image5.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"shared_link": null,
"size": 26891788,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
},
{
"created_at": "2020-11-25T05:25:44-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "a56e6d1020c8cfb7ce22a990e6da5192001b1c1e",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T05:25:45-08:00",
"session_id": "yoajnqgl1qltqhfl",
"source": {
"content_created_at": "2020-11-25T05:25:44-08:00",
"content_modified_at": "2020-11-25T05:25:44-08:00",
"created_at": "2020-11-25T05:25:44-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794736891054",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"type": "file_version"
},
"id": "745873525854",
"item_status": "active",
"modified_at": "2020-11-25T05:25:44-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image6_please_work.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "1ff8be1766d9e16b0b651f89001e8e7375c9e71f",
"shared_link": null,
"size": 26891788,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
},
{
"created_at": "2020-11-25T06:47:49-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "e9bbd0c85123ebbb1074664c4176f75e6da8cd7f",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T06:47:50-08:00",
"session_id": "qhq59lgl1sz8a1k3",
"source": {
"content_created_at": "2020-11-25T06:47:49-08:00",
"content_modified_at": "2020-11-25T06:47:49-08:00",
"created_at": "2020-11-25T06:47:49-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794763039912",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"type": "file_version"
},
"id": "745897019112",
"item_status": "active",
"modified_at": "2020-11-25T06:47:49-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image7_please_work.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"shared_link": null,
"size": 3653705,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
},
{
"created_at": "2020-11-25T06:48:49-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "be9d499190f23542227cad001c02d8c2bb22c65c",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T06:49:05-08:00",
"session_id": "w1pn5lgl1t09vsfa",
"source": {
"content_created_at": "2020-11-25T06:48:49-08:00",
"content_modified_at": "2020-11-25T06:48:49-08:00",
"created_at": "2020-11-25T06:48:49-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794764186997",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"type": "file_version"
},
"id": "745898101397",
"item_status": "active",
"modified_at": "2020-11-25T06:48:49-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image8_please_work.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"shared_link": null,
"size": 3653705,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
},
{
"created_at": "2020-11-25T06:50:31-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "4ce8a9d707a286ea1c62eb2fcccc399bccc68278",
"event_type": "ITEM_UPLOAD",
"recorded_at": "2020-11-25T06:50:32-08:00",
"session_id": "zlecagl1t21rmdp",
"source": {
"content_created_at": "2020-11-25T06:50:31-08:00",
"content_modified_at": "2020-11-25T06:50:31-08:00",
"created_at": "2020-11-25T06:50:31-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"description": "",
"etag": "0",
"file_version": {
"id": "794764999514",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"type": "file_version"
},
"id": "745898898314",
"item_status": "active",
"modified_at": "2020-11-25T06:50:31-08:00",
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "image9_please_work.gif",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
},
"path_collection": {
"entries": [
{
"etag": null,
"id": "0",
"name": "All Files",
"sequence_id": null,
"type": "folder"
}
],
"total_count": 1
},
"purged_at": null,
"sequence_id": "0",
"sha1": "bd992f78f1f50b4b424b0633870aca5eed3bedce",
"shared_link": null,
"size": 3653705,
"synced": true,
"trashed_at": null,
"type": "file"
},
"type": "event"
}
]
}
}
Human Readable Output
Events found for the user: 14342567114
Created At Created By Event Id Event Type Recorded At Session Id Source Type 2020-11-25T04:12:23-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com821c82f3cf438bf0d206aa80aac526ea1700a46b ITEM_UPLOAD 2020-11-25T04:12:24-08:00 stw7zogl1ohiczrp type: file
id: 745851995250
file_version: {“type”: “file_version”, “id”: “794713426050”, “sha1”: “1ff8be1766d9e16b0b651f89001e8e7375c9e71f”}
sequence_id: 0
etag: 0
sha1: 1ff8be1766d9e16b0b651f89001e8e7375c9e71f
name: image.gif
description:
size: 26891788
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T04:12:23-08:00
modified_at: 2020-11-25T04:12:23-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T04:12:23-08:00
content_modified_at: 2020-11-25T04:12:23-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent 2020-11-25T04:24:37-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com0fcb31e458fd14483cf760e1895ee69980eaff62 ITEM_UPLOAD 2020-11-25T04:24:37-08:00 ifhnscgl1ou83ihz type: file
id: 745854929853
file_version: {“type”: “file_version”, “id”: “794716642653”, “sha1”: “1ff8be1766d9e16b0b651f89001e8e7375c9e71f”}
sequence_id: 0
etag: 0
sha1: 1ff8be1766d9e16b0b651f89001e8e7375c9e71f
name: image1.gif
description:
size: 26891788
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T04:24:36-08:00
modified_at: 2020-11-25T04:24:36-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T04:24:36-08:00
content_modified_at: 2020-11-25T04:24:36-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent 2020-11-25T04:34:17-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com3d89043e5c46897ac77702f553622204666120a4 ITEM_UPLOAD 2020-11-25T04:34:18-08:00 rn9j4egl1p4a7lts type: file
id: 745857164822
file_version: {“type”: “file_version”, “id”: “794719141622”, “sha1”: “1ff8be1766d9e16b0b651f89001e8e7375c9e71f”}
sequence_id: 0
etag: 0
sha1: 1ff8be1766d9e16b0b651f89001e8e7375c9e71f
name: image2.gif
description:
size: 26891788
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T04:34:16-08:00
modified_at: 2020-11-25T04:34:16-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T04:34:16-08:00
content_modified_at: 2020-11-25T04:34:16-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent 2020-11-25T04:36:04-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com40b93bf6eb12fb167a51cdf03e3c3444a6a265b0 ITEM_UPLOAD 2020-11-25T04:36:05-08:00 amo218gl1p65hgdk type: file
id: 745859107884
file_version: {“type”: “file_version”, “id”: “794721102684”, “sha1”: “1ff8be1766d9e16b0b651f89001e8e7375c9e71f”}
sequence_id: 0
etag: 0
sha1: 1ff8be1766d9e16b0b651f89001e8e7375c9e71f
name: image3.gif
description:
size: 26891788
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T04:36:04-08:00
modified_at: 2020-11-25T04:36:04-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T04:36:04-08:00
content_modified_at: 2020-11-25T04:36:04-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent 2020-11-25T05:18:44-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com6a9dee69e8f0fdc81e75fa63b1e9c35b80200481 ITEM_UPLOAD 2020-11-25T05:18:45-08:00 e2axvxgl1qejl0ar type: file
id: 745870218112
file_version: {“type”: “file_version”, “id”: “794733314512”, “sha1”: “1ff8be1766d9e16b0b651f89001e8e7375c9e71f”}
sequence_id: 0
etag: 0
sha1: 1ff8be1766d9e16b0b651f89001e8e7375c9e71f
name: image4.gif
description:
size: 26891788
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T05:18:44-08:00
modified_at: 2020-11-25T05:18:44-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T05:18:44-08:00
content_modified_at: 2020-11-25T05:18:44-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent 2020-11-25T05:20:56-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.comba2a5d3dca51a7edefbdf06543295a74bc773cb4 ITEM_UPLOAD 2020-11-25T05:20:56-08:00 khuqgfgl1qgtmk0w type: file
id: 745868717302
file_version: {“type”: “file_version”, “id”: “794731944502”, “sha1”: “1ff8be1766d9e16b0b651f89001e8e7375c9e71f”}
sequence_id: 0
etag: 0
sha1: 1ff8be1766d9e16b0b651f89001e8e7375c9e71f
name: image5.gif
description:
size: 26891788
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T05:20:56-08:00
modified_at: 2020-11-25T05:20:56-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T05:20:55-08:00
content_modified_at: 2020-11-25T05:20:55-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent 2020-11-25T05:25:44-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.coma56e6d1020c8cfb7ce22a990e6da5192001b1c1e ITEM_UPLOAD 2020-11-25T05:25:45-08:00 yoajnqgl1qltqhfl type: file
id: 745873525854
file_version: {“type”: “file_version”, “id”: “794736891054”, “sha1”: “1ff8be1766d9e16b0b651f89001e8e7375c9e71f”}
sequence_id: 0
etag: 0
sha1: 1ff8be1766d9e16b0b651f89001e8e7375c9e71f
name: image6_please_work.gif
description:
size: 26891788
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T05:25:44-08:00
modified_at: 2020-11-25T05:25:44-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T05:25:44-08:00
content_modified_at: 2020-11-25T05:25:44-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent 2020-11-25T06:47:49-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.come9bbd0c85123ebbb1074664c4176f75e6da8cd7f ITEM_UPLOAD 2020-11-25T06:47:50-08:00 qhq59lgl1sz8a1k3 type: file
id: 745897019112
file_version: {“type”: “file_version”, “id”: “794763039912”, “sha1”: “bd992f78f1f50b4b424b0633870aca5eed3bedce”}
sequence_id: 0
etag: 0
sha1: bd992f78f1f50b4b424b0633870aca5eed3bedce
name: image7_please_work.gif
description:
size: 3653705
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T06:47:49-08:00
modified_at: 2020-11-25T06:47:49-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T06:47:49-08:00
content_modified_at: 2020-11-25T06:47:49-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent 2020-11-25T06:48:49-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.combe9d499190f23542227cad001c02d8c2bb22c65c ITEM_UPLOAD 2020-11-25T06:49:05-08:00 w1pn5lgl1t09vsfa type: file
id: 745898101397
file_version: {“type”: “file_version”, “id”: “794764186997”, “sha1”: “bd992f78f1f50b4b424b0633870aca5eed3bedce”}
sequence_id: 0
etag: 0
sha1: bd992f78f1f50b4b424b0633870aca5eed3bedce
name: image8_please_work.gif
description:
size: 3653705
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T06:48:49-08:00
modified_at: 2020-11-25T06:48:49-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T06:48:49-08:00
content_modified_at: 2020-11-25T06:48:49-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent 2020-11-25T06:50:31-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com4ce8a9d707a286ea1c62eb2fcccc399bccc68278 ITEM_UPLOAD 2020-11-25T06:50:32-08:00 zlecagl1t21rmdp type: file
id: 745898898314
file_version: {“type”: “file_version”, “id”: “794764999514”, “sha1”: “bd992f78f1f50b4b424b0633870aca5eed3bedce”}
sequence_id: 0
etag: 0
sha1: bd992f78f1f50b4b424b0633870aca5eed3bedce
name: image9_please_work.gif
description:
size: 3653705
path_collection: {“total_count”: 1, “entries”: [{“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}]}
created_at: 2020-11-25T06:50:31-08:00
modified_at: 2020-11-25T06:50:31-08:00
trashed_at: null
purged_at: null
content_created_at: 2020-11-25T06:50:31-08:00
content_modified_at: 2020-11-25T06:50:31-08:00
created_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
modified_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}
shared_link: null
parent: {“type”: “folder”, “id”: “0”, “sequence_id”: null, “etag”: null, “name”: “All Files”}
item_status: active
synced: trueevent
box-list-enterprise-events
Returns up to a year of past events for the entire enterprise.
Base Command
box-list-enterprise-events
Input
| Argument Name | Description | Required |
|---|---|---|
| as_user | The user who is performing the action. | Optional |
| created_after | The lower bound date and time to return events for. | Optional |
| limit | The maximum number of events to return. Default is “100”. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.Events.source.item_type | String | The type of the item that the event represents. |
| Box.Events.source.item_id | Date | The unique identifier that represents the item. |
| Box.Events.source.item_name | String | The name of the item. |
| Box.Events.source.parent.type | String | Value is always folder. |
| Box.Events.source.parent.name | String | The name of the folder. |
| Box.Events.source.parent.id | String | The unique identifier that represents a folder. |
| Box.Events.source.owned_by.type | String | Value is always user. |
| Box.Events.source.owned_by.id | Date | The unique identifier for this user. |
| Box.Events.source.owned_by.name | String | The display name of this user. |
| Box.Events.source.owned_by.login | String | The primary email address of this user. |
| Box.Events.created_by.type | String | Value is always user. |
| Box.Events.created_by.id | Date | The unique identifier for this user. |
| Box.Events.created_by.name | String | The display name of this user. |
| Box.Events.created_by.login | String | The primary email address of this user. |
| Box.Events.created_at | Date | Time which the event was created. |
| Box.Events.event_id | String | The ID of the event object. You can use this to detect duplicate events. |
| Box.Events.event_type | String | The event type that triggered this event. |
| Box.Events.ip_address | String | IP address of the user who triggered the event. |
| Box.Events.type | String | Always event. |
Command Example
!box-list-enterprise-events created_after="1 day" limit="1"
Context Example
{
"Box": {
"Events": [
{
"action_by": null,
"additional_details": {
"size": 18860439,
"version_id": "803108695891"
},
"created_at": "2020-12-15T00:44:58-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "451677f7-9c7c-497d-a272-69903c1f6c29",
"event_type": "RENAME",
"ip_address": "37.142.10.140",
"session_id": null,
"source": {
"item_id": "753421883491",
"item_name": "vandijk3.gif",
"item_type": "file",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "0",
"name": "All Files",
"type": "folder"
}
},
"type": "event"
},
{
"action_by": null,
"additional_details": {
"size": 18860439,
"version_id": "803108695891"
},
"created_at": "2020-12-15T00:50:37-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "457eebd9-5b26-4333-a3f9-44f040de7220",
"event_type": "RENAME",
"ip_address": "37.142.10.140",
"session_id": null,
"source": {
"item_id": "753421883491",
"item_name": "vandijk4.gif",
"item_type": "file",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "0",
"name": "All Files",
"type": "folder"
}
},
"type": "event"
},
{
"action_by": null,
"additional_details": {
"size": 18860439,
"version_id": "803108695891"
},
"created_at": "2020-12-15T00:53:33-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "e6b91f7a-3eb3-4968-8aef-7ea90ed46f21",
"event_type": "RENAME",
"ip_address": "37.142.10.140",
"session_id": null,
"source": {
"item_id": "753421883491",
"item_name": "vandijk5.gif",
"item_type": "file",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "0",
"name": "All Files",
"type": "folder"
}
},
"type": "event"
},
{
"action_by": null,
"additional_details": {
"service_id": "1403892",
"service_name": "XSOAR_TESTING",
"shared_link_id": "2hvls15bpbmrjuo4vks6znrvye6gm6g1",
"size": 92934,
"version_id": "790694844770"
},
"created_at": "2020-12-15T03:07:44-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "16b5dbef-3175-41c1-8486-dc6d279f4c63",
"event_type": "ITEM_SHARED_UPDATE",
"ip_address": "176.34.214.130",
"session_id": null,
"source": {
"item_id": "742246263170",
"item_name": "download.jpeg",
"item_type": "file",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "125959916474",
"name": "My Box Notes",
"type": "folder"
}
},
"type": "event"
},
{
"action_by": null,
"additional_details": {
"service_id": "1403892",
"service_name": "XSOAR_TESTING",
"size": 1135,
"version_id": "801011020694"
},
"created_at": "2020-12-15T03:07:54-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "3a30d7f7-ce0d-4a4b-a9f8-c8cbccead2dc",
"event_type": "DELETE",
"ip_address": "176.34.214.130",
"session_id": null,
"source": {
"item_id": "751526132294",
"item_name": "list.json",
"item_type": "file",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "0",
"name": "All Files",
"type": "folder"
}
},
"type": "event"
},
{
"action_by": null,
"additional_details": {
"service_id": "1403892",
"service_name": "XSOAR_TESTING",
"size": 92934,
"version_id": "790694844770"
},
"created_at": "2020-12-15T03:08:15-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "a71b25af-df2c-4693-8026-e7b1ecd30af9",
"event_type": "UNSHARE",
"ip_address": "176.34.214.130",
"session_id": null,
"source": {
"item_id": "742246263170",
"item_name": "download.jpeg",
"item_type": "file",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "125959916474",
"name": "My Box Notes",
"type": "folder"
}
},
"type": "event"
},
{
"action_by": null,
"additional_details": {
"service_id": "1403892",
"service_name": "XSOAR_TESTING",
"shared_link_id": "tkaz5qjy0hmkr5pvnvhoszcjbtx74j3y",
"size": 92934,
"version_id": "790694844770"
},
"created_at": "2020-12-15T03:11:22-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "dba908b8-3813-4117-bbec-763cdd320748",
"event_type": "SHARE",
"ip_address": "176.34.214.130",
"session_id": null,
"source": {
"item_id": "742246263170",
"item_name": "download.jpeg",
"item_type": "file",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "125959916474",
"name": "My Box Notes",
"type": "folder"
}
},
"type": "event"
},
{
"action_by": null,
"additional_details": {
"service_id": "1403892",
"service_name": "XSOAR_TESTING",
"size": 92934,
"version_id": "790694844770"
},
"created_at": "2020-12-15T03:11:50-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "fe379c6f-a85c-452a-8e7a-2c6e24397a75",
"event_type": "UNSHARE",
"ip_address": "176.34.214.130",
"session_id": null,
"source": {
"item_id": "742246263170",
"item_name": "download.jpeg",
"item_type": "file",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "125959916474",
"name": "My Box Notes",
"type": "folder"
}
},
"type": "event"
},
{
"action_by": null,
"additional_details": {
"service_id": "1403892",
"service_name": "XSOAR_TESTING"
},
"created_at": "2020-12-15T03:11:52-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "b6b320af-5a8a-4352-9d78-44620ccbc2f7",
"event_type": "UNSHARE",
"ip_address": "176.34.214.130",
"session_id": null,
"source": {
"item_id": "125959916474",
"item_name": "My Box Notes",
"item_type": "folder",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "0",
"name": "All Files",
"type": "folder"
}
},
"type": "event"
},
{
"action_by": null,
"additional_details": {
"service_id": "1403892",
"service_name": "XSOAR_TESTING",
"size": 1135,
"version_id": "801011020694"
},
"created_at": "2020-12-15T03:11:59-08:00",
"created_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"event_id": "cdc29617-5e30-477f-8a56-0497457c61fb",
"event_type": "UNDELETE",
"ip_address": "176.34.214.130",
"session_id": null,
"source": {
"item_id": "751526132294",
"item_name": "list.json",
"item_type": "file",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": {
"id": "0",
"name": "All Files",
"type": "folder"
}
},
"type": "event"
}
]
}
}
Human Readable Output
Enterprise Events found
Additional Details Created At Created By Event Id Event Type Ip Address Source Type size: 18860439
version_id: 8031086958912020-12-15T00:44:58-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com451677f7-9c7c-497d-a272-69903c1f6c29 RENAME 37.142.10.140 item_type: file
item_id: 753421883491
item_name: vandijk3.gif
parent: {“type”: “folder”, “name”: “All Files”, “id”: “0”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event size: 18860439
version_id: 8031086958912020-12-15T00:50:37-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com457eebd9-5b26-4333-a3f9-44f040de7220 RENAME 37.142.10.140 item_type: file
item_id: 753421883491
item_name: vandijk4.gif
parent: {“type”: “folder”, “name”: “All Files”, “id”: “0”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event size: 18860439
version_id: 8031086958912020-12-15T00:53:33-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.come6b91f7a-3eb3-4968-8aef-7ea90ed46f21 RENAME 37.142.10.140 item_type: file
item_id: 753421883491
item_name: vandijk5.gif
parent: {“type”: “folder”, “name”: “All Files”, “id”: “0”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event shared_link_id: 2hvls15bpbmrjuo4vks6znrvye6gm6g1
size: 92934
version_id: 790694844770
service_id: 1403892
service_name: XSOAR_TESTING2020-12-15T03:07:44-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com16b5dbef-3175-41c1-8486-dc6d279f4c63 ITEM_SHARED_UPDATE 176.34.214.130 item_type: file
item_id: 742246263170
item_name: download.jpeg
parent: {“type”: “folder”, “name”: “My Box Notes”, “id”: “125959916474”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event size: 1135
version_id: 801011020694
service_id: 1403892
service_name: XSOAR_TESTING2020-12-15T03:07:54-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com3a30d7f7-ce0d-4a4b-a9f8-c8cbccead2dc DELETE 176.34.214.130 item_type: file
item_id: 751526132294
item_name: list.json
parent: {“type”: “folder”, “name”: “All Files”, “id”: “0”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event size: 92934
version_id: 790694844770
service_id: 1403892
service_name: XSOAR_TESTING2020-12-15T03:08:15-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.coma71b25af-df2c-4693-8026-e7b1ecd30af9 UNSHARE 176.34.214.130 item_type: file
item_id: 742246263170
item_name: download.jpeg
parent: {“type”: “folder”, “name”: “My Box Notes”, “id”: “125959916474”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event shared_link_id: tkaz5qjy0hmkr5pvnvhoszcjbtx74j3y
size: 92934
version_id: 790694844770
service_id: 1403892
service_name: XSOAR_TESTING2020-12-15T03:11:22-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.comdba908b8-3813-4117-bbec-763cdd320748 SHARE 176.34.214.130 item_type: file
item_id: 742246263170
item_name: download.jpeg
parent: {“type”: “folder”, “name”: “My Box Notes”, “id”: “125959916474”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event size: 92934
version_id: 790694844770
service_id: 1403892
service_name: XSOAR_TESTING2020-12-15T03:11:50-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.comfe379c6f-a85c-452a-8e7a-2c6e24397a75 UNSHARE 176.34.214.130 item_type: file
item_id: 742246263170
item_name: download.jpeg
parent: {“type”: “folder”, “name”: “My Box Notes”, “id”: “125959916474”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event service_id: 1403892
service_name: XSOAR_TESTING2020-12-15T03:11:52-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.comb6b320af-5a8a-4352-9d78-44620ccbc2f7 UNSHARE 176.34.214.130 item_type: folder
item_id: 125959916474
item_name: My Box Notes
parent: {“type”: “folder”, “name”: “All Files”, “id”: “0”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event size: 1135
version_id: 801011020694
service_id: 1403892
service_name: XSOAR_TESTING2020-12-15T03:11:59-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.comcdc29617-5e30-477f-8a56-0497457c61fb UNDELETE 176.34.214.130 item_type: file
item_id: 751526132294
item_name: list.json
parent: {“type”: “folder”, “name”: “All Files”, “id”: “0”}
owned_by: {“type”: “user”, “id”: “14342567114”, “name”: “Jane Doe”, “login”: “test@test.com”}event
box-download-file
Returns the contents of a file in binary format.
Base Command
box-download-file
Input
| Argument Name | Description | Required |
|---|---|---|
| file_id | The ID of the file. | Required |
| as_user | The user ID of the account making the request. | Optional |
Context Output
There is no context output for this command.
Command Example
!box-download-file file_id="745898898314" as_user="14342567114"
Context Example
{}
Human Readable Output
Uploaded file: TestFile.gif
box-move-folder
Moves all of the items (files, folders and workflows) owned by a user into another user’s account. Only the root folder 0 will be transferred.
Folders can only be moved across users by users with administrative permissions.
This command is performed synchronously which might lead to a slow response when the source user has a large number of items in all of its folders.
Base Command
box-move-folder
Input
| Argument Name | Description | Required |
|---|---|---|
| to_user_id | The ID of the user who will receive the folders. | Required |
| from_user_id | The ID of the user who currently owns the folder. | Required |
| notify | Determines if users should receive email notification for the action performed. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Box.Folder.id | Number | The ID of the folder created. |
| Box.Folder.etag | Number | The entry tag for the folder created. |
| Box.Folder.type | String | The type of folder. |
| Box.Folder.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the folder. |
| Box.Folder.name | String | The name of the folder. |
| Box.Folder.sha1 | String | The SHA1 hash of the folder. |
| Box.Folder.file_version.id | Number | The unique identifier that represents a file version. |
| Box.Folder.file_version.type | String | Value is always file_version. |
| Box.Folder.file_version.sha1 | String | The SHA1 hash of this version of the file. |
| Box.Folder.description | String | The description of the item. |
| Box.Folder.size | Number | The folder size in bytes. |
| Box.Folder.path_collection.total_count | Number | The number of folders in the list. |
| Box.Folder.path_collection.entries.id | Number | The ID of the item found. |
| Box.Folder.path_collection.entries.etag | Number | The entry tag for the item found. |
| Box.Folder.path_collection.entries.type | String | The type of the item found. |
| Box.Folder.path_collection.entries.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the item. |
| Box.Folder.path_collection.entries.name | String | The name of the item. |
| Box.Folder.created_at | Date | The date and time when the item was created on Box. |
| Box.Folder.modified_at | Date | The date and time when the item was last updated on Box. |
| Box.Folder.trashed_at | Date | The time at which the item was put in the trash. |
| Box.Folder.purged_at | Date | The time at which the item is expected to be purged from the trash. |
| Box.Folder.content_created_at | Date | The date and time at which the item was originally created, which might be before it was uploaded to Box. |
| Box.Folder.content_modified_at | Date | The date and time at which the item was last updated, which might be before it was uploaded to Box. |
| Box.Folder.created_by.id | Number | The unique identifier for the user who created the item. |
| Box.Folder.created_by.type | String | Value is always user. |
| Box.Folder.created_by.name | String | The display name of the user who created the item. |
| Box.Folder.created_by.login | String | The primary email address of the user who created the item. |
| Box.Folder.modified_by.id | Number | The unique identifier for the user who modified the item. |
| Box.Folder.modified_by.type | String | Value is always user. |
| Box.Folder.modified_by.name | String | The display name of the user who modified the item. |
| Box.Folder.modified_by.login | String | The primary email address of the user who modified the item. |
| Box.Folder.owned_by.id | Number | The unique identifier for the user who owns the item. |
| Box.Folder.owned_by.type | String | Value is always user. |
| Box.Folder.owned_by.name | String | The display name of the user who owns the item. |
| Box.Folder.owned_by.login | String | The primary email address of the user who owns the item. |
| Box.Folder.shared_link.url | String | The URL that can be used to access the item on Box. |
| Box.Folder.shared_link.download_url | String | The URL that can be used to download the item from Box. |
| Box.Folder.shared_link.vanity_url | String | The “Custom URL” that can also be used to preview the item on Box. |
| Box.Folder.shared_link.vanity_name | String | The custom name of a shared link, as used in the vanity_url field. |
| Box.Folder.shared_link.access | String | The access level for the shared link. |
| Box.Folder.shared_link.effective_access | String | The effective access level for the shared link. |
| Box.Folder.shared_link.effective_permission | String | The effective permissions for this shared link. |
| Box.Folder.shared_link.unshared_at | Date | The date and time when the link will be unshared. |
| Box.Folder.shared_link.is_password_enabled | Boolean | Defines if the shared link requires a password to access the item. |
| Box.Folder.shared_link.permissions.can_download | Boolean | Defines if the shared link allows for the item to be downloaded. |
| Box.Folder.shared_link.permissions.can_preview | Boolean | Defines if the shared link allows for the item to be previewed. |
| Box.Folder.shared_link.download_count | Number | The number of times the item has been downloaded. |
| Box.Folder.shared_link.preview_count | Number | The number of times the item has been previewed. |
| Box.Folder.parent.id | Number | The ID of the parent for the item found |
| Box.Folder.parent.etag | Number | The entry tag for the parent of the item found. |
| Box.Folder.parent.type | String | The type for the parent of the item found. |
| Box.Folder.parent.sequence_id | Number | The numeric identifier that represents the most recent user event that has been applied to the parent of the item. |
| Box.Folder.parent.name | String | The name of the parent of the item. |
| Box.Folder.item_status | String | The status of the parent of the item. |
Command Example
!box-move-folder to_user_id="123456" from_user_id="654321" notify="true"
Context Example
{
"Box": {
"Folder": {
"content_created_at": null,
"content_modified_at": null,
"created_at": null,
"created_by": {
"id": "",
"login": "",
"name": "",
"type": "user"
},
"description": "",
"etag": null,
"folder_upload_email": null,
"id": "0",
"item_status": "active",
"modified_at": null,
"modified_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"name": "All Files",
"owned_by": {
"id": "14342567114",
"login": "test@test.com",
"name": "Jane Doe",
"type": "user"
},
"parent": null,
"path_collection": {
"entries": [],
"total_count": 0
},
"purged_at": null,
"sequence_id": null,
"shared_link": null,
"size": 212311360,
"trashed_at": null,
"type": "folder"
}
}
}
Human Readable Output
Folder overview for transferred folder
Created By Id Item Status Modified By Name Owned By Path Collection Size Type type: user
id:
name:
login:0 active type: user
id: 14342567114
name: Jane Doe
login: test@test.comAll Files type: user
id: 14342567114
name: Jane Doe
login: test@test.comtotal_count: 0
entries:212311360 folder
Configuration parameters
url— Server URL (required)insecure— Trust any certificate (not secure)credentials_json— Credentials JSONcred_json—as_user— User ID for Fetching Incidentsevent_type— Types of Events to Ingest as Incidentsdefault_user— Default Usersearch_user_id— Auto-detect user IDs based on their email address.incidentType— Incident typeincidentFetchInterval— Incidents Fetch IntervalisFetch— Fetch incidentsfirst_fetch— First fetch timestamp (<number> <time unit>, e.g., 12 hours, 7 days)max_fetch— The maximum amount of incidents to fetch at once
Commands (27)
-
box-create-file-share-linkAdds a shared link to a file.
-
box-create-folder-share-linkAdds a shared link to a folder.
-
box-create-userCreates a new managed user in an enterprise. This endpoint is only available to users and applications with the correct admin permissions.
-
box-delete-userDeletes a user. By default this will fail if the user still owns any content. Move their owned content before proceeding, or use the force field to delete the user and their files.
-
box-download-fileReturns the contents of a file in binary format.
-
box-file-deleteDeletes a file, either permanently or by moving it to the trash.
-
box-find-file-folder-by-share-linkReturn the file represented by a shared link.
-
box-folder-createCreates a new empty folder within the specified parent folder.
-
box-get-current-userRetrieves information about the user who is currently authenticated.
-
box-get-folderRetrieves details for a folder, including the first 100 entries in the folder.
-
box-get-shared-link-by-fileGets the information for a shared link on a file.
-
box-get-shared-link-by-folderGets the information for a shared link on a folder.
-
box-list-enterprise-eventsReturns up to a year of past events for the entire enterprise.
-
box-list-folder-itemsRetrieves a page of items in a folder.
-
box-list-user-eventsReturns up to a year of past events for a given user.
-
box-list-usersReturns a list of all users for the Enterprise along with their user_id, public_name, and login.
-
box-move-folderMove all of the items (files, folders and workflows) owned by a user into another user's account.
-
box-remove-file-share-linkRemoves a shared link from a file.
-
box-remove-folder-share-linkRemoves a shared link from a folder.
-
box-search-contentSearches for files, folders, web links, and shared files across the users' content or across the entire enterprise.
-
box-trashed-item-delete-permanentlyPermanently deletes a file or folder that is in the trash. This action cannot be undone.
-
box-trashed-item-restoreRestores a file or folder that has been moved to the trash.
-
box-trashed-items-listRetrieves the files and folders that have been moved to the trash.
-
box-update-file-share-linkUpdates a shared link on a file.
-
box-update-folder-share-linkUpdates a shared link on a folder.
-
box-update-userUpdates a managed user in an enterprise. This endpoint is only available to users and applications with the right admin permissions.
-
box-upload-fileUploads a file to the given folder.
import json import pytest import demistomock as demisto from BoxV2 import Client def util_load_json(path): """ Simple test utility to open the recorded JSON files. :param path: str - Path to the JSON file :return: dict - A dict representation of the JSON """ with open(path, encoding="utf-8") as f: return json.loads(f.read()) class ClientTestBox: """ Test class to handle the client. """ def __init__(self, mocker): test_params = { "credentials_json": str( '{"boxAppSettings": {"clientID": ' '"1234", ' '"clientSecret": ' '"1234", "appAuth": {' '"publicKeyID": "1234", "privateKey": ' '"-----BEGIN ENCRYPTED PRIVATE KEY----------END ' 'ENCRYPTED PRIVATE KEY-----", "passphrase": ' '"1234"}}, ' '"enterpriseID": "1234"}' ) } testing_auth_header = {"Authorization": "Bearer JWT_TOKEN"} mocker.patch.object(Client, "_request_token", return_value=testing_auth_header) self.client = Client(base_url="https://api.box.com", verify=False, proxy=False, auth_params=test_params) def test_find_file_folder_by_share_link(requests_mock, mocker): """ Tests the box-find-file-folder-by-share-link function and command. Configures requests_mock instance to generate the appropriate get_alerts API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - BoxApi header matches the expected query. Given: A valid shared_link and password When: Executing the box-find-file-folder-by-share-link command Then: Return the result where the outputs match the mocked response. """ from BoxV2 import find_file_folder_by_share_link_command mock_response = util_load_json("test_data/find_file_folder_by_share_link.json") requests_mock.get("https://api.box.com/2.0/shared_items/", json=mock_response) args = {"shared_link": "https://app.box.com/s/testing", "password": "some_pass", "as_user": "1234567"} client = ClientTestBox(mocker).client response = find_file_folder_by_share_link_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert ( requests_mock.request_history[0].headers.get("BoxApi") == "shared_link=https://app.box.com/s/testing&shared_link_password=some_pass" ) assert response.outputs_prefix == "Box.ShareLink" assert response.outputs_key_field == "shared_link" assert response.outputs == mock_response def test_file_share_link_object(): """ Tests the creation of a file_share_link object. Since the function which uses this is a CRUD function, this test simply asserts that arguments given to it will return the correct request object """ from BoxV2 import FileShareLink testing_args = {} testing_args.update({"access": "some_access"}) testing_args.update({"password": "some_pass"}) testing_args.update({"file_id": None}) file_share_link_object = FileShareLink(args=testing_args) assert file_share_link_object.password == "some_pass" assert file_share_link_object.access == "some_access" assert file_share_link_object.file_id is None assert file_share_link_object.permissions == {"can_download": False} prepared_request = file_share_link_object.prepare_request_object() expected_request_object = {"access": "some_access", "password": "some_pass", "permissions": {"can_download": False}} assert prepared_request == expected_request_object def test_folder_share_link_object(): """ Tests the creation of a folder_share_link object. Since the function which uses this is a CRUD function, this test simply asserts that arguments given to it will return the correct request object """ from BoxV2 import FolderShareLink testing_args = {} testing_args.update({"access": "some_access"}) testing_args.update({"password": "some_pass"}) testing_args.update({"folder_id": None}) folder_share_link_object = FolderShareLink(args=testing_args) assert folder_share_link_object.password == "some_pass" assert folder_share_link_object.access == "some_access" assert folder_share_link_object.folder_id is None assert folder_share_link_object.permissions == {"can_download": False} prepared_request = folder_share_link_object.prepare_request_object() expected_request_object = {"access": "some_access", "password": "some_pass", "permissions": {"can_download": False}} assert prepared_request == expected_request_object def test_create_update_file_share_link(requests_mock, mocker): """ Tests the box-create-file-share-link function and command. Configures requests_mock instance to generate the appropriate files API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - Shared link request sends the correct password - Outputs match the expected result. Given: A valid file_id and password When: Executing the box-create-file-share-link command Then: Return the result where the outputs match the mocked response. """ from BoxV2 import create_update_file_share_link_command mock_response = util_load_json("test_data/create_update_file_share_link.json") requests_mock.put("https://api.box.com/2.0/files/742246263170/?fields=shared_link", json=mock_response) client = ClientTestBox(mocker).client args = {"file_id": "742246263170", "password": "some_pass", "access": "open", "as_user": "1234567"} response = create_update_file_share_link_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].json().get("shared_link").get("password") == "some_pass" assert response.outputs_prefix == "Box.ShareLink" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_remove_file_share_link_command(requests_mock, mocker): """ Tests the box-remove-file-share-link function and command. Configures requests_mock instance to generate the appropriate files API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - Shared link request sends the correct password - Outputs match the expected result. - Readable output matches the correct result for deletion. Given: A valid file_id and password When: Executing the box-remove-file-share-link command Then: Return the result where the outputs match the mocked response. """ from BoxV2 import remove_file_share_link_command mock_response = util_load_json("test_data/create_update_file_share_link.json") requests_mock.put("https://api.box.com/2.0/files/742246263170/?fields=shared_link", json=mock_response) client = ClientTestBox(mocker).client args = {"file_id": "742246263170", "password": "some_pass", "access": "open", "as_user": "1234567"} response = remove_file_share_link_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].json().get("shared_link") is None assert response.outputs_prefix == "Box.ShareLink" assert response.outputs_key_field == "id" assert response.outputs == mock_response assert response.readable_output == "File Share Link for the file_id 742246263170 was removed." def test_get_shared_link_for_file_command(requests_mock, mocker): """ Tests the box-get-shared-link-by-file function and command. Configures requests_mock instance to generate the appropriate files API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - Query string sends the share_link as a field. - Outputs match the expected result. Given: A valid file_id. When: Executing the box-get-shared-link-by-file command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import get_shared_link_for_file_command mock_response = util_load_json("test_data/create_update_file_share_link.json") requests_mock.get("https://api.box.com/2.0/files/742246263170/", json=mock_response) client = ClientTestBox(mocker).client args = {"file_id": "742246263170", "as_user": "1234567"} response = get_shared_link_for_file_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].qs.get("fields") == ["shared_link"] assert response.outputs_prefix == "Box.ShareLink" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_create_update_folder_share_link_command(requests_mock, mocker): """ Tests the box-create/update-folder-share-link function and command. Configures requests_mock instance to generate the appropriate folders API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - The access field is requested as True. - Outputs match the expected result. Given: A valid folder_id, password, and unshared_at time. When: Executing the box-create/update-folder-share-link command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import create_update_folder_share_link_command mock_response = util_load_json("test_data/create_update_file_share_link.json") requests_mock.put("https://api.box.com/2.0/folders/742246263170/", json=mock_response) client = ClientTestBox(mocker).client args = { "access": "open", "password": "testpass", "unshared_at": "3 days", "can_download": "False", "folder_id": "742246263170", "as_user": "1234567", } response = create_update_folder_share_link_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].json().get("shared_link").get("access") == "open" assert response.outputs_prefix == "Box.ShareLink" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_remove_folder_share_link_command(requests_mock, mocker): """ Tests the box-remove-folder-share-link function and command. Configures requests_mock instance to generate the appropriate folders API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - The shared_link argument is requested as None. - Outputs match the expected result. Given: A valid folder_id. When: Executing the box-remove-folder-share-link command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import remove_folder_share_link_command mock_response = util_load_json("test_data/create_update_file_share_link.json") requests_mock.put("https://api.box.com/2.0/folders/742246263170/", json=mock_response) client = ClientTestBox(mocker).client args = {"folder_id": "742246263170", "as_user": "1234567"} response = remove_folder_share_link_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].json().get("shared_link") is None assert response.outputs_prefix == "Box.ShareLink" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_get_folder_command(requests_mock, mocker): """ Tests the box-get-folder function and command. Configures requests_mock instance to generate the appropriate folders API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - The correct URL is called with the folder ID. - Outputs match the expected result. Given: A valid folder_id. When: Executing the box-get-folder command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import get_folder_command mock_response = util_load_json("test_data/get_folder.json") requests_mock.get("https://api.box.com/2.0/folders/0/", json=mock_response) client = ClientTestBox(mocker).client args = {"folder_id": "0", "as_user": "1234567"} response = get_folder_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].url == "https://api.box.com/2.0/folders/0/" assert response.outputs_prefix == "Box.Folder" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_list_folder_items_command(requests_mock, mocker): """ Tests the box-list-folder-items function and command. Configures requests_mock instance to generate the appropriate folders API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - The query string is sent with the sort parameter as asc. - Outputs match the expected result. Given: A valid folder_id. When: Executing the box-list-folder-items command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import list_folder_items_command mock_response = util_load_json("test_data/get_folder.json") requests_mock.get("https://api.box.com/2.0/folders/0/", json=mock_response) client = ClientTestBox(mocker).client args = {"folder_id": "0", "as_user": "1234567", "limit": "100", "offset": "0", "sort": "asc"} response = list_folder_items_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].qs.get("sort") == ["asc"] assert response.outputs_prefix == "Box.Folder" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_folder_create_command(requests_mock, mocker): """ Tests the box-create-folder function and command. Configures requests_mock instance to generate the appropriate folders API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - The folder name is requested as Testing Folder. - Outputs match the expected result. Given: A valid parent_id and name. When: Executing the box-create-folder command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import folder_create_command mock_response = util_load_json("test_data/get_folder.json") requests_mock.post("https://api.box.com/2.0/folders/", json=mock_response) client = ClientTestBox(mocker).client args = {"parent_id": "0", "as_user": "1234567", "name": "Testing Folder"} response = folder_create_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].json().get("name") == "Testing Folder" assert response.outputs_prefix == "Box.Folder" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_file_delete_command(requests_mock, mocker): """ Tests the box-file-delete function and command. Configures requests_mock instance to generate the appropriate files API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - The request method is DELETE. - Outputs match the expected result. Given: A valid file_id. When: Executing the box-file-delete command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import file_delete_command successful_file_deletion_status_code = 204 requests_mock.delete("https://api.box.com/2.0/files/12345", status_code=successful_file_deletion_status_code) client = ClientTestBox(mocker).client args = {"as_user": "1234567", "file_id": "12345"} response = file_delete_command(client, args) expected_response = "The file 12345 was successfully deleted." assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].method == "DELETE" assert response.readable_output == expected_response def test_list_users_command(requests_mock, mocker): """ Tests the box-list-users function and command. Configures requests_mock instance to generate the appropriate users API response, loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The Authorization header is correct - The query string contains the filter term test_user. - Outputs match the expected result. Given: A valid filter_term and fields to search in. When: Executing the box-list-users command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import list_users_command mock_response = util_load_json("test_data/get_folder.json") requests_mock.get("https://api.box.com/2.0/users/", json=mock_response) client = ClientTestBox(mocker).client args = {"fields": "name", "filter_term": "test_user", "limit": "100", "offset": "0"} response = list_users_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].qs.get("filter_term") == ["test_user"] assert response.outputs_prefix == "Box.Users" assert response.outputs_key_field == "id" assert response.outputs == mock_response.get("entries") def test_upload_file_command_with_chunks(requests_mock, mocker): """ Tests the box-upload function and command. Configures multiple requests_mock instances to generate the appropriate file API responses which are loaded from local JSON files. Checks the output of the command function with the expected output. Verifies: - The correct number of chunks were created and uploaded. - Content-Range and Digest headers are correct. - The commit request contains the proper amount of parts. Given: A file entry ID, file name and destination folder. When: Executing the box-upload-file command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import upload_file_command from unittest import mock # First need to mock the getFilePath object so we can replace with a test file. mocker.patch.object(demisto, "getFilePath", return_value={"path": "./test_data/test_image.jpg"}) mock_obj = mock.Mock() mock_obj.st_size = 105000000 mocker.patch("os.stat", return_value=mock_obj) # The size of the file we are testing is 298,306 bytes for testing purposes, we will use 70,000 # byte chunks. This should result in a total of 5 chunked upload requests. session_request_response = {"id": "test_session_id", "part_size": 70000} # Each chunk response is expected to include an upload summary which is then included when # committing the file. We will assert that these values match the commit request. part_data = {"part": {"some_info": "some-result"}} # The response given when a session is committed. session_commit_response = {"entities": {"name": "some_file", "file_type": "jpg", "id": 123}} # Mock for the request to open an upload session. requests_mock.post("https://upload.box.com/api/2.0/files/upload_sessions", json=session_request_response) requests_mock.put("https://upload.box.com/api/2.0/files/upload_sessions/test_session_id", json=part_data) requests_mock.post( "https://upload.box.com/api/2.0/files/upload_sessions/test_session_id/commit", json=session_commit_response ) client = ClientTestBox(mocker).client args = {"entry_id": "123@123", "file_name": "test_user.png", "folder_id": "100", "as_user": "0"} response = upload_file_command(client, args) # Validate request to open a session assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].text == '{"file_name": "test_user.png", "file_size": 105000000, "folder_id": "100"}' # Validate first PUT request assert requests_mock.request_history[1].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[1].headers.get("Content-Range") == "bytes 0-69999/105000000" assert requests_mock.request_history[1].headers.get("Digest") == "SHA=X1QbZ9o+V8TFMLKQ6LBmYEiBdD8=" # Validate second PUT request assert requests_mock.request_history[2].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[2].headers.get("Content-Range") == "bytes 70000-139999/105000000" assert requests_mock.request_history[2].headers.get("Digest") == "SHA=XkaxVkVB+djbRD6KHylwQCQOAZY=" # Skipping the remaining PUT requests # Validate request made to commit the file assert requests_mock.request_history[6].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[6].headers.get("Digest") == "SHA=O/ybJoSaHW2S0x4O/1p3QTcz3E4=" assert len(requests_mock.request_history[6].json().get("parts")) == 5 # Assert number of requests was 7. Where 5 were chunked upload, 1 session, and 1 commit request. assert len(requests_mock.request_history) == 7 assert response.outputs_prefix == "Box.File" assert response.outputs_key_field == "id" assert response.outputs == session_commit_response.get("entities") def test_test_upload_file_command_small_file(requests_mock, mocker): """ Tests the box-upload function and command for a small file (i.e with size_size < maximum_chunk_size) . Configures multiple requests_mock instances to generate the appropriate file API responses which are loaded from local JSON files. Checks the output of the command function with the expected output. Given: A file entry ID, file name and destination folder. When: Executing the box-upload-file command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import upload_file_command from unittest import mock # First need to mock the getFilePath object so we can replace with a test file. mocker.patch.object(demisto, "getFilePath", return_value={"path": "./test_data/test_image.jpg"}) mock_obj = mock.Mock() mock_obj.st_size = 10000000 # i.e smaller than 20000000 mocker.patch("os.stat", return_value=mock_obj) session_response = {"entities": {"name": "test_user.png", "parent": {"id": "100"}}} # Mock for the request to open an upload session. requests_mock.post("https://upload.box.com/api/2.0/files/content", json=session_response) client = ClientTestBox(mocker).client args = {"entry_id": "123@123", "file_name": "test_user.png", "folder_id": "100", "as_user": "0"} response = upload_file_command(client, args) # Validate request to open a session assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert b'"parent": {"id": "100"}' in requests_mock.request_history[0]._request.body assert len(requests_mock.request_history) == 1 assert response.outputs_prefix == "Box.File" assert response.outputs_key_field == "id" assert response.outputs == session_response.get("entities") def test_get_current_user_command(requests_mock, mocker): """ Tests the box-get-current-user function and command. Configures a requests_mock instance to generate the appropriate user API response which is loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The As-User header is correct - Outputs match the expected format Given: A valid user id. When: Executing the box-get-current-user command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import get_current_user_command mock_response = util_load_json("test_data/get_current_user.json") client = ClientTestBox(mocker).client args = {"as_user": "sample_current_user"} requests_mock.get("https://api.box.com/2.0/users/me/", json=mock_response) response = get_current_user_command(client, args) assert requests_mock.request_history[0].headers.get("As-User") == "sample_current_user" assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert response.outputs_prefix == "Box.User" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_url_as_param(requests_mock, mocker): """Assert the request url changes when url parameter changes.""" from BoxV2 import get_current_user_command # Generic test client params test_params = { "credentials_json": str( '{"boxAppSettings": {"clientID": ' '"1234", ' '"clientSecret": ' '"1234", "appAuth": {' '"publicKeyID": "1234", "privateKey": ' '"-----BEGIN ENCRYPTED PRIVATE KEY----------END ' 'ENCRYPTED PRIVATE KEY-----", "passphrase": ' '"1234"}}, ' '"enterpriseID": "1234"}' ) } testing_auth_header = {"Authorization": "Bearer JWT_TOKEN"} mocker.patch.object(Client, "_request_token", return_value=testing_auth_header) mock_response = util_load_json("test_data/get_current_user.json") # The different url other_url = "https://api.triangle.com" client = Client(base_url=other_url, verify=False, proxy=False, auth_params=test_params) args = {"as_user": "sample_current_user"} mocked_request = requests_mock.get(f"{other_url}/2.0/users/me/", json=mock_response) get_current_user_command(client, args) # Asset different url is used. assert mocked_request.called def test_create_user_command(requests_mock, mocker): """ Tests the box-create-user function and command. Configures a requests_mock instance to generate the appropriate user API response which is loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The As-User header is correct - Outputs match the expected format - Expected user id is sent in the request. - Tracking code parameter is formatted correctly. Given: Arguments defining a new user's properties. When: Executing the box-create-user command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import create_user_command mock_response = util_load_json("test_data/create_user.json") client = ClientTestBox(mocker).client args = { "as_user": "sample_current_user", "login": "dbot@paloaltonetworks.com", "name": "D Bot", "role": "user", "language": "en", "is_sync_enabled": "true", "job_title": "CEO", "phone": "4808675309", "address": "3000 Tannery Way, Santa Clara, CA 95054", "space_amount": "11345156112", "tracking_codes": "tracking_code_key:tracking_code_value,test1:test2", "can_see_managed_users": "true", "timezone": "US/Western", "is_exempt_from_device_limits": "true", "is_exempt_from_login_verification": "true", "is_external_collab_restricted": "true", "is_platform_access_only": "true", "status": "active", } requests_mock.post("https://api.box.com/2.0/users/", json=mock_response) response = create_user_command(client, args) assert requests_mock.request_history[0].headers.get("As-User") == "sample_current_user" assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].json().get("name") == "D Bot" assert requests_mock.request_history[0].json().get("tracking_codes") == [ {"tracking_code_key": "tracking_code_value"}, {"test1": "test2"}, ] assert requests_mock.request_history[0].json().get("login") == "dbot@paloaltonetworks.com" assert response.outputs_prefix == "Box.User" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_update_user_command(requests_mock, mocker): """ Tests the box-update-user function and command. Configures a requests_mock instance to generate the appropriate user API response which is loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The As-User header is correct - Outputs match the expected format - Expected user id is sent in the request. - Expected user's name is correct. - Tracking code parameter is formatted correctly. Given: Arguments defining a new user's properties. When: Executing the box-update-user command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import update_user_command mock_response = util_load_json("test_data/create_user.json") client = ClientTestBox(mocker).client args = { "as_user": "sample_current_user", "login": "dbot@paloaltonetworks.com", "name": "D Bot", "role": "user", "language": "en", "is_sync_enabled": "true", "job_title": "CEO", "phone": "4808675309", "address": "3000 Tannery Way, Santa Clara, CA 95054", "space_amount": "11345156112", "tracking_codes": "tracking_code_key:tracking_code_value,test1:test2", "can_see_managed_users": "true", "timezone": "US/Western", "is_exempt_from_device_limits": "true", "is_exempt_from_login_verification": "true", "is_external_collab_restricted": "true", "is_platform_access_only": "true", "status": "active", "user_id": "12345", } requests_mock.put("https://api.box.com/2.0/users/12345/", json=mock_response) response = update_user_command(client, args) assert requests_mock.request_history[0].headers.get("As-User") == "sample_current_user" assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].json().get("name") == "D Bot" assert requests_mock.request_history[0].json().get("tracking_codes") == [ {"tracking_code_key": "tracking_code_value"}, {"test1": "test2"}, ] assert requests_mock.request_history[0].json().get("login") == "dbot@paloaltonetworks.com" assert response.outputs_prefix == "Box.User" assert response.outputs_key_field == "id" assert response.outputs == mock_response def test_delete_user_command(requests_mock, mocker): """ Tests the box-delete-user function and command. Configures a requests_mock instance to generate the appropriate user API response which is loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The As-User header is correct - Outputs match the expected format - Force parameter is True - Readable output matches the expected result. Given: A valid user ID to delete and the force argument. When: Executing the box-delete-user command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import delete_user_command client = ClientTestBox(mocker).client args = {"as_user": "sample_current_user", "user_id": "12345", "force": "true"} requests_mock.delete("https://api.box.com/2.0/users/12345/", status_code=204) response = delete_user_command(client, args) assert requests_mock.request_history[0].headers.get("As-User") == "sample_current_user" assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].qs.get("force") == ["true"] assert response.readable_output == "The user 12345 was successfully deleted." def test_fetch_incidents(requests_mock, mocker): """ Tests the fetch-incidents function and command. Configures a requests_mock instance to generate the appropriate events API response which is loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The As-User header is correct - Outputs match the expected format - Stream_type parameter is correct. - Created after time is formatted correctly. - Readable output matches the expected result. - New last run time is newer than old last run time. Given: A valid last run object and time in the past. When: Executing the fetch-incidents command. Then: Return a tuple of the last run object and an array of incidents. """ from BoxV2 import fetch_incidents client = ClientTestBox(mocker).client as_user = "sample_current_user" max_results = 10 last_run = {"time": "2012-12-12T10:50:43-08:00"} first_fetch_time = 1607935741 mock_response = util_load_json("test_data/events.json") expected_fetch_results = util_load_json("test_data/fetch_expected_response.json") requests_mock.get("https://api.box.com/2.0/events/", json=mock_response) response = fetch_incidents(client, max_results, last_run, first_fetch_time, as_user) assert requests_mock.request_history[0].headers.get("As-User") == "sample_current_user" assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].qs.get("stream_type") == ["admin_logs"] assert requests_mock.request_history[0].qs.get("created_after") == ["2012-12-12t10:50:43-08:00"] assert response[0].get("time") == "2012-12-12T18:53:43+0000" assert response[0].get("next_stream_position") == 1152922976252290800 assert response[1] == expected_fetch_results @pytest.mark.parametrize( argnames="last_run_time, next_stream_position", argvalues=[("2012-12-12T10:50:43-08:00", ""), ("2012-12-12T18:50:43+0000", "1152922976252290700")], ) def test_fetch_incidents_event_type(mocker, last_run_time, next_stream_position): """ Tests the fetch-incidents function and command. This unit test checks 2 scenarios: 1. A scenario in which a local time was saved to the last run, and no streaming position was given. 2. A scenario in which the utc time was saved to the last run, and a next_stream_position was given. Given: A valid last run object and time in the past. When: Executing the fetch-incidents command. Then: The correct arguments are being sent in the request, and that the expected last_run object is returned. 1. no stream_position is used in the params to the api call. 2. a stream_position is used in the params to the api call. """ from BoxV2 import fetch_incidents client = ClientTestBox(mocker).client as_user = "sample_current_user" max_results = 10 last_run = {"time": last_run_time, "next_stream_position": next_stream_position} event_type = ["FILE_MARKED_MALICIOUS", "FILE_MARKED_MALICIOUS2"] first_fetch_time = 1607935741 expected_event_type = "FILE_MARKED_MALICIOUS,FILE_MARKED_MALICIOUS2" expected_params = { "created_after": last_run.get("time"), "limit": max_results, "event_type": expected_event_type, "stream_type": "admin_logs", } if next_stream_position: expected_params["stream_position"] = next_stream_position mock_response = util_load_json("test_data/events2.json") http_request = mocker.patch.object(client, "_http_request", return_value=mock_response) last_run, incidents = fetch_incidents(client, max_results, last_run, first_fetch_time, as_user, event_type) http_request.assert_called_with(method="GET", url_suffix="/events/", params=expected_params) assert last_run == {"time": "2012-12-12T18:53:44+0000", "next_stream_position": 1152922976252290800} assert len(incidents) == 2 def test_list_user_events_command(requests_mock, mocker): """ Tests the box-list-user-events function and command. Configures a requests_mock instance to generate the appropriate user API response which is loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The As-User header is correct - stream_type is all - Length of returned events are greater than 0. Given: A valid user ID to delete and the force argument. When: Executing the box-list-user-events command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import list_user_events_command client = ClientTestBox(mocker).client args = {"as_user": "sample_current_user", "stream_type": "all"} mock_response = util_load_json("test_data/events.json") requests_mock.get("https://api.box.com/2.0/events/", json=mock_response) response = list_user_events_command(client, args) assert requests_mock.request_history[0].headers.get("As-User") == "sample_current_user" assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].qs.get("stream_type") == ["all"] assert len(response.outputs) > 0 def test_list_enterprise_events_command(requests_mock, mocker): """ Tests the box-list-enterprise-events function and command. Configures a requests_mock instance to generate the appropriate user API response which is loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The As-User header is correct - Created after time is more than 3 days from the time test was written. - Length of returned events are greater than 0. Given: A valid user ID to delete and the force argument. When: Executing the box-list-enterprise-events command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import list_enterprise_events_command client = ClientTestBox(mocker).client args = {"as_user": "sample_current_user", "stream_type": "all", "created_after": "3 days"} mock_response = util_load_json("test_data/events.json") requests_mock.get("https://api.box.com/2.0/events/", json=mock_response) response = list_enterprise_events_command(client, args) assert requests_mock.request_history[0].headers.get("As-User") == "sample_current_user" assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].qs.get("created_after")[0] > "2020-12-12t09:51:28" assert len(response.outputs) > 0 def test_move_folder_command(requests_mock, mocker): """ Tests the box-move-folder function and command. Configures a requests_mock instance to generate the appropriate user API response which is loaded from a local JSON file. Checks the output of the command function with the expected output. Verifies: - The request is being made with the correct owned_by body. - The response is a folder response object. - Length of returned events are greater than 0. Given: A valid to user ID and a valid from user id. When: Executing the box-move-folder command. Then: Return the result where the outputs match the mocked response. """ from BoxV2 import move_folder_command client = ClientTestBox(mocker).client args = {"from_user_id": "123456", "to_user_id": "7890", "notify": "true"} mock_response = util_load_json("test_data/get_folder.json") requests_mock.put("https://api.box.com/2.0/users/123456/folders/0/", json=mock_response) response = move_folder_command(client, args) assert requests_mock.request_history[0].headers.get("Authorization") == "Bearer JWT_TOKEN" assert requests_mock.request_history[0].json().get("owned_by").get("id") == "7890" assert response.outputs_prefix == "Box.Folder" assert response.outputs_key_field == "id" assert response.outputs == mock_response assert len(response.outputs) > 0 def test_main(mocker): """ Given: - Valid arguments for each command. When: - Running the main function. Then: - Ensure that each command runs successfully without raising any exceptions. """ import BoxV2 client = ClientTestBox(mocker).client demisto_args = {"max_fetch": 50, "fields": "name", "filter_term": "test_user", "limit": "100", "offset": "0"} demisto_command = "test-module" mocker.patch.object(demisto, "args", return_value=demisto_args) mocker.patch.object(demisto, "command", return_value=demisto_command) client = ClientTestBox(mocker).client mocker.patch.object(BoxV2, "Client", return_value=client) mock_response = util_load_json("test_data/get_folder.json") mocker.patch.object(Client, "list_users", return_value=mock_response) BoxV2.main() def test_trashed_items_list_command(mocker): """ Given: - A client object - Arguments for the trashed_items_list_command function When: - Calling the trashed_items_list_command function and the API returns entries Then: - Ensure the function returns a CommandResults object with entries """ from BoxV2 import trashed_items_list_command client = ClientTestBox(mocker).client args = {"limit": "100", "offset": "0", "as_user": "test_user"} response = {"entries": [{"id": "123", "name": "test_file"}, {"id": "456", "name": "test_folder"}]} mocker.patch.object(client, "trashed_items_list", return_value=response) results = trashed_items_list_command(client, args) assert results.outputs_prefix == "Box.Trash" assert results.outputs == response.get("entries") assert ( results.readable_output == "### Trashed items were found.\n|Id|Name|\n|---|---|\n" "| 123 | test_file |\n| 456 | test_folder |\n" ) def test_trashed_item_restore_command_happy_path(mocker): """ Given: - Valid item_id, type and as_user parameters. When: - Calling trashed_item_restore_command function. Then: - Ensure the function returns a CommandResults object with the expected outputs. """ from BoxV2 import trashed_item_restore_command item_id = "123" file_type = "file" as_user = "user1" response = {"id": item_id, "name": "test_file", "type": file_type, "restored": True} client = ClientTestBox(mocker).client mocker.patch.object(client, "trashed_item_restore", return_value=response) args = {"item_id": item_id, "type": file_type, "as_user": as_user} result = trashed_item_restore_command(client, args) assert result.outputs_prefix == "Box.Item" assert result.outputs_key_field == "id" assert result.outputs == response assert result.readable_output == f"Item with the ID {item_id} was restored." def test_event_init_source_none_with_created_at(): """ Tests the initialization of the Event class when: - `source` exists but is `None` in `raw_input`. - `created_at` exists directly in `raw_input`. Given: - `raw_input` with `source` set to `None` and a valid `created_at`. When: - Instantiating the Event class. Then: - Ensure the `created_at` field is set correctly. - Ensure no `AttributeError` is raised due to `source` being `None`. """ from BoxV2 import Event raw_input = { "created_at": "2024-12-16T15:00:00Z", "source": None, "event_id": "test_id_source_none", "event_type": "test_type_source_none", } event = Event(raw_input) assert event.created_at == "2024-12-16T15:00:00Z" # `created_at` is set directly assert event.event_id == "test_id_source_none" assert event.event_type == "test_type_source_none"