Box v2

Manage Box users.

IT Services · Box

Details

IDBox v2
ProviderBox
CategoryIT Services
From Version5.0.0
Docker Imagedemisto/auth-utils:1.0.0.10133006
Supported ModulesAgentix 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

  1. Navigate to the developer console for Box.
  2. Click Create a New App.
  3. Select Custom App and when prompted, select Server Authentication (with JWT)
  4. Enter your desired App Name.
  5. In the Configuration menu under Application Access, select Enterprise.
  6. Under the Advanced Features option, enable both Perform Actions as Users and Generate User Access Tokens.
  7. In the Add and Manage Public Keys section, click Generate a Public/Private Keypair and follow the prompts.
  8. Click Save Changes in the upper right-hand corner.
  9. 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

  1. Navigate to Settings > Integrations > Servers & Services.
  2. Search for Box v2.
  3. 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
  4. 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.com
0 127109452066 active 2020-11-30T03:53:45-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
test-demo name type: user
id: 14342567114
name: Jane Doe
login: test@test.com
type: folder
id: 0
sequence_id: null
etag: null
name: All Files
total_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.com
2 type: file_version
id: 794731944502
sha1: 1ff8be1766d9e16b0b651f89001e8e7375c9e71f
745868717302 active 2020-12-01T06:28:21-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
55555.gif type: user
id: 14342567114
name: Jane Doe
login: test@test.com
total_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.jpeg open can_preview false can_preview: true
can_download: false
0 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.jpeg open can_preview false can_preview: true
can_download: false
0 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.jpeg open can_preview false can_preview: true
can_download: false
0 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.com
All Files type: user
id: 14342567114
name: Jane Doe
login: test@test.com
total_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.com
All Files type: user
id: 14342567114
name: Jane Doe
login: test@test.com
total_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: aa58d9692d58f5d9316d7cf1950d19a0b01bc204
751526132294 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.com
821c82f3cf438bf0d206aa80aac526ea1700a46b 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: true
event
2020-11-25T04:24:37-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
0fcb31e458fd14483cf760e1895ee69980eaff62 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: true
event
2020-11-25T04:34:17-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
3d89043e5c46897ac77702f553622204666120a4 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: true
event
2020-11-25T04:36:04-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
40b93bf6eb12fb167a51cdf03e3c3444a6a265b0 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: true
event
2020-11-25T05:18:44-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
6a9dee69e8f0fdc81e75fa63b1e9c35b80200481 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: true
event
2020-11-25T05:20:56-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
ba2a5d3dca51a7edefbdf06543295a74bc773cb4 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: true
event
2020-11-25T05:25:44-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
a56e6d1020c8cfb7ce22a990e6da5192001b1c1e 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: true
event
2020-11-25T06:47:49-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
e9bbd0c85123ebbb1074664c4176f75e6da8cd7f 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: true
event
2020-11-25T06:48:49-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
be9d499190f23542227cad001c02d8c2bb22c65c 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: true
event
2020-11-25T06:50:31-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
4ce8a9d707a286ea1c62eb2fcccc399bccc68278 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: true
event

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: 803108695891
2020-12-15T00:44:58-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
451677f7-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: 803108695891
2020-12-15T00:50:37-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
457eebd9-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: 803108695891
2020-12-15T00:53:33-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
e6b91f7a-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_TESTING
2020-12-15T03:07:44-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
16b5dbef-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_TESTING
2020-12-15T03:07:54-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
3a30d7f7-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_TESTING
2020-12-15T03:08:15-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
a71b25af-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_TESTING
2020-12-15T03:11:22-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
dba908b8-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_TESTING
2020-12-15T03:11:50-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
fe379c6f-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_TESTING
2020-12-15T03:11:52-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
b6b320af-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_TESTING
2020-12-15T03:11:59-08:00 type: user
id: 14342567114
name: Jane Doe
login: test@test.com
cdc29617-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.com
All Files type: user
id: 14342567114
name: Jane Doe
login: test@test.com
total_count: 0
entries:
212311360 folder

Configuration parameters

  • url — Server URL (required)
  • insecure — Trust any certificate (not secure)
  • credentials_json — Credentials JSON
  • cred_json
  • as_user — User ID for Fetching Incidents
  • event_type — Types of Events to Ingest as Incidents
  • default_user — Default User
  • search_user_id — Auto-detect user IDs based on their email address.
  • incidentType — Incident type
  • incidentFetchInterval — Incidents Fetch Interval
  • isFetch — Fetch incidents
  • first_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-link

    Adds a shared link to a file.

  • box-create-folder-share-link

    Adds a shared link to a folder.

  • box-create-user

    Creates a new managed user in an enterprise. This endpoint is only available to users and applications with the correct admin permissions.

  • box-delete-user

    Deletes 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-file

    Returns the contents of a file in binary format.

  • box-file-delete

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

  • box-find-file-folder-by-share-link

    Return the file represented by a shared link.

  • box-folder-create

    Creates a new empty folder within the specified parent folder.

  • box-get-current-user

    Retrieves information about the user who is currently authenticated.

  • box-get-folder

    Retrieves details for a folder, including the first 100 entries in the folder.

  • box-get-shared-link-by-file

    Gets the information for a shared link on a file.

  • box-get-shared-link-by-folder

    Gets the information for a shared link on a folder.

  • box-list-enterprise-events

    Returns up to a year of past events for the entire enterprise.

  • box-list-folder-items

    Retrieves a page of items in a folder.

  • box-list-user-events

    Returns up to a year of past events for a given user.

  • box-list-users

    Returns a list of all users for the Enterprise along with their user_id, public_name, and login.

  • box-move-folder

    Move all of the items (files, folders and workflows) owned by a user into another user's account.

  • box-remove-file-share-link

    Removes a shared link from a file.

  • box-remove-folder-share-link

    Removes a shared link from a folder.

  • box-search-content

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

  • box-trashed-item-delete-permanently

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

  • box-trashed-item-restore

    Restores a file or folder that has been moved to the trash.

  • box-trashed-items-list

    Retrieves the files and folders that have been moved to the trash.

  • box-update-file-share-link

    Updates a shared link on a file.

  • box-update-folder-share-link

    Updates a shared link on a folder.

  • box-update-user

    Updates a managed user in an enterprise. This endpoint is only available to users and applications with the right admin permissions.

  • box-upload-file

    Uploads 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"