from __future__ import annotations import base64 import json import re from pathlib import Path from typing import Any import httpx from a2a_pack.deepagents import create_a2a_deep_agent from langchain_core.messages import BaseMessage from langchain_core.tools import StructuredTool from pydantic import BaseModel, Field from a2a_pack import ( A2AAgent, ConsumerSetup, ConsumerSetupField, ConsumerSetupMissing, EgressPolicy, LLMProvisioning, Pricing, Resources, RunContext, skill, ) DEFAULT_BASE_URL = "https://api.box.com/2.0" OPERATIONS = json.loads("{\n \"delete_ai_agents_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes an AI agent using the provided parameters.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_ai_agents_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the agent to delete.\",\n \"in\": \"path\",\n \"name\": \"agent_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/ai_agents/{agent_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_ai_agents_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete AI agent\",\n \"tags\": [\n \"AI Studio\"\n ]\n },\n \"delete_collaboration_whitelist_entries_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes a domain from the list of domains that have been deemed safe to create\\ncollaborations for within the current enterprise.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_collaboration_whitelist_entries_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the entry in the list.\",\n \"in\": \"path\",\n \"name\": \"collaboration_whitelist_entry_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/collaboration_whitelist_entries/{collaboration_whitelist_entry_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_collaboration_whitelist_entries_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove domain from list of allowed collaboration domains\",\n \"tags\": [\n \"Domain restrictions for collaborations\"\n ]\n },\n \"delete_collaboration_whitelist_exempt_targets_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes a user's exemption from the restrictions set out by the allowed list\\nof domains for collaborations.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_collaboration_whitelist_exempt_targets_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the exemption to the list.\",\n \"in\": \"path\",\n \"name\": \"collaboration_whitelist_exempt_target_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/collaboration_whitelist_exempt_targets/{collaboration_whitelist_exempt_target_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_collaboration_whitelist_exempt_targets_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove user from list of users exempt from domain restrictions\",\n \"tags\": [\n \"Domain restrictions (User exemptions)\"\n ]\n },\n \"delete_collaborations_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a single collaboration.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_collaborations_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the collaboration.\",\n \"in\": \"path\",\n \"name\": \"collaboration_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/collaborations/{collaboration_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_collaborations_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove collaboration\",\n \"tags\": [\n \"Collaborations\"\n ]\n },\n \"delete_comments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Permanently deletes a comment.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_comments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the comment.\",\n \"in\": \"path\",\n \"name\": \"comment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/comments/{comment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_comments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove comment\",\n \"tags\": [\n \"Comments\"\n ]\n },\n \"delete_device_pinners_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes an individual device pin.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_device_pinners_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the device pin.\",\n \"in\": \"path\",\n \"name\": \"device_pinner_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/device_pinners/{device_pinner_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_device_pinners_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove device pin\",\n \"tags\": [\n \"Device pinners\"\n ]\n },\n \"delete_file_requests_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a file request permanently.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_file_requests_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a file request.\\n\\nThe ID for any file request can be determined\\nby visiting a file request builder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/filerequest/123`\\nthe `file_request_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_request_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/file_requests/{file_request_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_file_requests_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete file request\",\n \"tags\": [\n \"File requests\"\n ]\n },\n \"delete_files_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a file, either permanently or by moving it to\\nthe trash.\\n\\nThe enterprise settings determine whether the item will\\nbe permanently deleted from Box or moved to the trash.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_files_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Ensures this item hasn't recently changed before\\nmaking changes.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `412 Precondition Failed` if it\\nhas changed since.\",\n \"in\": \"header\",\n \"name\": \"if-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_files_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete file\",\n \"tags\": [\n \"Files\"\n ]\n },\n \"delete_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes any classifications from a file.\\n\\nThis API can also be called by including the enterprise ID in the\\nURL explicitly, for example\\n`/files/:id//enterprise_12345/securityClassification-6VMVochwUWo`.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove classification from file\",\n \"tags\": [\n \"Classifications on files\"\n ]\n },\n \"delete_files_id_metadata_global_box_skills_cards\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes any Box Skills cards metadata from a file.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_files_id_metadata_global_box_skills_cards\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/global/boxSkillsCards\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_files_id_metadata_global_box_skills_cards\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove Box Skill cards from file\",\n \"tags\": [\n \"Skills\"\n ]\n },\n \"delete_files_id_metadata_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a piece of file metadata.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_files_id_metadata_id_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/{scope}/{template_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_files_id_metadata_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove metadata instance from file\",\n \"tags\": [\n \"Metadata instances (Files)\"\n ]\n },\n \"delete_files_id_trash\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Permanently deletes a file that is in the trash.\\nThis action cannot be undone.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_files_id_trash\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/trash\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_files_id_trash\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Permanently remove file\",\n \"tags\": [\n \"Trashed files\"\n ]\n },\n \"delete_files_id_versions_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Move a file version to the trash.\\n\\nVersions are only tracked for Box users with premium accounts.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_files_id_versions_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the file version.\",\n \"in\": \"path\",\n \"name\": \"file_version_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Ensures this item hasn't recently changed before\\nmaking changes.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `412 Precondition Failed` if it\\nhas changed since.\",\n \"in\": \"header\",\n \"name\": \"if-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/versions/{file_version_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_files_id_versions_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove file version\",\n \"tags\": [\n \"File versions\"\n ]\n },\n \"delete_files_id_watermark\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes the watermark from a file.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_files_id_watermark\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/watermark\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_files_id_watermark\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove watermark from file\",\n \"tags\": [\n \"Watermarks (Files)\"\n ]\n },\n \"delete_files_upload_sessions_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Abort an upload session and discard all data uploaded.\\n\\nThis cannot be reversed.\\n\\nThe actual endpoint URL is returned by the [`Create upload session`](https://developer.box.com/reference/post-files-upload-sessions)\\nand [`Get upload session`](https://developer.box.com/reference/get-files-upload-sessions-id) endpoints.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_files_upload_sessions_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the upload session.\",\n \"in\": \"path\",\n \"name\": \"upload_session_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/upload_sessions/{upload_session_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_files_upload_sessions_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove upload session\",\n \"tags\": [\n \"Uploads (Chunked)\"\n ]\n },\n \"delete_folder_locks_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a folder lock on a given folder.\\n\\nYou must be authenticated as the owner or co-owner of the folder to\\nuse this endpoint.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_folder_locks_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the folder lock.\",\n \"in\": \"path\",\n \"name\": \"folder_lock_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folder_locks/{folder_lock_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_folder_locks_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete folder lock\",\n \"tags\": [\n \"Folder Locks\"\n ]\n },\n \"delete_folders_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a folder, either permanently or by moving it to\\nthe trash.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_folders_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Ensures this item hasn't recently changed before\\nmaking changes.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `412 Precondition Failed` if it\\nhas changed since.\",\n \"in\": \"header\",\n \"name\": \"if-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Delete a folder that is not empty by recursively deleting the\\nfolder and all of its content.\",\n \"in\": \"query\",\n \"name\": \"recursive\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_folders_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete folder\",\n \"tags\": [\n \"Folders\"\n ]\n },\n \"delete_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes any classifications from a folder.\\n\\nThis API can also be called by including the enterprise ID in the\\nURL explicitly, for example\\n`/folders/:id/enterprise_12345/securityClassification-6VMVochwUWo`.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove classification from folder\",\n \"tags\": [\n \"Classifications on folders\"\n ]\n },\n \"delete_folders_id_metadata_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a piece of folder metadata.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_folders_id_metadata_id_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/metadata/{scope}/{template_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_folders_id_metadata_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove metadata instance from folder\",\n \"tags\": [\n \"Metadata instances (Folders)\"\n ]\n },\n \"delete_folders_id_trash\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Permanently deletes a folder that is in the trash.\\nThis action cannot be undone.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_folders_id_trash\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/trash\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_folders_id_trash\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Permanently remove folder\",\n \"tags\": [\n \"Trashed folders\"\n ]\n },\n \"delete_folders_id_watermark\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes the watermark from a folder.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_folders_id_watermark\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/watermark\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_folders_id_watermark\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove watermark from folder\",\n \"tags\": [\n \"Watermarks (Folders)\"\n ]\n },\n \"delete_group_memberships_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a specific group membership. Only admins of this\\ngroup or users with admin-level permissions will be able to\\nuse this API.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_group_memberships_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the group membership.\",\n \"in\": \"path\",\n \"name\": \"group_membership_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/group_memberships/{group_membership_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_group_memberships_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove user from group\",\n \"tags\": [\n \"Group memberships\"\n ]\n },\n \"delete_groups_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Permanently deletes a group. Only users with\\nadmin-level permissions will be able to use this API.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_groups_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the group.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/groups/{group_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_groups_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove group\",\n \"tags\": [\n \"Groups\"\n ]\n },\n \"delete_integration_mappings_slack_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a [Slack integration mapping](https://support.box.com/hc/en-us/articles/4415585987859-Box-as-the-Content-Layer-for-Slack).\\n\\n\\nYou need Admin or Co-Admin role to\\nuse this endpoint.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_integration_mappings_slack_id\",\n \"parameters\": [\n {\n \"description\": \"An ID of an integration mapping.\",\n \"in\": \"path\",\n \"name\": \"integration_mapping_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/integration_mappings/slack/{integration_mapping_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_integration_mappings_slack_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete Slack integration mapping\",\n \"tags\": [\n \"Integration mappings\"\n ]\n },\n \"delete_integration_mappings_teams_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a [Teams integration mapping](https://support.box.com/hc/en-us/articles/360044681474-Using-Box-for-Teams).\\nYou need Admin or Co-Admin role to\\nuse this endpoint.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_integration_mappings_teams_id\",\n \"parameters\": [\n {\n \"description\": \"An ID of an integration mapping.\",\n \"in\": \"path\",\n \"name\": \"integration_mapping_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/integration_mappings/teams/{integration_mapping_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_integration_mappings_teams_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete Teams integration mapping\",\n \"tags\": [\n \"Integration mappings\"\n ]\n },\n \"delete_legal_hold_policies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Delete an existing legal hold policy.\\n\\nThis is an asynchronous process. The policy will not be\\nfully deleted yet when the response returns.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_legal_hold_policies_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the legal hold policy.\",\n \"in\": \"path\",\n \"name\": \"legal_hold_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/legal_hold_policies/{legal_hold_policy_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_legal_hold_policies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove legal hold policy\",\n \"tags\": [\n \"Legal hold policies\"\n ]\n },\n \"delete_legal_hold_policy_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Remove a legal hold from an item.\\n\\nThis is an asynchronous process. The policy will not be\\nfully removed yet when the response returns.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_legal_hold_policy_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the legal hold policy assignment.\",\n \"in\": \"path\",\n \"name\": \"legal_hold_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/legal_hold_policy_assignments/{legal_hold_policy_assignment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_legal_hold_policy_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Unassign legal hold policy\",\n \"tags\": [\n \"Legal hold policy assignments\"\n ]\n },\n \"delete_metadata_cascade_policies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a metadata cascade policy.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_metadata_cascade_policies_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the metadata cascade policy.\",\n \"in\": \"path\",\n \"name\": \"metadata_cascade_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_cascade_policies/{metadata_cascade_policy_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_metadata_cascade_policies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove metadata cascade policy\",\n \"tags\": [\n \"Metadata cascade policies\"\n ]\n },\n \"delete_metadata_taxonomies_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Delete a metadata taxonomy.\\nThis deletion is permanent and cannot be reverted.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_metadata_taxonomies_id_id\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_metadata_taxonomies_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove metadata taxonomy\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"delete_metadata_taxonomies_id_id_nodes_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Delete a metadata taxonomy node.\\nThis deletion is permanent and cannot be reverted.\\nOnly metadata taxonomy nodes without any children can be deleted.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_metadata_taxonomies_id_id_nodes_id\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The identifier of the metadata taxonomy node.\",\n \"in\": \"path\",\n \"name\": \"node_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes/{node_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_metadata_taxonomies_id_id_nodes_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove metadata taxonomy node\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"delete_metadata_templates_id_id_schema\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Delete a metadata template and its instances.\\nThis deletion is permanent and can not be reversed.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_metadata_templates_id_id_schema\",\n \"parameters\": [\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_templates/{scope}/{template_key}/schema\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_metadata_templates_id_id_schema\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove metadata template\",\n \"tags\": [\n \"Metadata templates\"\n ]\n },\n \"delete_retention_policies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Permanently deletes a retention policy.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_retention_policies_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the retention policy.\",\n \"in\": \"path\",\n \"name\": \"retention_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/retention_policies/{retention_policy_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_retention_policies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete retention policy\",\n \"tags\": [\n \"Retention policies\"\n ]\n },\n \"delete_retention_policy_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes a retention policy assignment\\napplied to content.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_retention_policy_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the retention policy assignment.\",\n \"in\": \"path\",\n \"name\": \"retention_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/retention_policy_assignments/{retention_policy_assignment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_retention_policy_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove retention policy assignment\",\n \"tags\": [\n \"Retention policy assignments\"\n ]\n },\n \"delete_shield_information_barrier_segment_members_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a shield information barrier\\nsegment member based on provided ID.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_shield_information_barrier_segment_members_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier segment Member.\",\n \"in\": \"path\",\n \"name\": \"shield_information_barrier_segment_member_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segment_members/{shield_information_barrier_segment_member_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_shield_information_barrier_segment_members_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete shield information barrier segment member by ID\",\n \"tags\": [\n \"Shield information barrier segment members\"\n ]\n },\n \"delete_shield_information_barrier_segment_restrictions_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Delete shield information barrier segment restriction\\nbased on provided ID.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_shield_information_barrier_segment_restrictions_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier segment Restriction.\",\n \"in\": \"path\",\n \"name\": \"shield_information_barrier_segment_restriction_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segment_restrictions/{shield_information_barrier_segment_restriction_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_shield_information_barrier_segment_restrictions_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete shield information barrier segment restriction by ID\",\n \"tags\": [\n \"Shield information barrier segment restrictions\"\n ]\n },\n \"delete_shield_information_barrier_segments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes the shield information barrier segment\\nbased on provided ID.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_shield_information_barrier_segments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier segment.\",\n \"in\": \"path\",\n \"name\": \"shield_information_barrier_segment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segments/{shield_information_barrier_segment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_shield_information_barrier_segments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete shield information barrier segment\",\n \"tags\": [\n \"Shield information barrier segments\"\n ]\n },\n \"delete_storage_policy_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Delete a storage policy assignment.\\n\\nDeleting a storage policy assignment on a user\\nwill have the user inherit the enterprise's default\\nstorage policy.\\n\\nThere is a rate limit for calling this endpoint of only\\ntwice per user in a 24 hour time frame.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_storage_policy_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the storage policy assignment.\",\n \"in\": \"path\",\n \"name\": \"storage_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/storage_policy_assignments/{storage_policy_assignment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_storage_policy_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Unassign storage policy\",\n \"tags\": [\n \"Standard and Zones Storage Policy Assignments\"\n ]\n },\n \"delete_task_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a specific task assignment.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_task_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the task assignment.\",\n \"in\": \"path\",\n \"name\": \"task_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/task_assignments/{task_assignment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_task_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Unassign task\",\n \"tags\": [\n \"Task assignments\"\n ]\n },\n \"delete_tasks_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes a task from a file.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_tasks_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the task.\",\n \"in\": \"path\",\n \"name\": \"task_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/tasks/{task_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_tasks_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove task\",\n \"tags\": [\n \"Tasks\"\n ]\n },\n \"delete_users_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a user. By default, this operation fails if the user\\nstill owns any content. \\nTo proceed, move their owned content first, or use the `force` parameter to delete\\nthe user and their files.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_users_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Whether the user will receive email notification of\\nthe deletion.\",\n \"in\": \"query\",\n \"name\": \"notify\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Specifies whether to delete the user even if they still own files.\",\n \"in\": \"query\",\n \"name\": \"force\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/users/{user_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_users_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete user\",\n \"tags\": [\n \"Users\"\n ]\n },\n \"delete_users_id_avatar\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes an existing user avatar.\\nYou cannot reverse this operation.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_users_id_avatar\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/users/{user_id}/avatar\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_users_id_avatar\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete user avatar\",\n \"tags\": [\n \"User avatars\"\n ]\n },\n \"delete_users_id_email_aliases_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes an email alias from a user.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_users_id_email_aliases_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the email alias.\",\n \"in\": \"path\",\n \"name\": \"email_alias_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/users/{user_id}/email_aliases/{email_alias_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_users_id_email_aliases_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove email alias\",\n \"tags\": [\n \"Email aliases\"\n ]\n },\n \"delete_web_links_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a web link.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_web_links_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_web_links_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove web link\",\n \"tags\": [\n \"Web links\"\n ]\n },\n \"delete_web_links_id_trash\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Permanently deletes a web link that is in the trash.\\nThis action cannot be undone.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_web_links_id_trash\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}/trash\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_web_links_id_trash\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Permanently remove web link\",\n \"tags\": [\n \"Trashed web links\"\n ]\n },\n \"delete_webhooks_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a webhook.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_webhooks_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the webhook.\",\n \"in\": \"path\",\n \"name\": \"webhook_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/webhooks/{webhook_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_webhooks_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove webhook\",\n \"tags\": [\n \"Webhooks\"\n ]\n },\n \"get_ai_agent_default\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Get the AI agent default config.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_ai_agent_default\",\n \"parameters\": [\n {\n \"description\": \"The mode to filter the agent config to return.\",\n \"in\": \"query\",\n \"name\": \"mode\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"ask\",\n \"text_gen\",\n \"extract\",\n \"extract_structured\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ISO language code to return the agent config for.\\nIf the language is not supported the default agent config is returned.\",\n \"in\": \"query\",\n \"name\": \"language\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The model to return the default agent config for.\",\n \"in\": \"query\",\n \"name\": \"model\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/ai_agent_default\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_ai_agent_default\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get AI agent default configuration\",\n \"tags\": [\n \"AI\"\n ]\n },\n \"get_ai_agents\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists AI agents based on the provided parameters.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_ai_agents\",\n \"parameters\": [\n {\n \"description\": \"The mode to filter the agent config to return. Possible values are: `ask`, `text_gen`, and `extract`.\",\n \"in\": \"query\",\n \"name\": \"mode\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The fields to return in the response.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The state of the agents to return. Possible values are: `enabled`, `disabled` and `enabled_for_selected_users`.\",\n \"in\": \"query\",\n \"name\": \"agent_state\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Whether to include the Box default agents in the response.\",\n \"in\": \"query\",\n \"name\": \"include_box_default\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/ai_agents\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_ai_agents\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List AI agents\",\n \"tags\": [\n \"AI Studio\"\n ]\n },\n \"get_ai_agents_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Gets an AI Agent using the `agent_id` parameter.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_ai_agents_id\",\n \"parameters\": [\n {\n \"description\": \"The agent id to get.\",\n \"in\": \"path\",\n \"name\": \"agent_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The fields to return in the response.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/ai_agents/{agent_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_ai_agents_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get AI agent by agent ID\",\n \"tags\": [\n \"AI Studio\"\n ]\n },\n \"get_authorize\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Authorize a user by sending them through the [Box](https://box.com)\\nwebsite and request their permission to act on their behalf.\\n\\nThis is the first step when authenticating a user using\\nOAuth 2.0. To request a user's authorization to use the Box APIs\\non their behalf you will need to send a user to the URL with this\\nformat.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_authorize\",\n \"parameters\": [\n {\n \"description\": \"The type of response we'd like to receive.\",\n \"in\": \"query\",\n \"name\": \"response_type\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"code\"\n ],\n \"format\": \"token\",\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The Client ID of the application that is requesting to authenticate\\nthe user. To get the Client ID for your application, log in to your\\nBox developer console and click the **Edit Application** link for\\nthe application you're working with. In the OAuth 2.0 Parameters section\\nof the configuration page, find the item labelled `client_id`. The\\ntext of that item is your application's Client ID.\",\n \"in\": \"query\",\n \"name\": \"client_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The URI to which Box redirects the browser after the user has granted\\nor denied the application permission. This URI match one of the redirect\\nURIs in the configuration of your application. It must be a\\nvalid HTTPS URI and it needs to be able to handle the redirection to\\ncomplete the next step in the OAuth 2.0 flow.\\nAlthough this parameter is optional, it must be a part of the\\nauthorization URL if you configured multiple redirect URIs\\nfor the application in the developer console. A missing parameter causes\\na `redirect_uri_missing` error after the user grants application access.\",\n \"in\": \"query\",\n \"name\": \"redirect_uri\",\n \"required\": false,\n \"schema\": {\n \"format\": \"url\",\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A custom string of your choice. Box will pass the same string to\\nthe redirect URL when authentication is complete. This parameter\\ncan be used to identify a user on redirect, as well as protect\\nagainst hijacked sessions and other exploits.\",\n \"in\": \"query\",\n \"name\": \"state\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A space-separated list of application scopes you'd like to\\nauthenticate the user for. This defaults to all the scopes configured\\nfor the application in its configuration page.\",\n \"in\": \"query\",\n \"name\": \"scope\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/authorize\",\n \"request_body\": null,\n \"security\": [],\n \"skill_name\": \"get_authorize\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Authorize user\",\n \"tags\": [\n \"Authorization\"\n ]\n },\n \"get_collaboration_whitelist_entries\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the list domains that have been deemed safe to create collaborations\\nfor within the current enterprise.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_collaboration_whitelist_entries\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/collaboration_whitelist_entries\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_collaboration_whitelist_entries\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List allowed collaboration domains\",\n \"tags\": [\n \"Domain restrictions for collaborations\"\n ]\n },\n \"get_collaboration_whitelist_entries_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a domain that has been deemed safe to create collaborations\\nfor within the current enterprise.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_collaboration_whitelist_entries_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the entry in the list.\",\n \"in\": \"path\",\n \"name\": \"collaboration_whitelist_entry_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/collaboration_whitelist_entries/{collaboration_whitelist_entry_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_collaboration_whitelist_entries_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get allowed collaboration domain\",\n \"tags\": [\n \"Domain restrictions for collaborations\"\n ]\n },\n \"get_collaboration_whitelist_exempt_targets\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of users who have been exempt from the collaboration\\ndomain restrictions.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_collaboration_whitelist_exempt_targets\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/collaboration_whitelist_exempt_targets\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_collaboration_whitelist_exempt_targets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List users exempt from collaboration domain restrictions\",\n \"tags\": [\n \"Domain restrictions (User exemptions)\"\n ]\n },\n \"get_collaboration_whitelist_exempt_targets_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a users who has been exempt from the collaboration\\ndomain restrictions.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_collaboration_whitelist_exempt_targets_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the exemption to the list.\",\n \"in\": \"path\",\n \"name\": \"collaboration_whitelist_exempt_target_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/collaboration_whitelist_exempt_targets/{collaboration_whitelist_exempt_target_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_collaboration_whitelist_exempt_targets_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get user exempt from collaboration domain restrictions\",\n \"tags\": [\n \"Domain restrictions (User exemptions)\"\n ]\n },\n \"get_collaborations\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all pending collaboration invites for this user.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_collaborations\",\n \"parameters\": [\n {\n \"description\": \"The status of the collaborations to retrieve.\",\n \"in\": \"query\",\n \"name\": \"status\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"pending\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/collaborations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_collaborations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List pending collaborations\",\n \"tags\": [\n \"Collaborations (List)\"\n ]\n },\n \"get_collaborations_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a single collaboration.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_collaborations_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the collaboration.\",\n \"in\": \"path\",\n \"name\": \"collaboration_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/collaborations/{collaboration_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_collaborations_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get collaboration\",\n \"tags\": [\n \"Collaborations\"\n ]\n },\n \"get_collections\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all collections for a given user.\\n\\nCurrently, only the `favorites` collection\\nis supported.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_collections\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/collections\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_collections\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List all collections\",\n \"tags\": [\n \"Collections\"\n ]\n },\n \"get_collections_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a collection by its ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_collections_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the collection.\",\n \"in\": \"path\",\n \"name\": \"collection_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/collections/{collection_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_collections_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get collection by ID\",\n \"tags\": [\n \"Collections\"\n ]\n },\n \"get_collections_id_items\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the files and/or folders contained within\\nthis collection.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_collections_id_items\",\n \"parameters\": [\n {\n \"description\": \"The ID of the collection.\",\n \"in\": \"path\",\n \"name\": \"collection_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/collections/{collection_id}/items\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_collections_id_items\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List collection items\",\n \"tags\": [\n \"Collections\"\n ]\n },\n \"get_comments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the message and metadata for a specific comment, as well\\nas information on the user who created the comment.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_comments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the comment.\",\n \"in\": \"path\",\n \"name\": \"comment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/comments/{comment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_comments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get comment\",\n \"tags\": [\n \"Comments\"\n ]\n },\n \"get_device_pinners_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves information about an individual device pin.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_device_pinners_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the device pin.\",\n \"in\": \"path\",\n \"name\": \"device_pinner_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/device_pinners/{device_pinner_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_device_pinners_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get device pin\",\n \"tags\": [\n \"Device pinners\"\n ]\n },\n \"get_enterprises_id_device_pinners\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all the device pins within an enterprise.\\n\\nThe user must have admin privileges, and the application\\nneeds the \\\"manage enterprise\\\" scope to make this call.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_enterprises_id_device_pinners\",\n \"parameters\": [\n {\n \"description\": \"The ID of the enterprise.\",\n \"in\": \"path\",\n \"name\": \"enterprise_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The direction to sort results in. This can be either in alphabetical ascending\\n(`ASC`) or descending (`DESC`) order.\",\n \"in\": \"query\",\n \"name\": \"direction\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/enterprises/{enterprise_id}/device_pinners\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_enterprises_id_device_pinners\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List enterprise device pins\",\n \"tags\": [\n \"Device pinners\"\n ]\n },\n \"get_events\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns up to a year of past events for a given user\\nor for the entire enterprise.\\n\\nBy default this returns events for the authenticated user. To retrieve events\\nfor the entire enterprise, set the `stream_type` to `admin_logs_streaming`\\nfor live monitoring of new events, or `admin_logs` for querying across\\nhistorical events. The user making the API call will\\nneed to have admin privileges, and the application will need to have the\\nscope `manage enterprise properties` checked.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_events\",\n \"parameters\": [\n {\n \"description\": \"Defines the type of events that are returned\\n\\n* `all` returns everything for a user and is the default\\n* `changes` returns events that may cause file tree changes\\n such as file updates or collaborations.\\n* `sync` is similar to `changes` but only applies to synced folders\\n* `admin_logs` returns all events for an entire enterprise and\\n requires the user making the API call to have admin permissions. This\\n stream type is for programmatically pulling from a 1 year history of\\n events across all users within the enterprise and within a\\n `created_after` and `created_before` time frame. The complete history\\n of events will be returned in chronological order based on the event\\n time, but latency will be much higher than `admin_logs_streaming`.\\n* `admin_logs_streaming` returns all events for an entire enterprise and\\n requires the user making the API call to have admin permissions. This\\n stream type is for polling for recent events across all users within\\n the enterprise. Latency will be much lower than `admin_logs`, but\\n events will not be returned in chronological order and may\\n contain duplicates.\",\n \"in\": \"query\",\n \"name\": \"stream_type\",\n \"required\": false,\n \"schema\": {\n \"default\": \"all\",\n \"enum\": [\n \"all\",\n \"changes\",\n \"sync\",\n \"admin_logs\",\n \"admin_logs_streaming\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The location in the event stream to start receiving events from.\\n\\n* `now` will return an empty list events and\\nthe latest stream position for initialization.\\n* `0` or `null` will return all events.\",\n \"in\": \"query\",\n \"name\": \"stream_position\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limits the number of events returned.\\n\\nNote: Sometimes, the events less than the limit requested can be returned\\neven when there may be more events remaining. This is primarily done in\\nthe case where a number of events have already been retrieved and these\\nretrieved events are returned rather than delaying for an unknown amount\\nof time to see if there are any more results.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"default\": 100,\n \"format\": \"int64\",\n \"maximum\": 500,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A comma-separated list of events to filter by. This can only be used when\\nrequesting the events with a `stream_type` of `admin_logs` or\\n`adming_logs_streaming`. For any other `stream_type` this value will be\\nignored.\",\n \"in\": \"query\",\n \"name\": \"event_type\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"description\": \"An event type that can be filtered by.\",\n \"enum\": [\n \"ACCESS_GRANTED\",\n \"ACCESS_REVOKED\",\n \"ADD_DEVICE_ASSOCIATION\",\n \"ADD_LOGIN_ACTIVITY_DEVICE\",\n \"ADMIN_LOGIN\",\n \"ADVANCED_FOLDER_SETTINGS_UPDATE\",\n \"APPLICATION_CREATED\",\n \"APPLICATION_PUBLIC_KEY_ADDED\",\n \"APPLICATION_PUBLIC_KEY_DELETED\",\n \"CHANGE_ADMIN_ROLE\",\n \"CHANGE_FOLDER_PERMISSION\",\n \"COLLABORATION_ACCEPT\",\n \"COLLABORATION_EXPIRATION\",\n \"COLLABORATION_INVITE\",\n \"COLLABORATION_REMOVE\",\n \"COLLABORATION_ROLE_CHANGE\",\n \"COMMENT_CREATE\",\n \"COMMENT_DELETE\",\n \"COMMENT_EDIT\",\n \"CONTENT_WORKFLOW_ABNORMAL_DOWNLOAD_ACTIVITY\",\n \"CONTENT_WORKFLOW_AUTOMATION_ADD\",\n \"CONTENT_WORKFLOW_AUTOMATION_DELETE\",\n \"CONTENT_WORKFLOW_POLICY_ADD\",\n \"CONTENT_WORKFLOW_SHARING_POLICY_VIOLATION\",\n \"CONTENT_WORKFLOW_UPLOAD_POLICY_VIOLATION\",\n \"COPY\",\n \"DATA_RETENTION_CREATE_RETENTION\",\n \"DATA_RETENTION_REMOVE_RETENTION\",\n \"DELETE\",\n \"DELETE_USER\",\n \"DEVICE_TRUST_CHECK_FAILED\",\n \"DOWNLOAD\",\n \"EDIT\",\n \"EDIT_USER\",\n \"EMAIL_ALIAS_CONFIRM\",\n \"EMAIL_ALIAS_PRIMARY\",\n \"EMAIL_ALIAS_REMOVE\",\n \"EMAIL_UPLOAD_DISABLED\",\n \"EMAIL_UPLOAD_ENABLED\",\n \"ENTERPRISE_APP_AUTHORIZATION_UPDATE\",\n \"EXTERNAL_COLLAB_SECURITY_SETTINGS\",\n \"FAILED_LOGIN\",\n \"FAVORITE\",\n \"FILE_MARKED_MALICIOUS\",\n \"FILE_REQUEST_CREATE\",\n \"FILE_REQUEST_DELETE\",\n \"FILE_REQUEST_UPDATE\",\n \"FILE_VERSION_RESTORE\",\n \"FILE_WATERMARKED_DOWNLOAD\",\n \"GROUP_ADD_ITEM\",\n \"GROUP_ADD_USER\",\n \"GROUP_CREATION\",\n \"GROUP_DELETION\",\n \"GROUP_EDITED\",\n \"GROUP_REMOVE_ITEM\",\n \"GROUP_REMOVE_USER\",\n \"ILLEGAL_ITEM_OWNERSHIP_TRANSFER_BY_USER\",\n \"ITEM_EMAIL_SEND\",\n \"ITEM_MODIFY\",\n \"ITEM_OPEN\",\n \"ITEM_SHARED_UPDATE\",\n \"ITEM_SYNC\",\n \"ITEM_UNSYNC\",\n \"LEGAL_HOLD_ASSIGNMENT_CREATE\",\n \"LEGAL_HOLD_ASSIGNMENT_DELETE\",\n \"LEGAL_HOLD_POLICY_CREATE\",\n \"LEGAL_HOLD_POLICY_DELETE\",\n \"LEGAL_HOLD_POLICY_UPDATE\",\n \"LOCK\",\n \"LOGIN\",\n \"METADATA_CASCADE_POLICY_APPLY\",\n \"METADATA_CASCADE_POLICY_CREATE\",\n \"METADATA_INSTANCE_COPY\",\n \"METADATA_INSTANCE_CREATE\",\n \"METADATA_INSTANCE_DELETE\",\n \"METADATA_INSTANCE_UPDATE\",\n \"METADATA_TEMPLATE_CREATE\",\n \"METADATA_TEMPLATE_DELETE\",\n \"METADATA_TEMPLATE_UPDATE\",\n \"MOVE\",\n \"NEW_USER\",\n \"OAUTH2_ACCESS_TOKEN_REVOKE\",\n \"OAUTH2_REFRESH_TOKEN_REVOKE\",\n \"PREVIEW\",\n \"REMOVE_DEVICE_ASSOCIATION\",\n \"REMOVE_LOGIN_ACTIVITY_DEVICE\",\n \"RENAME\",\n \"RETENTION_POLICY_ASSIGNMENT_ADD\",\n \"SHARE\",\n \"SHARED_LINK_SEND\",\n \"SHARE_EXPIRATION\",\n \"SHIELD_ALERT\",\n \"SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED\",\n \"SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED_MISSING_JUSTIFICATION\",\n \"SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED\",\n \"SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED_MISSING_JUSTIFICATION\",\n \"SHIELD_JUSTIFICATION_APPROVAL\",\n \"SHIELD_SHARED_LINK_ACCESS_BLOCKED\",\n \"SHIELD_SHARED_LINK_STATUS_RESTRICTED_ON_CREATE\",\n \"SHIELD_SHARED_LINK_STATUS_RESTRICTED_ON_UPDATE\",\n \"SIGN_DOCUMENT_ASSIGNED\",\n \"SIGN_DOCUMENT_CANCELLED\",\n \"SIGN_DOCUMENT_COMPLETED\",\n \"SIGN_DOCUMENT_CONVERTED\",\n \"SIGN_DOCUMENT_CREATED\",\n \"SIGN_DOCUMENT_DECLINED\",\n \"SIGN_DOCUMENT_EXPIRED\",\n \"SIGN_DOCUMENT_SIGNED\",\n \"SIGN_DOCUMENT_VIEWED_BY_SIGNED\",\n \"SIGNER_DOWNLOADED\",\n \"SIGNER_FORWARDED\",\n \"STORAGE_EXPIRATION\",\n \"TASK_ASSIGNMENT_CREATE\",\n \"TASK_ASSIGNMENT_DELETE\",\n \"TASK_ASSIGNMENT_UPDATE\",\n \"TASK_CREATE\",\n \"TASK_UPDATE\",\n \"TERMS_OF_SERVICE_ACCEPT\",\n \"TERMS_OF_SERVICE_REJECT\",\n \"UNDELETE\",\n \"UNFAVORITE\",\n \"UNLOCK\",\n \"UNSHARE\",\n \"UPDATE_COLLABORATION_EXPIRATION\",\n \"UPDATE_SHARE_EXPIRATION\",\n \"UPLOAD\",\n \"USER_AUTHENTICATE_OAUTH2_ACCESS_TOKEN_CREATE\",\n \"WATERMARK_LABEL_CREATE\",\n \"WATERMARK_LABEL_DELETE\",\n \"WORKFLOW_AUTOMATION_CREATE\",\n \"WORKFLOW_AUTOMATION_DELETE\",\n \"WORKFLOW_AUTOMATION_UPDATE\"\n ],\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The lower bound date and time to return events for. This can only be used\\nwhen requesting the events with a `stream_type` of `admin_logs`. For any\\nother `stream_type` this value will be ignored.\",\n \"in\": \"query\",\n \"name\": \"created_after\",\n \"required\": false,\n \"schema\": {\n \"format\": \"date-time\",\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The upper bound date and time to return events for. This can only be used\\nwhen requesting the events with a `stream_type` of `admin_logs`. For any\\nother `stream_type` this value will be ignored.\",\n \"in\": \"query\",\n \"name\": \"created_before\",\n \"required\": false,\n \"schema\": {\n \"format\": \"date-time\",\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/events\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List user and enterprise events\",\n \"tags\": [\n \"Events\"\n ]\n },\n \"get_file_requests_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the information about a file request.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_file_requests_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a file request.\\n\\nThe ID for any file request can be determined\\nby visiting a file request builder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/filerequest/123`\\nthe `file_request_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_request_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/file_requests/{file_request_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_file_requests_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get file request\",\n \"tags\": [\n \"File requests\"\n ]\n },\n \"get_file_version_legal_holds\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Get a list of file versions on legal hold for a legal hold\\nassignment.\\n\\nDue to ongoing re-architecture efforts this API might not return all file\\nversions for this policy ID.\\n\\nInstead, this API will only return file versions held in the legacy\\narchitecture. Two new endpoints will available to request any file versions\\nheld in the new architecture.\\n\\nFor file versions held in the new architecture, the `GET\\n/legal_hold_policy_assignments/:id/file_versions_on_hold` API can be used to\\nreturn all past file versions available for this policy assignment, and the\\n`GET /legal_hold_policy_assignments/:id/files_on_hold` API can be used to\\nreturn any current (latest) versions of a file under legal hold.\\n\\nThe `GET /legal_hold_policy_assignments?policy_id={id}` API can be used to\\nfind a list of policy assignments for a given policy ID.\\n\\nOnce the re-architecture is completed this API will be deprecated.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_file_version_legal_holds\",\n \"parameters\": [\n {\n \"description\": \"The ID of the legal hold policy to get the file version legal\\nholds for.\",\n \"in\": \"query\",\n \"name\": \"policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/file_version_legal_holds\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_file_version_legal_holds\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List file version legal holds\",\n \"tags\": [\n \"File version legal holds\"\n ]\n },\n \"get_file_version_legal_holds_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves information about the legal hold policies\\nassigned to a file version.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_file_version_legal_holds_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the file version legal hold.\",\n \"in\": \"path\",\n \"name\": \"file_version_legal_hold_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/file_version_legal_holds/{file_version_legal_hold_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_file_version_legal_holds_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get file version legal hold\",\n \"tags\": [\n \"File version legal holds\"\n ]\n },\n \"get_file_version_retentions\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all file version retentions for the given enterprise.\\n\\n**Note**:\\nFile retention API is now **deprecated**.\\nTo get information about files and file versions under retention,\\nsee [files under retention](https://developer.box.com/reference/get-retention-policy-assignments-id-files-under-retention) or [file versions under retention](https://developer.box.com/reference/get-retention-policy-assignments-id-file-versions-under-retention) endpoints.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_file_version_retentions\",\n \"parameters\": [\n {\n \"description\": \"Filters results by files with this ID.\",\n \"in\": \"query\",\n \"name\": \"file_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters results by file versions with this ID.\",\n \"in\": \"query\",\n \"name\": \"file_version_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters results by the retention policy with this ID.\",\n \"in\": \"query\",\n \"name\": \"policy_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters results by the retention policy with this disposition\\naction.\",\n \"in\": \"query\",\n \"name\": \"disposition_action\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"permanently_delete\",\n \"remove_retention\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters results by files that will have their disposition\\ncome into effect before this date.\",\n \"in\": \"query\",\n \"name\": \"disposition_before\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters results by files that will have their disposition\\ncome into effect after this date.\",\n \"in\": \"query\",\n \"name\": \"disposition_after\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/file_version_retentions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_file_version_retentions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List file version retentions\",\n \"tags\": [\n \"File version retentions\"\n ]\n },\n \"get_file_version_retentions_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns information about a file version retention.\\n\\n**Note**:\\nFile retention API is now **deprecated**.\\nTo get information about files and file versions under retention,\\nsee [files under retention](https://developer.box.com/reference/get-retention-policy-assignments-id-files-under-retention) or [file versions under retention](https://developer.box.com/reference/get-retention-policy-assignments-id-file-versions-under-retention) endpoints.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_file_version_retentions_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the file version retention.\",\n \"in\": \"path\",\n \"name\": \"file_version_retention_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/file_version_retentions/{file_version_retention_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_file_version_retentions_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get retention on file\",\n \"tags\": [\n \"File version retentions\"\n ]\n },\n \"get_files_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the details about a file.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\\n\\nAdditionally this field can be used to query any metadata\\napplied to the file by specifying the `metadata` field as well\\nas the scope and key of the template to retrieve, for example\\n`?fields=metadata.enterprise_12345.contractTemplate`.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Ensures an item is only returned if it has changed.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `304 Not Modified` if the item has not\\nchanged since.\",\n \"in\": \"header\",\n \"name\": \"if-none-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The URL, and optional password, for the shared link of this item.\\n\\nThis header can be used to access items that have not been\\nexplicitly shared with a user.\\n\\nUse the format `shared_link=[link]` or if a password is required then\\nuse `shared_link=[link]&shared_link_password=[password]`.\\n\\nThis header can be used on the file or folder shared, as well as on any files\\nor folders nested within the item.\",\n \"in\": \"header\",\n \"name\": \"boxapi\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A header required to request specific `representations`\\nof a file. Use this in combination with the `fields` query\\nparameter to request a specific file representation.\\n\\nThe general format for these representations is\\n`X-Rep-Hints: [...]` where `[...]` is one or many\\nhints in the format `[fileType?query]`.\\n\\nFor example, to request a `png` representation in `32x32`\\nas well as `64x64` pixel dimensions provide the following\\nhints.\\n\\n`x-rep-hints: [jpg?dimensions=32x32][jpg?dimensions=64x64]`\\n\\nAdditionally, a `text` representation is available for all\\ndocument file types in Box using the `[extracted_text]`\\nrepresentation.\\n\\n`x-rep-hints: [extracted_text]`.\",\n \"in\": \"header\",\n \"name\": \"x-rep-hints\",\n \"required\": false,\n \"schema\": {\n \"nullable\": true,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get file information\",\n \"tags\": [\n \"Files\"\n ]\n },\n \"get_files_id_app_item_associations\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"**This is a beta feature, which means that its availability might be limited.**\\nReturns all app items the file is associated with. This includes app items\\nassociated with ancestors of the file. Assuming the context user has access\\nto the file, the type/ids are revealed even if the context user does not\\nhave **View** permission on the app item.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_app_item_associations\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If given, only return app items for this application type.\",\n \"in\": \"query\",\n \"name\": \"application_type\",\n \"required\": false,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/app_item_associations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_app_item_associations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List file app item associations\",\n \"tags\": [\n \"App item associations\"\n ]\n },\n \"get_files_id_collaborations\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of pending and active collaborations for a\\nfile. This returns all the users that have access to the file\\nor have been invited to the file.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_collaborations\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/collaborations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_collaborations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List file collaborations\",\n \"tags\": [\n \"Collaborations (List)\"\n ]\n },\n \"get_files_id_comments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of comments for a file.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_comments\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/comments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_comments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List file comments\",\n \"tags\": [\n \"Comments\"\n ]\n },\n \"get_files_id_content\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the contents of a file in binary format.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_content\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The byte range of the content to download.\\n\\nThe format `bytes={start_byte}-{end_byte}` can be used to specify\\nwhat section of the file to download.\",\n \"in\": \"header\",\n \"name\": \"range\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The URL, and optional password, for the shared link of this item.\\n\\nThis header can be used to access items that have not been\\nexplicitly shared with a user.\\n\\nUse the format `shared_link=[link]` or if a password is required then\\nuse `shared_link=[link]&shared_link_password=[password]`.\\n\\nThis header can be used on the file or folder shared, as well as on any files\\nor folders nested within the item.\",\n \"in\": \"header\",\n \"name\": \"boxapi\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The file version to download.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"An optional access token that can be used to pre-authenticate this request, which means that a download link can be shared with a browser or a third party service without them needing to know how to handle the authentication.\\nWhen using this parameter, please make sure that the access token is sufficiently scoped down to only allow read access to that file and no other files or folders.\",\n \"in\": \"query\",\n \"name\": \"access_token\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/content\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_content\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Download file\",\n \"tags\": [\n \"Downloads\"\n ]\n },\n \"get_files_id_get_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Gets the information for a shared link on a file.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_get_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}#get_shared_link\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_get_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get shared link for file\",\n \"tags\": [\n \"Shared links (Files)\"\n ]\n },\n \"get_files_id_metadata\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all metadata for a given file.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_metadata\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Taxonomy field values are returned in `API view` by default, meaning \\nthe value is represented with a taxonomy node identifier. \\nTo retrieve the `Hydrated view`, where taxonomy values are represented \\nwith the full taxonomy node information, set this parameter to `hydrated`. \\nThis is the only supported value for this parameter.\",\n \"in\": \"query\",\n \"name\": \"view\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_metadata\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List metadata instances on file\",\n \"tags\": [\n \"Metadata instances (Files)\"\n ]\n },\n \"get_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the classification metadata instance that\\nhas been applied to a file.\\n\\nThis API can also be called by including the enterprise ID in the\\nURL explicitly, for example\\n`/files/:id//enterprise_12345/securityClassification-6VMVochwUWo`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get classification on file\",\n \"tags\": [\n \"Classifications on files\"\n ]\n },\n \"get_files_id_metadata_global_box_skills_cards\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"List the Box Skills metadata cards that are attached to a file.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_metadata_global_box_skills_cards\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/global/boxSkillsCards\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_metadata_global_box_skills_cards\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List Box Skill cards on file\",\n \"tags\": [\n \"Skills\"\n ]\n },\n \"get_files_id_metadata_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the instance of a metadata template that has been applied to a\\nfile.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_metadata_id_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Taxonomy field values are returned in `API view` by default, meaning \\nthe value is represented with a taxonomy node identifier. \\nTo retrieve the `Hydrated view`, where taxonomy values are represented \\nwith the full taxonomy node information, set this parameter to `hydrated`. \\nThis is the only supported value for this parameter.\",\n \"in\": \"query\",\n \"name\": \"view\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/{scope}/{template_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_metadata_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get metadata instance on file\",\n \"tags\": [\n \"Metadata instances (Files)\"\n ]\n },\n \"get_files_id_tasks\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of all the tasks for a file. This\\nendpoint does not support pagination.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_tasks\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/tasks\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_tasks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List tasks on file\",\n \"tags\": [\n \"Tasks\"\n ]\n },\n \"get_files_id_thumbnail_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a thumbnail, or smaller image representation, of a file.\\n\\nSizes of `32x32`,`64x64`, `128x128`, and `256x256` can be returned in\\nthe `.png` format and sizes of `32x32`, `160x160`, and `320x320`\\ncan be returned in the `.jpg` format.\\n\\nThumbnails can be generated for the image and video file formats listed\\n[found on our community site][1].\\n\\n[1]: https://community.box.com/t5/Migrating-and-Previewing-Content/File-Types-and-Fonts-Supported-in-Box-Content-Preview/ta-p/327\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_thumbnail_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The file format for the thumbnail.\",\n \"in\": \"path\",\n \"name\": \"extension\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"png\",\n \"jpg\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The minimum height of the thumbnail.\",\n \"in\": \"query\",\n \"name\": \"min_height\",\n \"required\": false,\n \"schema\": {\n \"maximum\": 320,\n \"minimum\": 32,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The minimum width of the thumbnail.\",\n \"in\": \"query\",\n \"name\": \"min_width\",\n \"required\": false,\n \"schema\": {\n \"maximum\": 320,\n \"minimum\": 32,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The maximum height of the thumbnail.\",\n \"in\": \"query\",\n \"name\": \"max_height\",\n \"required\": false,\n \"schema\": {\n \"maximum\": 320,\n \"minimum\": 32,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The maximum width of the thumbnail.\",\n \"in\": \"query\",\n \"name\": \"max_width\",\n \"required\": false,\n \"schema\": {\n \"maximum\": 320,\n \"minimum\": 32,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/thumbnail.{extension}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_thumbnail_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get file thumbnail\",\n \"tags\": [\n \"Files\"\n ]\n },\n \"get_files_id_trash\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a file that has been moved to the trash.\\n\\nPlease note that only if the file itself has been moved to the\\ntrash can it be retrieved with this API call. If instead one of\\nits parent folders was moved to the trash, only that folder\\ncan be inspected using the\\n[`GET /folders/:id/trash`](https://developer.box.com/reference/get-folders-id-trash) API.\\n\\nTo list all items that have been moved to the trash, please\\nuse the [`GET /folders/trash/items`](https://developer.box.com/reference/get-folders-trash-items/)\\nAPI.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_trash\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/trash\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_trash\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get trashed file\",\n \"tags\": [\n \"Trashed files\"\n ]\n },\n \"get_files_id_versions\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve a list of the past versions for a file.\\n\\nVersions are only tracked by Box users with premium accounts. To fetch the ID\\nof the current version of a file, use the `GET /file/:id` API.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_versions\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/versions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_versions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List all file versions\",\n \"tags\": [\n \"File versions\"\n ]\n },\n \"get_files_id_versions_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve a specific version of a file.\\n\\nVersions are only tracked for Box users with premium accounts.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_versions_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The ID of the file version.\",\n \"in\": \"path\",\n \"name\": \"file_version_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/versions/{file_version_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_versions_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get file version\",\n \"tags\": [\n \"File versions\"\n ]\n },\n \"get_files_id_watermark\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve the watermark for a file.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_id_watermark\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/watermark\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_id_watermark\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get watermark on file\",\n \"tags\": [\n \"Watermarks (Files)\"\n ]\n },\n \"get_files_upload_sessions_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Return information about an upload session.\\n\\nThe actual endpoint URL is returned by the [`Create upload session`](https://developer.box.com/reference/post-files-upload-sessions) endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_upload_sessions_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the upload session.\",\n \"in\": \"path\",\n \"name\": \"upload_session_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/upload_sessions/{upload_session_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_upload_sessions_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get upload session\",\n \"tags\": [\n \"Uploads (Chunked)\"\n ]\n },\n \"get_files_upload_sessions_id_parts\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Return a list of the chunks uploaded to the upload session so far.\\n\\nThe actual endpoint URL is returned by the [`Create upload session`](https://developer.box.com/reference/post-files-upload-sessions)\\nand [`Get upload session`](https://developer.box.com/reference/get-files-upload-sessions-id) endpoints.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_files_upload_sessions_id_parts\",\n \"parameters\": [\n {\n \"description\": \"The ID of the upload session.\",\n \"in\": \"path\",\n \"name\": \"upload_session_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/files/upload_sessions/{upload_session_id}/parts\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_files_upload_sessions_id_parts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List parts\",\n \"tags\": [\n \"Uploads (Chunked)\"\n ]\n },\n \"get_folder_locks\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves folder lock details for a given folder.\\n\\nYou must be authenticated as the owner or co-owner of the folder to\\nuse this endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folder_locks\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"query\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folder_locks\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folder_locks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List folder locks\",\n \"tags\": [\n \"Folder Locks\"\n ]\n },\n \"get_folders_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves details for a folder, including the first 100 entries\\nin the folder.\\n\\nPassing `sort`, `direction`, `offset`, and `limit`\\nparameters in query allows you to manage the\\nlist of returned\\n[folder items](https://developer.box.com/reference/resources/folder--full#param-item-collection).\\n\\nTo fetch more items within the folder, use the\\n[Get items in a folder](https://developer.box.com/reference/get-folders-id-items) endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\\n\\nAdditionally this field can be used to query any metadata\\napplied to the file by specifying the `metadata` field as well\\nas the scope and key of the template to retrieve, for example\\n`?fields=metadata.enterprise_12345.contractTemplate`.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Ensures an item is only returned if it has changed.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `304 Not Modified` if the item has not\\nchanged since.\",\n \"in\": \"header\",\n \"name\": \"if-none-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The URL, and optional password, for the shared link of this item.\\n\\nThis header can be used to access items that have not been\\nexplicitly shared with a user.\\n\\nUse the format `shared_link=[link]` or if a password is required then\\nuse `shared_link=[link]&shared_link_password=[password]`.\\n\\nThis header can be used on the file or folder shared, as well as on any files\\nor folders nested within the item.\",\n \"in\": \"header\",\n \"name\": \"boxapi\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the **second** attribute by which items\\nare sorted.\\n\\nThe folder type affects the way the items\\nare sorted:\\n\\n * **Standard folder**:\\n Items are always sorted by\\n their `type` first, with\\n folders listed before files,\\n and files listed\\n before web links.\\n\\n * **Root folder**:\\n This parameter is not supported\\n for marker-based pagination\\n on the root folder\\n\\n (the folder with an `id` of `0`).\\n\\n * **Shared folder with parent path\\n to the associated folder visible to\\n the collaborator**:\\n Items are always sorted by\\n their `type` first, with\\n folders listed before files,\\n and files listed\\n before web links.\",\n \"in\": \"query\",\n \"name\": \"sort\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"id\",\n \"name\",\n \"date\",\n \"size\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The direction to sort results in. This can be either in alphabetical ascending\\n(`ASC`) or descending (`DESC`) order.\",\n \"in\": \"query\",\n \"name\": \"direction\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nOffset-based pagination is not guaranteed to work reliably for high offset values and may fail for large datasets. In\\nthose cases, reduce the number of items in the folder (for example, by\\nrestructuring the folder into smaller subfolders) before retrying the\\nrequest.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get folder information\",\n \"tags\": [\n \"Folders\"\n ]\n },\n \"get_folders_id_app_item_associations\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"**This is a beta feature, which means that its availability might be limited.**\\nReturns all app items the folder is associated with. This includes app items\\nassociated with ancestors of the folder. Assuming the context user has access\\nto the folder, the type/ids are revealed even if the context user does not\\nhave **View** permission on the app item.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id_app_item_associations\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If given, returns only app items for this application type.\",\n \"in\": \"query\",\n \"name\": \"application_type\",\n \"required\": false,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/app_item_associations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id_app_item_associations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List folder app item associations\",\n \"tags\": [\n \"App item associations\"\n ]\n },\n \"get_folders_id_collaborations\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of pending and active collaborations for a\\nfolder. This returns all the users that have access to the folder\\nor have been invited to the folder.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id_collaborations\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/collaborations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id_collaborations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List folder collaborations\",\n \"tags\": [\n \"Collaborations (List)\"\n ]\n },\n \"get_folders_id_get_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Gets the information for a shared link on a folder.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id_get_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}#get_shared_link\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id_get_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get shared link for folder\",\n \"tags\": [\n \"Shared links (Folders)\"\n ]\n },\n \"get_folders_id_items\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a page of items in a folder. These items can be files,\\nfolders, and web links.\\n\\nTo request more information about the folder itself, like its size,\\nuse the [Get a folder](https://developer.box.com/reference/get-folders-id) endpoint instead.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id_items\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\\n\\nAdditionally this field can be used to query any metadata\\napplied to the file by specifying the `metadata` field as well\\nas the scope and key of the template to retrieve, for example\\n`?fields=metadata.enterprise_12345.contractTemplate`.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Specifies whether to use marker-based pagination instead of\\noffset-based pagination. Only one pagination method can\\nbe used at a time.\\n\\nBy setting this value to true, the API will return a `marker` field\\nthat can be passed as a parameter to this endpoint to get the next\\npage of the response.\",\n \"in\": \"query\",\n \"name\": \"usemarker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nOffset-based pagination is not guaranteed to work reliably for high offset values and may fail for large datasets. In\\nthose cases, use marker-based pagination by setting `usemarker` to `true`.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The URL, and optional password, for the shared link of this item.\\n\\nThis header can be used to access items that have not been\\nexplicitly shared with a user.\\n\\nUse the format `shared_link=[link]` or if a password is required then\\nuse `shared_link=[link]&shared_link_password=[password]`.\\n\\nThis header can be used on the file or folder shared, as well as on any files\\nor folders nested within the item.\",\n \"in\": \"header\",\n \"name\": \"boxapi\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the **second** attribute by which items\\nare sorted.\\n\\nThe folder type affects the way the items\\nare sorted:\\n\\n * **Standard folder**:\\n Items are always sorted by\\n their `type` first, with\\n folders listed before files,\\n and files listed\\n before web links.\\n\\n * **Root folder**:\\n This parameter is not supported\\n for marker-based pagination\\n on the root folder\\n\\n (the folder with an `id` of `0`).\\n\\n * **Shared folder with parent path\\n to the associated folder visible to\\n the collaborator**:\\n Items are always sorted by\\n their `type` first, with\\n folders listed before files,\\n and files listed\\n before web links.\",\n \"in\": \"query\",\n \"name\": \"sort\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"id\",\n \"name\",\n \"date\",\n \"size\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The direction to sort results in. This can be either in alphabetical ascending\\n(`ASC`) or descending (`DESC`) order.\",\n \"in\": \"query\",\n \"name\": \"direction\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/items\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id_items\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List items in folder\",\n \"tags\": [\n \"Folders\"\n ]\n },\n \"get_folders_id_metadata\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all metadata for a given folder. This can not be used on the root\\nfolder with ID `0`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id_metadata\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Taxonomy field values are returned in `API view` by default, meaning \\nthe value is represented with a taxonomy node identifier. \\nTo retrieve the `Hydrated view`, where taxonomy values are represented \\nwith the full taxonomy node information, set this parameter to `hydrated`. \\nThis is the only supported value for this parameter.\",\n \"in\": \"query\",\n \"name\": \"view\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/metadata\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id_metadata\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List metadata instances on folder\",\n \"tags\": [\n \"Metadata instances (Folders)\"\n ]\n },\n \"get_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the classification metadata instance that\\nhas been applied to a folder.\\n\\nThis API can also be called by including the enterprise ID in the\\nURL explicitly, for example\\n`/folders/:id/enterprise_12345/securityClassification-6VMVochwUWo`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get classification on folder\",\n \"tags\": [\n \"Classifications on folders\"\n ]\n },\n \"get_folders_id_metadata_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the instance of a metadata template that has been applied to a\\nfolder. This can not be used on the root folder with ID `0`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id_metadata_id_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/metadata/{scope}/{template_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id_metadata_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get metadata instance on folder\",\n \"tags\": [\n \"Metadata instances (Folders)\"\n ]\n },\n \"get_folders_id_trash\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a folder that has been moved to the trash.\\n\\nPlease note that only if the folder itself has been moved to the\\ntrash can it be retrieved with this API call. If instead one of\\nits parent folders was moved to the trash, only that folder\\ncan be inspected using the\\n[`GET /folders/:id/trash`](https://developer.box.com/reference/get-folders-id-trash) API.\\n\\nTo list all items that have been moved to the trash, please\\nuse the [`GET /folders/trash/items`](https://developer.box.com/reference/get-folders-trash-items/)\\nAPI.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id_trash\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/trash\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id_trash\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get trashed folder\",\n \"tags\": [\n \"Trashed folders\"\n ]\n },\n \"get_folders_id_watermark\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve the watermark for a folder.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_id_watermark\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/watermark\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_id_watermark\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get watermark for folder\",\n \"tags\": [\n \"Watermarks (Folders)\"\n ]\n },\n \"get_folders_trash_items\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the files and folders that have been moved\\nto the trash.\\n\\nAny attribute in the full files or folders objects can be passed\\nin with the `fields` parameter to retrieve those specific\\nattributes that are not returned by default.\\n\\nThis endpoint defaults to use offset-based pagination, yet also supports\\nmarker-based pagination using the `marker` parameter. \\n\\nThe number of entries returned may be less than `total_count`. For example, if a user deletes items from a shared folder and is later removed as a collaborator, those deleted items will no longer appear in this endpoint\\u2019s results, even though they are still included in `total_count`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_folders_trash_items\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Specifies whether to use marker-based pagination instead of\\noffset-based pagination. Only one pagination method can\\nbe used at a time.\\n\\nBy setting this value to true, the API will return a `marker` field\\nthat can be passed as a parameter to this endpoint to get the next\\npage of the response.\",\n \"in\": \"query\",\n \"name\": \"usemarker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The direction to sort results in. This can be either in alphabetical ascending\\n(`ASC`) or descending (`DESC`) order.\",\n \"in\": \"query\",\n \"name\": \"direction\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the **second** attribute by which items\\nare sorted.\\n\\nItems are always sorted by their `type` first, with\\nfolders listed before files, and files listed\\nbefore web links.\\n\\nThis parameter is not supported when using marker-based pagination.\",\n \"in\": \"query\",\n \"name\": \"sort\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"name\",\n \"date\",\n \"size\"\n ],\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/trash/items\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_folders_trash_items\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List trashed items\",\n \"tags\": [\n \"Trashed items\"\n ]\n },\n \"get_group_memberships_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a specific group membership. Only admins of this\\ngroup or users with admin-level permissions will be able to\\nuse this API.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_group_memberships_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the group membership.\",\n \"in\": \"path\",\n \"name\": \"group_membership_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/group_memberships/{group_membership_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_group_memberships_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get group membership\",\n \"tags\": [\n \"Group memberships\"\n ]\n },\n \"get_groups\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all of the groups for a given enterprise. The user\\nmust have admin permissions to inspect enterprise's groups.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_groups\",\n \"parameters\": [\n {\n \"description\": \"Limits the results to only groups whose `name` starts\\nwith the search term.\",\n \"in\": \"query\",\n \"name\": \"filter_term\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/groups\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_groups\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List groups for enterprise\",\n \"tags\": [\n \"Groups\"\n ]\n },\n \"get_groups_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves information about a group. Only members of this\\ngroup or users with admin-level permissions will be able to\\nuse this API.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_groups_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the group.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/groups/{group_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_groups_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get group\",\n \"tags\": [\n \"Groups\"\n ]\n },\n \"get_groups_id_collaborations\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all the collaborations for a group. The user\\nmust have admin permissions to inspect enterprise's groups.\\n\\nEach collaboration object has details on which files or\\nfolders the group has access to and with what role.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_groups_id_collaborations\",\n \"parameters\": [\n {\n \"description\": \"The ID of the group.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/groups/{group_id}/collaborations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_groups_id_collaborations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List group collaborations\",\n \"tags\": [\n \"Collaborations (List)\"\n ]\n },\n \"get_groups_id_memberships\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all the members for a group. Only members of this\\ngroup or users with admin-level permissions will be able to\\nuse this API.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_groups_id_memberships\",\n \"parameters\": [\n {\n \"description\": \"The ID of the group.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/groups/{group_id}/memberships\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_groups_id_memberships\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List members of group\",\n \"tags\": [\n \"Group memberships\"\n ]\n },\n \"get_integration_mappings_slack\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists [Slack integration mappings](https://support.box.com/hc/en-us/articles/4415585987859-Box-as-the-Content-Layer-for-Slack) in a users' enterprise.\\n\\nYou need Admin or Co-Admin role to\\nuse this endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_integration_mappings_slack\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Mapped item type, for which the mapping should be returned.\",\n \"in\": \"query\",\n \"name\": \"partner_item_type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"channel\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"ID of the mapped item,\\nfor which the mapping should be returned.\",\n \"in\": \"query\",\n \"name\": \"partner_item_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Box item ID, for which the mappings should be returned.\",\n \"in\": \"query\",\n \"name\": \"box_item_id\",\n \"required\": false,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Box item type, for\\nwhich the mappings should be returned.\",\n \"in\": \"query\",\n \"name\": \"box_item_type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"folder\"\n ],\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Whether the mapping has been manually created.\",\n \"in\": \"query\",\n \"name\": \"is_manually_created\",\n \"required\": false,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/integration_mappings/slack\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_integration_mappings_slack\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List Slack integration mappings\",\n \"tags\": [\n \"Integration mappings\"\n ]\n },\n \"get_integration_mappings_teams\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists [Teams integration mappings](https://support.box.com/hc/en-us/articles/360044681474-Using-Box-for-Teams) in a users' enterprise.\\nYou need Admin or Co-Admin role to\\nuse this endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_integration_mappings_teams\",\n \"parameters\": [\n {\n \"description\": \"Mapped item type, for which the mapping should be returned.\",\n \"in\": \"query\",\n \"name\": \"partner_item_type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"channel\",\n \"team\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"ID of the mapped item,\\nfor which the mapping should be returned.\",\n \"in\": \"query\",\n \"name\": \"partner_item_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Box item ID, for which the mappings should be returned.\",\n \"in\": \"query\",\n \"name\": \"box_item_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Box item type, for\\nwhich the mappings should be returned.\",\n \"in\": \"query\",\n \"name\": \"box_item_type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"folder\"\n ],\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/integration_mappings/teams\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_integration_mappings_teams\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List Teams integration mappings\",\n \"tags\": [\n \"Integration mappings\"\n ]\n },\n \"get_invites_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the status of a user invite.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_invites_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of an invite.\",\n \"in\": \"path\",\n \"name\": \"invite_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/invites/{invite_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_invites_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get user invite status\",\n \"tags\": [\n \"Invites\"\n ]\n },\n \"get_legal_hold_policies\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of legal hold policies that belong to\\nan enterprise.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_legal_hold_policies\",\n \"parameters\": [\n {\n \"description\": \"Limits results to policies for which the names start with\\nthis search term. This is a case-insensitive prefix.\",\n \"in\": \"query\",\n \"name\": \"policy_name\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/legal_hold_policies\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_legal_hold_policies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List all legal hold policies\",\n \"tags\": [\n \"Legal hold policies\"\n ]\n },\n \"get_legal_hold_policies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve a legal hold policy.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_legal_hold_policies_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the legal hold policy.\",\n \"in\": \"path\",\n \"name\": \"legal_hold_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/legal_hold_policies/{legal_hold_policy_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_legal_hold_policies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get legal hold policy\",\n \"tags\": [\n \"Legal hold policies\"\n ]\n },\n \"get_legal_hold_policy_assignments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of items a legal hold policy has been assigned to.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_legal_hold_policy_assignments\",\n \"parameters\": [\n {\n \"description\": \"The ID of the legal hold policy.\",\n \"in\": \"query\",\n \"name\": \"policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters the results by the type of item the\\npolicy was applied to.\",\n \"in\": \"query\",\n \"name\": \"assign_to_type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"file\",\n \"file_version\",\n \"folder\",\n \"user\",\n \"ownership\",\n \"interactions\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters the results by the ID of item the\\npolicy was applied to.\",\n \"in\": \"query\",\n \"name\": \"assign_to_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/legal_hold_policy_assignments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_legal_hold_policy_assignments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List legal hold policy assignments\",\n \"tags\": [\n \"Legal hold policy assignments\"\n ]\n },\n \"get_legal_hold_policy_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve a legal hold policy assignment.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_legal_hold_policy_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the legal hold policy assignment.\",\n \"in\": \"path\",\n \"name\": \"legal_hold_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/legal_hold_policy_assignments/{legal_hold_policy_assignment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_legal_hold_policy_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get legal hold policy assignment\",\n \"tags\": [\n \"Legal hold policy assignments\"\n ]\n },\n \"get_legal_hold_policy_assignments_id_file_versions_on_hold\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Get a list of previous file versions for a legal hold\\nassignment.\\n\\nIn some cases you may only need the latest file versions instead. In these\\ncases, use the `GET /legal_hold_policy_assignments/:id/files_on_hold` API\\ninstead to return any current (latest) versions of a file for this legal hold\\npolicy assignment.\\n\\nDue to ongoing re-architecture efforts this API might not return all files\\nheld for this policy ID. Instead, this API will only return past file versions\\nheld in the newly developed architecture. The `GET /file_version_legal_holds`\\nAPI can be used to fetch current and past versions of files held within the\\nlegacy architecture.\\n\\nThis endpoint does not support returning any content that is on hold due to\\na Custodian collaborating on a Hub.\\n\\nThe `GET /legal_hold_policy_assignments?policy_id={id}` API can be used to\\nfind a list of policy assignments for a given policy ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_legal_hold_policy_assignments_id_file_versions_on_hold\",\n \"parameters\": [\n {\n \"description\": \"The ID of the legal hold policy assignment.\",\n \"in\": \"path\",\n \"name\": \"legal_hold_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/legal_hold_policy_assignments/{legal_hold_policy_assignment_id}/file_versions_on_hold\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_legal_hold_policy_assignments_id_file_versions_on_hold\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List previous file versions for legal hold policy assignment\",\n \"tags\": [\n \"Legal hold policy assignments\"\n ]\n },\n \"get_legal_hold_policy_assignments_id_files_on_hold\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Get a list of files with current file versions for a legal hold\\nassignment.\\n\\nIn some cases you may want to get previous file versions instead. In these\\ncases, use the `GET /legal_hold_policy_assignments/:id/file_versions_on_hold`\\nAPI instead to return any previous versions of a file for this legal hold\\npolicy assignment.\\n\\nDue to ongoing re-architecture efforts this API might not return all file\\nversions held for this policy ID. Instead, this API will only return the\\nlatest file version held in the newly developed architecture. The `GET\\n/file_version_legal_holds` API can be used to fetch current and past versions\\nof files held within the legacy architecture.\\n\\nThis endpoint does not support returning any content that is on hold due to\\na Custodian collaborating on a Hub.\\n\\nThe `GET /legal_hold_policy_assignments?policy_id={id}` API can be used to\\nfind a list of policy assignments for a given policy ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_legal_hold_policy_assignments_id_files_on_hold\",\n \"parameters\": [\n {\n \"description\": \"The ID of the legal hold policy assignment.\",\n \"in\": \"path\",\n \"name\": \"legal_hold_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/legal_hold_policy_assignments/{legal_hold_policy_assignment_id}/files_on_hold\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_legal_hold_policy_assignments_id_files_on_hold\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List files with current file versions for legal hold policy assignment\",\n \"tags\": [\n \"Legal hold policy assignments\"\n ]\n },\n \"get_metadata_cascade_policies\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of all the metadata cascade policies\\nthat are applied to a given folder. This can not be used on the root\\nfolder with ID `0`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_cascade_policies\",\n \"parameters\": [\n {\n \"description\": \"Specifies which folder to return policies for. This can not be used on the\\nroot folder with ID `0`.\",\n \"in\": \"query\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the enterprise ID for which to find metadata\\ncascade policies. If not specified, it defaults to the\\ncurrent enterprise.\",\n \"in\": \"query\",\n \"name\": \"owner_enterprise_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/metadata_cascade_policies\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_cascade_policies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List metadata cascade policies\",\n \"tags\": [\n \"Metadata cascade policies\"\n ]\n },\n \"get_metadata_cascade_policies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve a specific metadata cascade policy assigned to a folder.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_cascade_policies_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the metadata cascade policy.\",\n \"in\": \"path\",\n \"name\": \"metadata_cascade_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_cascade_policies/{metadata_cascade_policy_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_cascade_policies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get metadata cascade policy\",\n \"tags\": [\n \"Metadata cascade policies\"\n ]\n },\n \"get_metadata_taxonomies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Used to retrieve all metadata taxonomies in a namespace.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_taxonomies_id\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_taxonomies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get metadata taxonomies for namespace\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"get_metadata_taxonomies_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Used to retrieve a metadata taxonomy by taxonomy key.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_taxonomies_id_id\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_taxonomies_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get metadata taxonomy by taxonomy key\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"get_metadata_taxonomies_id_id_nodes\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Used to retrieve metadata taxonomy nodes based on the parameters specified. \\nResults are sorted in lexicographic order unless a `query` parameter is passed. \\nWith a `query` parameter specified, results are sorted in order of relevance.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_taxonomies_id_id_nodes\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters results by taxonomy level. Multiple values can be provided. \\nResults include nodes that match any of the specified values.\",\n \"in\": \"query\",\n \"name\": \"level\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Node identifier of a direct parent node. Multiple values can be provided. \\nResults include nodes that match any of the specified values.\",\n \"in\": \"query\",\n \"name\": \"parent\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Node identifier of any ancestor node. Multiple values can be provided. \\nResults include nodes that match any of the specified values.\",\n \"in\": \"query\",\n \"name\": \"ancestor\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Query text to search for the taxonomy nodes.\",\n \"in\": \"query\",\n \"name\": \"query\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"When set to `true` this provides the total number of nodes that matched the query. \\nThe response will compute counts of up to 10,000 elements. Defaults to `false`.\",\n \"in\": \"query\",\n \"name\": \"include-total-result-count\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_taxonomies_id_id_nodes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List metadata taxonomy nodes\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"get_metadata_taxonomies_id_id_nodes_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a metadata taxonomy node by its identifier.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_taxonomies_id_id_nodes_id\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The identifier of the metadata taxonomy node.\",\n \"in\": \"path\",\n \"name\": \"node_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes/{node_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_taxonomies_id_id_nodes_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get metadata taxonomy node by ID\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"get_metadata_templates\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Finds a metadata template by searching for the ID of an instance of the\\ntemplate.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_templates\",\n \"parameters\": [\n {\n \"description\": \"The ID of an instance of the metadata template to find.\",\n \"in\": \"query\",\n \"name\": \"metadata_instance_id\",\n \"required\": true,\n \"schema\": {\n \"format\": \"uuid\",\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/metadata_templates\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_templates\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Find metadata template by instance ID\",\n \"tags\": [\n \"Metadata templates\"\n ]\n },\n \"get_metadata_templates_enterprise\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Used to retrieve all metadata templates created to be used specifically within\\nthe user's enterprise.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_templates_enterprise\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/metadata_templates/enterprise\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_templates_enterprise\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List all metadata templates for enterprise\",\n \"tags\": [\n \"Metadata templates\"\n ]\n },\n \"get_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_schema\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the classification metadata template and lists all the\\nclassifications available to this enterprise.\\n\\nThis API can also be called by including the enterprise ID in the\\nURL explicitly, for example\\n`/metadata_templates/enterprise_12345/securityClassification-6VMVochwUWo/schema`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_schema\",\n \"parameters\": [],\n \"path\": \"/metadata_templates/enterprise/securityClassification-6VMVochwUWo/schema\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_schema\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List all classifications\",\n \"tags\": [\n \"Classifications\"\n ]\n },\n \"get_metadata_templates_global\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Used to retrieve all generic, global metadata templates available to all\\nenterprises using Box.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_templates_global\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/metadata_templates/global\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_templates_global\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List all global metadata templates\",\n \"tags\": [\n \"Metadata templates\"\n ]\n },\n \"get_metadata_templates_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a metadata template by its ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_templates_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the template.\",\n \"in\": \"path\",\n \"name\": \"template_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_templates/{template_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_templates_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get metadata template by ID\",\n \"tags\": [\n \"Metadata templates\"\n ]\n },\n \"get_metadata_templates_id_id_fields_id_options\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Used to retrieve metadata taxonomy nodes which are available for the taxonomy field based \\non its configuration and the parameters specified. \\nResults are sorted in lexicographic order unless a `query` parameter is passed. \\nWith a `query` parameter specified, results are sorted in order of relevance.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_templates_id_id_fields_id_options\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy field in the template.\",\n \"in\": \"path\",\n \"name\": \"field_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters results by taxonomy level. Multiple values can be provided. \\nResults include nodes that match any of the specified values.\",\n \"in\": \"query\",\n \"name\": \"level\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Node identifier of a direct parent node. Multiple values can be provided. \\nResults include nodes that match any of the specified values.\",\n \"in\": \"query\",\n \"name\": \"parent\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Node identifier of any ancestor node. Multiple values can be provided. \\nResults include nodes that match any of the specified values.\",\n \"in\": \"query\",\n \"name\": \"ancestor\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Query text to search for the taxonomy nodes.\",\n \"in\": \"query\",\n \"name\": \"query\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"When set to `true` this provides the total number of nodes that matched the query. \\nThe response will compute counts of up to 10,000 elements. Defaults to `false`.\",\n \"in\": \"query\",\n \"name\": \"include-total-result-count\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"When set to `true`, this only returns valid selectable options for this template\\ntaxonomy field. Otherwise, it returns all taxonomy nodes, whether or not they are selectable.\\nDefaults to `true`.\",\n \"in\": \"query\",\n \"name\": \"only-selectable-options\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/metadata_templates/{namespace}/{template_key}/fields/{field_key}/options\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_templates_id_id_fields_id_options\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List metadata template's options for taxonomy field\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"get_metadata_templates_id_id_schema\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a metadata template by its `scope` and `templateKey` values.\\n\\nTo find the `scope` and `templateKey` for a template, list all templates for\\nan enterprise or globally, or list all templates applied to a file or folder.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_metadata_templates_id_id_schema\",\n \"parameters\": [\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_templates/{scope}/{template_key}/schema\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_metadata_templates_id_id_schema\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get metadata template by name\",\n \"tags\": [\n \"Metadata templates\"\n ]\n },\n \"get_recent_items\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns information about the recent items accessed\\nby a user, either in the last 90 days or up to the last\\n1000 items accessed.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_recent_items\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/recent_items\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_recent_items\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List recently accessed items\",\n \"tags\": [\n \"Recent items\"\n ]\n },\n \"get_retention_policies\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all of the retention policies for an enterprise.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_retention_policies\",\n \"parameters\": [\n {\n \"description\": \"Filters results by a case sensitive prefix of the name of\\nretention policies.\",\n \"in\": \"query\",\n \"name\": \"policy_name\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters results by the type of retention policy.\",\n \"in\": \"query\",\n \"name\": \"policy_type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"finite\",\n \"indefinite\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters results by the ID of the user who created policy.\",\n \"in\": \"query\",\n \"name\": \"created_by_user_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/retention_policies\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_retention_policies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List retention policies\",\n \"tags\": [\n \"Retention policies\"\n ]\n },\n \"get_retention_policies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a retention policy.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_retention_policies_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the retention policy.\",\n \"in\": \"path\",\n \"name\": \"retention_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/retention_policies/{retention_policy_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_retention_policies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get retention policy\",\n \"tags\": [\n \"Retention policies\"\n ]\n },\n \"get_retention_policies_id_assignments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of all retention policy assignments associated with a specified\\nretention policy.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_retention_policies_id_assignments\",\n \"parameters\": [\n {\n \"description\": \"The ID of the retention policy.\",\n \"in\": \"path\",\n \"name\": \"retention_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The type of the retention policy assignment to retrieve.\",\n \"in\": \"query\",\n \"name\": \"type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"folder\",\n \"enterprise\",\n \"metadata_template\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/retention_policies/{retention_policy_id}/assignments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_retention_policies_id_assignments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List retention policy assignments\",\n \"tags\": [\n \"Retention policy assignments\"\n ]\n },\n \"get_retention_policy_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a retention policy assignment.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_retention_policy_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the retention policy assignment.\",\n \"in\": \"path\",\n \"name\": \"retention_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/retention_policy_assignments/{retention_policy_assignment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_retention_policy_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get retention policy assignment\",\n \"tags\": [\n \"Retention policy assignments\"\n ]\n },\n \"get_retention_policy_assignments_id_file_versions_under_retention\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of file versions under retention for a retention policy\\nassignment.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_retention_policy_assignments_id_file_versions_under_retention\",\n \"parameters\": [\n {\n \"description\": \"The ID of the retention policy assignment.\",\n \"in\": \"path\",\n \"name\": \"retention_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/retention_policy_assignments/{retention_policy_assignment_id}/file_versions_under_retention\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_retention_policy_assignments_id_file_versions_under_retention\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get file versions under retention\",\n \"tags\": [\n \"Retention policy assignments\"\n ]\n },\n \"get_retention_policy_assignments_id_files_under_retention\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of files under retention for a retention policy assignment.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_retention_policy_assignments_id_files_under_retention\",\n \"parameters\": [\n {\n \"description\": \"The ID of the retention policy assignment.\",\n \"in\": \"path\",\n \"name\": \"retention_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/retention_policy_assignments/{retention_policy_assignment_id}/files_under_retention\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_retention_policy_assignments_id_files_under_retention\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get files under retention\",\n \"tags\": [\n \"Retention policy assignments\"\n ]\n },\n \"get_search\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for files, folders, web links, and shared files across the\\nusers content or across the entire enterprise.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_search\",\n \"parameters\": [\n {\n \"description\": \"The string to search for. This query is matched against item names,\\ndescriptions, text content of files, and various other fields of\\nthe different item types.\\n\\nThis parameter supports a variety of operators to further refine\\nthe results returns.\\n\\n* `\\\"\\\"` - by wrapping a query in double quotes only exact matches are\\n returned by the API. Exact searches do not return search matches\\n based on specific character sequences. Instead, they return\\n matches based on phrases, that is, word sequences. For example:\\n A search for `\\\"Blue-Box\\\"` may return search results including\\n the sequence `\\\"blue.box\\\"`, `\\\"Blue Box\\\"`, and `\\\"Blue-Box\\\"`;\\n any item containing the words `Blue` and `Box` consecutively, in\\n the order specified.\\n* `AND` - returns items that contain both the search terms. For\\n example, a search for `marketing AND BoxWorks` returns items\\n that have both `marketing` and `BoxWorks` within its text in any order.\\n It does not return a result that only has `BoxWorks` in its text.\\n* `OR` - returns items that contain either of the search terms. For\\n example, a search for `marketing OR BoxWorks` returns a result that\\n has either `marketing` or `BoxWorks` within its text. Using this\\n operator is not necessary as we implicitly interpret multi-word\\n queries as `OR` unless another supported boolean term is used.\\n* `NOT` - returns items that do not contain the search term provided.\\n For example, a search for `marketing AND NOT BoxWorks` returns a result\\n that has only `marketing` within its text. Results containing\\n `BoxWorks` are omitted.\\n\\nWe do not support lower case (that is,\\n`and`, `or`, and `not`) or mixed case (that is, `And`, `Or`, and `Not`)\\noperators.\\n\\nThis field is required unless the `mdfilters` parameter is defined.\",\n \"in\": \"query\",\n \"name\": \"query\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limits the search results to either the files that the user has\\naccess to, or to files available to the entire enterprise.\\n\\nThe scope defaults to `user_content`, which limits the search\\nresults to content that is available to the currently authenticated\\nuser.\\n\\nThe `enterprise_content` can be requested by an admin through our\\nsupport channels. Once this scope has been enabled for a user, it\\nwill allow that use to query for content across the entire\\nenterprise and not only the content that they have access to.\",\n \"in\": \"query\",\n \"name\": \"scope\",\n \"required\": false,\n \"schema\": {\n \"default\": \"user_content\",\n \"enum\": [\n \"user_content\",\n \"enterprise_content\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limits the search results to any files that match any of the provided\\nfile extensions. This list is a comma-separated list of file extensions\\nwithout the dots.\",\n \"in\": \"query\",\n \"name\": \"file_extensions\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Limits the search results to any items created within\\na given date range.\\n\\nDate ranges are defined as comma separated RFC3339\\ntimestamps.\\n\\nIf the start date is omitted (`,2014-05-17T13:35:01-07:00`)\\nanything created before the end date will be returned.\\n\\nIf the end date is omitted (`2014-05-15T13:35:01-07:00,`) the\\ncurrent date will be used as the end date instead.\",\n \"in\": \"query\",\n \"name\": \"created_at_range\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Limits the search results to any items updated within\\na given date range.\\n\\nDate ranges are defined as comma separated RFC3339\\ntimestamps.\\n\\nIf the start date is omitted (`,2014-05-17T13:35:01-07:00`)\\nanything updated before the end date will be returned.\\n\\nIf the end date is omitted (`2014-05-15T13:35:01-07:00,`) the\\ncurrent date will be used as the end date instead.\",\n \"in\": \"query\",\n \"name\": \"updated_at_range\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Limits the search results to any items with a size within\\na given file size range. This applied to files and folders.\\n\\nSize ranges are defined as comma separated list of a lower\\nand upper byte size limit (inclusive).\\n\\nThe upper and lower bound can be omitted to create open ranges.\",\n \"in\": \"query\",\n \"name\": \"size_range\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Limits the search results to any items that are owned\\nby the given list of owners, defined as a list of comma separated\\nuser IDs.\\n\\nThe items still need to be owned or shared with\\nthe currently authenticated user for them to show up in the search\\nresults. If the user does not have access to any files owned by any of\\nthe users an empty result set will be returned.\\n\\nTo search across an entire enterprise, we recommend using the\\n`enterprise_content` scope parameter which can be requested with our\\nsupport team.\",\n \"in\": \"query\",\n \"name\": \"owner_user_ids\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Limits the search results to any items that have been updated\\nby the given list of users, defined as a list of comma separated\\nuser IDs.\\n\\nThe items still need to be owned or shared with\\nthe currently authenticated user for them to show up in the search\\nresults. If the user does not have access to any files owned by any of\\nthe users an empty result set will be returned.\\n\\nThis feature only searches back to the last 10 versions of an item.\",\n \"in\": \"query\",\n \"name\": \"recent_updater_user_ids\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Limits the search results to items within the given\\nlist of folders, defined as a comma separated lists\\nof folder IDs.\\n\\nSearch results will also include items within any subfolders\\nof those ancestor folders.\\n\\nThe folders still need to be owned or shared with\\nthe currently authenticated user. If the folder is not accessible by this\\nuser, or it does not exist, a `HTTP 404` error code will be returned\\ninstead.\\n\\nTo search across an entire enterprise, we recommend using the\\n`enterprise_content` scope parameter which can be requested with our\\nsupport team.\",\n \"in\": \"query\",\n \"name\": \"ancestor_folder_ids\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Limits the search results to any items that match the search query\\nfor a specific part of the file, for example the file description.\\n\\nContent types are defined as a comma separated lists\\nof Box recognized content types. The allowed content types are as follows.\\n\\n* `name` - The name of the item, as defined by its `name` field.\\n* `description` - The description of the item, as defined by its\\n `description` field.\\n* `file_content` - The actual content of the file.\\n* `comments` - The content of any of the comments on a file or\\n folder.\\n* `tags` - Any tags that are applied to an item, as defined by its\\n `tags` field.\",\n \"in\": \"query\",\n \"name\": \"content_types\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"enum\": [\n \"name\",\n \"description\",\n \"file_content\",\n \"comments\",\n \"tags\"\n ],\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Limits the search results to any items of this type. This\\nparameter only takes one value. By default the API returns\\nitems that match any of these types.\\n\\n* `file` - Limits the search results to files,\\n* `folder` - Limits the search results to folders,\\n* `web_link` - Limits the search results to web links, also known\\n as bookmarks.\",\n \"in\": \"query\",\n \"name\": \"type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"file\",\n \"folder\",\n \"web_link\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Determines if the search should look in the trash for items.\\n\\nBy default, this API only returns search results for items\\nnot currently in the trash (`non_trashed_only`).\\n\\n* `trashed_only` - Only searches for items currently in the trash\\n* `non_trashed_only` - Only searches for items currently not in\\n the trash\\n* `all_items` - Searches for both trashed and non-trashed items.\",\n \"in\": \"query\",\n \"name\": \"trash_content\",\n \"required\": false,\n \"schema\": {\n \"default\": \"non_trashed_only\",\n \"enum\": [\n \"non_trashed_only\",\n \"trashed_only\",\n \"all_items\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limits the search results to any items for which the metadata matches the provided filter.\\nThis parameter is a list that specifies exactly **one** metadata template used to filter the search results.\\nThe parameter is required unless the `query` parameter is provided.\",\n \"in\": \"query\",\n \"name\": \"mdfilters\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"$ref\": \"#/components/schemas/MetadataFilter\"\n },\n \"maxItems\": 1,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Defines the order in which search results are returned. This API\\ndefaults to returning items by relevance unless this parameter is\\nexplicitly specified.\\n\\n* `relevance` (default) returns the results sorted by relevance to the\\nquery search term. The relevance is based on the occurrence of the search\\nterm in the items name, description, content, and additional properties.\\n* `modified_at` returns the results ordered in descending order by date\\nat which the item was last modified.\",\n \"in\": \"query\",\n \"name\": \"sort\",\n \"required\": false,\n \"schema\": {\n \"default\": \"relevance\",\n \"enum\": [\n \"modified_at\",\n \"relevance\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the direction in which search results are ordered. This API\\ndefaults to returning items in descending (`DESC`) order unless this\\nparameter is explicitly specified.\\n\\nWhen results are sorted by `relevance` the ordering is locked to returning\\nitems in descending order of relevance, and this parameter is ignored.\",\n \"in\": \"query\",\n \"name\": \"direction\",\n \"required\": false,\n \"schema\": {\n \"default\": \"DESC\",\n \"enum\": [\n \"DESC\",\n \"ASC\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the maximum number of items to return as part of a page of\\nresults.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"default\": 30,\n \"format\": \"int64\",\n \"maximum\": 200,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Defines whether the search results should include any items\\nthat the user recently accessed through a shared link.\\n\\nWhen this parameter has been set to true,\\nthe format of the response of this API changes to return\\na list of [Search Results with\\nShared Links](https://developer.box.com/reference/resources/search-results-with-shared-links).\",\n \"in\": \"query\",\n \"name\": \"include_recent_shared_links\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Limits the search results to items that were deleted by the given\\nlist of users, defined as a list of comma separated user IDs.\\n\\nThe `trash_content` parameter needs to be set to `trashed_only`.\\n\\nIf searching in trash is not performed, an empty result set\\nis returned. The items need to be owned or shared with\\nthe currently authenticated user for them to show up in the search\\nresults.\\n\\nIf the user does not have access to any files owned by\\nany of the users, an empty result set is returned.\\n\\nData available from 2023-02-01 onwards.\",\n \"in\": \"query\",\n \"name\": \"deleted_user_ids\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Limits the search results to any items deleted within a given\\ndate range.\\n\\nDate ranges are defined as comma separated RFC3339 timestamps.\\n\\nIf the start date is omitted (`2014-05-17T13:35:01-07:00`),\\nanything deleted before the end date will be returned.\\n\\nIf the end date is omitted (`2014-05-15T13:35:01-07:00`),\\nthe current date will be used as the end date instead.\\n\\nThe `trash_content` parameter needs to be set to `trashed_only`.\\n\\nIf searching in trash is not performed, then an empty result\\nis returned.\\n\\nData available from 2023-02-01 onwards.\",\n \"in\": \"query\",\n \"name\": \"deleted_at_range\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/search\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_search\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Search for content\",\n \"tags\": [\n \"Search\"\n ]\n },\n \"get_shared_items\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the file represented by a shared link.\\n\\nA shared file can be represented by a shared link,\\nwhich can originate within the current enterprise or within another.\\n\\nThis endpoint allows an application to retrieve information about a\\nshared file when only given a shared link.\\n\\nThe `shared_link_permission_options` array field can be returned\\nby requesting it in the `fields` query parameter.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shared_items\",\n \"parameters\": [\n {\n \"description\": \"Ensures an item is only returned if it has changed.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `304 Not Modified` if the item has not\\nchanged since.\",\n \"in\": \"header\",\n \"name\": \"if-none-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"A header containing the shared link and optional password for the\\nshared link.\\n\\nThe format for this header is as follows:\\n\\n`shared_link=[link]&shared_link_password=[password]`.\",\n \"in\": \"header\",\n \"name\": \"boxapi\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shared_items\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shared_items\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Find file for shared link\",\n \"tags\": [\n \"Shared links (Files)\"\n ]\n },\n \"get_shared_items_app_items\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the app item represented by a shared link.\\n\\nThe link can originate from the current enterprise or another.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shared_items_app_items\",\n \"parameters\": [\n {\n \"description\": \"A header containing the shared link and optional password for the\\nshared link.\\n\\nThe format for this header is `shared_link=[link]&shared_link_password=[password]`.\",\n \"in\": \"header\",\n \"name\": \"boxapi\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shared_items#app_items\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shared_items_app_items\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Find app item for shared link\",\n \"tags\": [\n \"Shared links (App Items)\"\n ]\n },\n \"get_shared_items_folders\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Return the folder represented by a shared link.\\n\\nA shared folder can be represented by a shared link,\\nwhich can originate within the current enterprise or within another.\\n\\nThis endpoint allows an application to retrieve information about a\\nshared folder when only given a shared link.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shared_items_folders\",\n \"parameters\": [\n {\n \"description\": \"Ensures an item is only returned if it has changed.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `304 Not Modified` if the item has not\\nchanged since.\",\n \"in\": \"header\",\n \"name\": \"if-none-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"A header containing the shared link and optional password for the\\nshared link.\\n\\nThe format for this header is as follows:\\n\\n`shared_link=[link]&shared_link_password=[password]`.\",\n \"in\": \"header\",\n \"name\": \"boxapi\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shared_items#folders\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shared_items_folders\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Find folder for shared link\",\n \"tags\": [\n \"Shared links (Folders)\"\n ]\n },\n \"get_shared_items_web_links\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the web link represented by a shared link.\\n\\nA shared web link can be represented by a shared link,\\nwhich can originate within the current enterprise or within another.\\n\\nThis endpoint allows an application to retrieve information about a\\nshared web link when only given a shared link.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shared_items_web_links\",\n \"parameters\": [\n {\n \"description\": \"Ensures an item is only returned if it has changed.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `304 Not Modified` if the item has not\\nchanged since.\",\n \"in\": \"header\",\n \"name\": \"if-none-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"A header containing the shared link and optional password for the\\nshared link.\\n\\nThe format for this header is as follows:\\n\\n`shared_link=[link]&shared_link_password=[password]`.\",\n \"in\": \"header\",\n \"name\": \"boxapi\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shared_items#web_links\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shared_items_web_links\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Find web link for shared link\",\n \"tags\": [\n \"Shared links (Web Links)\"\n ]\n },\n \"get_shield_information_barrier_reports\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists shield information barrier reports.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barrier_reports\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier.\",\n \"in\": \"query\",\n \"name\": \"shield_information_barrier_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_reports\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barrier_reports\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List shield information barrier reports\",\n \"tags\": [\n \"Shield information barrier reports\"\n ]\n },\n \"get_shield_information_barrier_reports_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a shield information barrier report by its ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barrier_reports_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier Report.\",\n \"in\": \"path\",\n \"name\": \"shield_information_barrier_report_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_reports/{shield_information_barrier_report_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barrier_reports_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get shield information barrier report by ID\",\n \"tags\": [\n \"Shield information barrier reports\"\n ]\n },\n \"get_shield_information_barrier_segment_members\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists shield information barrier segment members\\nbased on provided segment IDs.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barrier_segment_members\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier segment.\",\n \"in\": \"query\",\n \"name\": \"shield_information_barrier_segment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segment_members\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barrier_segment_members\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List shield information barrier segment members\",\n \"tags\": [\n \"Shield information barrier segment members\"\n ]\n },\n \"get_shield_information_barrier_segment_members_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a shield information barrier\\nsegment member by its ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barrier_segment_members_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier segment Member.\",\n \"in\": \"path\",\n \"name\": \"shield_information_barrier_segment_member_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segment_members/{shield_information_barrier_segment_member_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barrier_segment_members_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get shield information barrier segment member by ID\",\n \"tags\": [\n \"Shield information barrier segment members\"\n ]\n },\n \"get_shield_information_barrier_segment_restrictions\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists shield information barrier segment restrictions\\nbased on provided segment ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barrier_segment_restrictions\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier segment.\",\n \"in\": \"query\",\n \"name\": \"shield_information_barrier_segment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segment_restrictions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barrier_segment_restrictions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List shield information barrier segment restrictions\",\n \"tags\": [\n \"Shield information barrier segment restrictions\"\n ]\n },\n \"get_shield_information_barrier_segment_restrictions_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a shield information barrier segment\\nrestriction based on provided ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barrier_segment_restrictions_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier segment Restriction.\",\n \"in\": \"path\",\n \"name\": \"shield_information_barrier_segment_restriction_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segment_restrictions/{shield_information_barrier_segment_restriction_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barrier_segment_restrictions_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get shield information barrier segment restriction by ID\",\n \"tags\": [\n \"Shield information barrier segment restrictions\"\n ]\n },\n \"get_shield_information_barrier_segments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of shield information barrier segment objects\\nfor the specified Information Barrier ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barrier_segments\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier.\",\n \"in\": \"query\",\n \"name\": \"shield_information_barrier_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barrier_segments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List shield information barrier segments\",\n \"tags\": [\n \"Shield information barrier segments\"\n ]\n },\n \"get_shield_information_barrier_segments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves shield information barrier segment based on provided ID..\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barrier_segments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier segment.\",\n \"in\": \"path\",\n \"name\": \"shield_information_barrier_segment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segments/{shield_information_barrier_segment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barrier_segments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get shield information barrier segment with specified ID\",\n \"tags\": [\n \"Shield information barrier segments\"\n ]\n },\n \"get_shield_information_barriers\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of shield information barrier objects\\nfor the enterprise of JWT.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barriers\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/shield_information_barriers\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barriers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List shield information barriers\",\n \"tags\": [\n \"Shield information barriers\"\n ]\n },\n \"get_shield_information_barriers_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Get shield information barrier based on provided ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shield_information_barriers_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier.\",\n \"in\": \"path\",\n \"name\": \"shield_information_barrier_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shield_information_barriers/{shield_information_barrier_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_shield_information_barriers_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get shield information barrier with specified ID\",\n \"tags\": [\n \"Shield information barriers\"\n ]\n },\n \"get_sign_requests\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Gets signature requests created by a user. If the `sign_files` and/or\\n`parent_folder` are deleted, the signature request will not return in the list.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_sign_requests\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A list of sender emails to filter the signature requests by sender.\\nIf provided, `shared_requests` must be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"senders\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"If set to `true`, only includes requests that user is not an owner,\\nbut user is a collaborator. Collaborator access is determined by the\\nuser access level of the sign files of the request.\\nDefault is `false`. Must be set to `true` if `senders` are provided.\",\n \"in\": \"query\",\n \"name\": \"shared_requests\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/sign_requests\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_sign_requests\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List Box Sign requests\",\n \"tags\": [\n \"Box Sign requests\"\n ]\n },\n \"get_sign_requests_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Gets a sign request by ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_sign_requests_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the signature request.\",\n \"in\": \"path\",\n \"name\": \"sign_request_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/sign_requests/{sign_request_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_sign_requests_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get Box Sign request by ID\",\n \"tags\": [\n \"Box Sign requests\"\n ]\n },\n \"get_sign_templates\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Gets Box Sign templates created by a user.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_sign_templates\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/sign_templates\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_sign_templates\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List Box Sign templates\",\n \"tags\": [\n \"Box Sign templates\"\n ]\n },\n \"get_sign_templates_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Fetches details of a specific Box Sign template.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_sign_templates_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of a Box Sign template.\",\n \"in\": \"path\",\n \"name\": \"template_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/sign_templates/{template_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_sign_templates_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get Box Sign template by ID\",\n \"tags\": [\n \"Box Sign templates\"\n ]\n },\n \"get_storage_policies\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Fetches all the storage policies in the enterprise.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_storage_policies\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/storage_policies\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_storage_policies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List storage policies\",\n \"tags\": [\n \"Standard and Zones Storage Policies\"\n ]\n },\n \"get_storage_policies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Fetches a specific storage policy.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_storage_policies_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the storage policy.\",\n \"in\": \"path\",\n \"name\": \"storage_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/storage_policies/{storage_policy_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_storage_policies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get storage policy\",\n \"tags\": [\n \"Standard and Zones Storage Policies\"\n ]\n },\n \"get_storage_policy_assignments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Fetches all the storage policy assignment for an enterprise or user.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_storage_policy_assignments\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The target type to return assignments for.\",\n \"in\": \"query\",\n \"name\": \"resolved_for_type\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"user\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the user or enterprise to return assignments for.\",\n \"in\": \"query\",\n \"name\": \"resolved_for_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/storage_policy_assignments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_storage_policy_assignments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List storage policy assignments\",\n \"tags\": [\n \"Standard and Zones Storage Policy Assignments\"\n ]\n },\n \"get_storage_policy_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Fetches a specific storage policy assignment.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_storage_policy_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the storage policy assignment.\",\n \"in\": \"path\",\n \"name\": \"storage_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/storage_policy_assignments/{storage_policy_assignment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_storage_policy_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get storage policy assignment\",\n \"tags\": [\n \"Standard and Zones Storage Policy Assignments\"\n ]\n },\n \"get_task_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves information about a task assignment.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_task_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the task assignment.\",\n \"in\": \"path\",\n \"name\": \"task_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/task_assignments/{task_assignment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_task_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get task assignment\",\n \"tags\": [\n \"Task assignments\"\n ]\n },\n \"get_tasks_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves information about a specific task.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_tasks_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the task.\",\n \"in\": \"path\",\n \"name\": \"task_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/tasks/{task_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_tasks_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get task\",\n \"tags\": [\n \"Tasks\"\n ]\n },\n \"get_tasks_id_assignments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists all of the assignments for a given task.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_tasks_id_assignments\",\n \"parameters\": [\n {\n \"description\": \"The ID of the task.\",\n \"in\": \"path\",\n \"name\": \"task_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/tasks/{task_id}/assignments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_tasks_id_assignments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List task assignments\",\n \"tags\": [\n \"Task assignments\"\n ]\n },\n \"get_terms_of_service_user_statuses\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves an overview of users and their status for a\\nterms of service, including Whether they have accepted\\nthe terms and when.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_terms_of_service_user_statuses\",\n \"parameters\": [\n {\n \"description\": \"The ID of the terms of service.\",\n \"in\": \"query\",\n \"name\": \"tos_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limits results to the given user ID.\",\n \"in\": \"query\",\n \"name\": \"user_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/terms_of_service_user_statuses\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_terms_of_service_user_statuses\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List terms of service user statuses\",\n \"tags\": [\n \"Terms of service user statuses\"\n ]\n },\n \"get_terms_of_services\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the current terms of service text and settings\\nfor the enterprise.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_terms_of_services\",\n \"parameters\": [\n {\n \"description\": \"Limits the results to the terms of service of the given type.\",\n \"in\": \"query\",\n \"name\": \"tos_type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"external\",\n \"managed\"\n ],\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/terms_of_services\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_terms_of_services\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List terms of services\",\n \"tags\": [\n \"Terms of service\"\n ]\n },\n \"get_terms_of_services_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Fetches a specific terms of service.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_terms_of_services_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the terms of service.\",\n \"in\": \"path\",\n \"name\": \"terms_of_service_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/terms_of_services/{terms_of_service_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_terms_of_services_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get terms of service\",\n \"tags\": [\n \"Terms of service\"\n ]\n },\n \"get_users\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of all users for the Enterprise along with their `user_id`,\\n`public_name`, and `login`.\\n\\nThe application and the authenticated user need to\\nhave the permission to look up users in the entire\\nenterprise.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_users\",\n \"parameters\": [\n {\n \"description\": \"Limits the results to only users who's `name` or\\n`login` start with the search term.\\n\\nFor externally managed users, the search term needs\\nto completely match the in order to find the user, and\\nit will only return one user at a time.\",\n \"in\": \"query\",\n \"name\": \"filter_term\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limits the results to the kind of user specified.\\n\\n* `all` returns every kind of user for whom the\\n `login` or `name` partially matches the\\n `filter_term`. It will only return an external user\\n if the login matches the `filter_term` completely,\\n and in that case it will only return that user.\\n* `managed` returns all managed and app users for whom\\n the `login` or `name` partially matches the\\n `filter_term`.\\n* `external` returns all external users for whom the\\n `login` matches the `filter_term` exactly.\",\n \"in\": \"query\",\n \"name\": \"user_type\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"all\",\n \"managed\",\n \"external\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limits the results to app users with the given\\n`external_app_user_id` value.\\n\\nWhen creating an app user, an\\n`external_app_user_id` value can be set. This value can\\nthen be used in this endpoint to find any users that\\nmatch that `external_app_user_id` value.\",\n \"in\": \"query\",\n \"name\": \"external_app_user_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Specifies whether to use marker-based pagination instead of\\noffset-based pagination. Only one pagination method can\\nbe used at a time.\\n\\nBy setting this value to true, the API will return a `marker` field\\nthat can be passed as a parameter to this endpoint to get the next\\npage of the response.\",\n \"in\": \"query\",\n \"name\": \"usemarker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/users\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_users\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List enterprise users\",\n \"tags\": [\n \"Users\"\n ]\n },\n \"get_users_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves information about a user in the enterprise.\\n\\nThe application and the authenticated user need to\\nhave the permission to look up users in the entire\\nenterprise.\\n\\nThis endpoint also returns a limited set of information\\nfor external users who are collaborated on content\\nowned by the enterprise for authenticated users with the\\nright scopes. In this case, disallowed fields will return\\nnull instead.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_users_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/users/{user_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_users_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get user\",\n \"tags\": [\n \"Users\"\n ]\n },\n \"get_users_id_avatar\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves an image of a the user's avatar.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_users_id_avatar\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/users/{user_id}/avatar\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_users_id_avatar\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get user avatar\",\n \"tags\": [\n \"User avatars\"\n ]\n },\n \"get_users_id_email_aliases\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all email aliases for a user. The collection\\ndoes not include the primary login for the user.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_users_id_email_aliases\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/users/{user_id}/email_aliases\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_users_id_email_aliases\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List user's email aliases\",\n \"tags\": [\n \"Email aliases\"\n ]\n },\n \"get_users_id_memberships\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves all the groups for a user. Only members of this\\ngroup or users with admin-level permissions will be able to\\nuse this API.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_users_id_memberships\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The offset of the item at which to begin the response.\\n\\nQueries with offset parameter value\\nexceeding 10000 will be rejected\\nwith a 400 response.\",\n \"in\": \"query\",\n \"name\": \"offset\",\n \"required\": false,\n \"schema\": {\n \"default\": 0,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/users/{user_id}/memberships\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_users_id_memberships\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List user's groups\",\n \"tags\": [\n \"Group memberships\"\n ]\n },\n \"get_users_me\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves information about the user who is currently authenticated.\\n\\nIn the case of a client-side authenticated OAuth 2.0 application\\nthis will be the user who authorized the app.\\n\\nIn the case of a JWT, server-side authenticated application\\nthis will be the service account that belongs to the application\\nby default.\\n\\nUse the `As-User` header to change who this API call is made on behalf of.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_users_me\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/users/me\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_users_me\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get current user\",\n \"tags\": [\n \"Users\"\n ]\n },\n \"get_web_links_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve information about a web link.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_web_links_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The URL, and optional password, for the shared link of this item.\\n\\nThis header can be used to access items that have not been\\nexplicitly shared with a user.\\n\\nUse the format `shared_link=[link]` or if a password is required then\\nuse `shared_link=[link]&shared_link_password=[password]`.\\n\\nThis header can be used on the file or folder shared, as well as on any files\\nor folders nested within the item.\",\n \"in\": \"header\",\n \"name\": \"boxapi\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_web_links_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get web link\",\n \"tags\": [\n \"Web links\"\n ]\n },\n \"get_web_links_id_get_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Gets the information for a shared link on a web link.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_web_links_id_get_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}#get_shared_link\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_web_links_id_get_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get shared link for web link\",\n \"tags\": [\n \"Shared links (Web Links)\"\n ]\n },\n \"get_web_links_id_trash\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a web link that has been moved to the trash.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_web_links_id_trash\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}/trash\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_web_links_id_trash\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get trashed web link\",\n \"tags\": [\n \"Trashed web links\"\n ]\n },\n \"get_webhooks\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns all defined webhooks for the requesting application.\\n\\nThis API only returns webhooks that are applied to files or folders that are\\nowned by the authenticated user. This means that an admin can not see webhooks\\ncreated by a service account unless the admin has access to those folders, and\\nvice versa.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_webhooks\",\n \"parameters\": [\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/webhooks\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_webhooks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List all webhooks\",\n \"tags\": [\n \"Webhooks\"\n ]\n },\n \"get_webhooks_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a specific webhook.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_webhooks_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the webhook.\",\n \"in\": \"path\",\n \"name\": \"webhook_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/webhooks/{webhook_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_webhooks_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get webhook\",\n \"tags\": [\n \"Webhooks\"\n ]\n },\n \"get_workflows\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns list of workflows that act on a given `folder ID`, and\\nhave a flow with a trigger type of `WORKFLOW_MANUAL_START`.\\n\\nYou application must be authorized to use the `Manage Box Relay` application\\nscope within the developer console in to use this endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_workflows\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"query\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Type of trigger to search for.\",\n \"in\": \"query\",\n \"name\": \"trigger_type\",\n \"required\": false,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of items to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"maximum\": 1000,\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Defines the position marker at which to begin returning results. This is\\nused when paginating using marker-based pagination.\\n\\nThis requires `usemarker` to be set to `true`.\",\n \"in\": \"query\",\n \"name\": \"marker\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/workflows\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_workflows\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"List workflows\",\n \"tags\": [\n \"Workflows\"\n ]\n },\n \"get_zip_downloads_id_content\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the contents of a `zip` archive in binary format. This URL does not\\nrequire any form of authentication and could be used in a user's browser to\\ndownload the archive to a user's device.\\n\\nBy default, this URL is only valid for a few seconds from the creation of\\nthe request for this archive. Once a download has started it can not be\\nstopped and resumed, instead a new request for a zip archive would need to\\nbe created.\\n\\nThe URL of this endpoint should not be considered as fixed. Instead, use\\nthe [Create zip download](https://developer.box.com/reference/post-zip-downloads) API to request to create a\\n`zip` archive, and then follow the `download_url` field in the response to\\nthis endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_zip_downloads_id_content\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent this `zip` archive.\",\n \"in\": \"path\",\n \"name\": \"zip_download_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/zip_downloads/{zip_download_id}/content\",\n \"request_body\": null,\n \"security\": [],\n \"skill_name\": \"get_zip_downloads_id_content\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Download zip archive\",\n \"tags\": [\n \"Zip Downloads\"\n ]\n },\n \"get_zip_downloads_id_status\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the download status of a `zip` archive, allowing an application to\\ninspect the progress of the download as well as the number of items that\\nmight have been skipped.\\n\\nThis endpoint can only be accessed once the download has started.\\nSubsequently this endpoint is valid for 12 hours from the start of the\\ndownload.\\n\\nThe URL of this endpoint should not be considered as fixed. Instead, use\\nthe [Create zip download](https://developer.box.com/reference/post-zip-downloads) API to request to create a\\n`zip` archive, and then follow the `status_url` field in the response to\\nthis endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_zip_downloads_id_status\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent this `zip` archive.\",\n \"in\": \"path\",\n \"name\": \"zip_download_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/zip_downloads/{zip_download_id}/status\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_zip_downloads_id_status\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get zip download status\",\n \"tags\": [\n \"Zip Downloads\"\n ]\n },\n \"options_events\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of real-time servers that can be used for long-polling updates\\nto the [event stream](https://developer.box.com/reference/get-events).\\n\\nLong polling is the concept where a HTTP request is kept open until the\\nserver sends a response, then repeating the process over and over to receive\\nupdated responses.\\n\\nLong polling the event stream can only be used for user events, not for\\nenterprise events.\\n\\nTo use long polling, first use this endpoint to retrieve a list of long poll\\nURLs. Next, make a long poll request to any of the provided URLs.\\n\\nWhen an event occurs in monitored account a response with the value\\n`new_change` will be sent. The response contains no other details as\\nit only serves as a prompt to take further action such as sending a\\nrequest to the [events endpoint](https://developer.box.com/reference/get-events) with the last known\\n`stream_position`.\\n\\nAfter the server sends this response it closes the connection. You must now\\nrepeat the long poll process to begin listening for events again.\\n\\nIf no events occur for a while and the connection times out you will\\nreceive a response with the value `reconnect`. When you receive this response\\nyou\\u2019ll make another call to this endpoint to restart the process.\\n\\nIf you receive no events in `retry_timeout` seconds then you will need to\\nmake another request to the real-time server (one of the URLs in the response\\nfor this endpoint). This might be necessary due to network errors.\\n\\nFinally, if you receive a `max_retries` error when making a request to the\\nreal-time server, you should start over by making a call to this endpoint\\nfirst.\",\n \"destructive\": false,\n \"method\": \"OPTIONS\",\n \"operation_id\": \"options_events\",\n \"parameters\": [],\n \"path\": \"/events\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"options_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Get events long poll endpoint\",\n \"tags\": [\n \"Events\"\n ]\n },\n \"options_files_content\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Performs a check to verify that a file will be accepted by Box\\nbefore you upload the entire file.\",\n \"destructive\": false,\n \"method\": \"OPTIONS\",\n \"operation_id\": \"options_files_content\",\n \"parameters\": [],\n \"path\": \"/files/content\",\n \"request_body\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name for the file.\",\n \"example\": \"File.mp4\",\n \"type\": \"string\"\n },\n \"parent\": {\n \"allOf\": [\n {\n \"description\": \"The parent for this item.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent item.\",\n \"example\": \"123\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"description\": \"The parent folder to upload the file to.\"\n }\n ]\n },\n \"size\": {\n \"description\": \"The size of the file in bytes.\",\n \"example\": 1024,\n \"format\": \"int32\",\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"options_files_content\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Preflight check before upload\",\n \"tags\": [\n \"Files\"\n ]\n },\n \"patch_metadata_taxonomies_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an existing metadata taxonomy.\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_metadata_taxonomies_id_id\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}\",\n \"request_body\": {\n \"properties\": {\n \"displayName\": {\n \"description\": \"The display name of the taxonomy.\",\n \"example\": \"Geography\",\n \"maxLength\": 4096,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"displayName\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"patch_metadata_taxonomies_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update metadata taxonomy\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"patch_metadata_taxonomies_id_id_levels_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an existing metadata taxonomy level.\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_metadata_taxonomies_id_id_levels_id\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The index of the metadata taxonomy level.\",\n \"in\": \"path\",\n \"name\": \"level_index\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}/levels/{level_index}\",\n \"request_body\": {\n \"properties\": {\n \"description\": {\n \"description\": \"The description of the taxonomy level.\",\n \"example\": \"French Republic\",\n \"type\": \"string\"\n },\n \"displayName\": {\n \"description\": \"The display name of the taxonomy level.\",\n \"example\": \"France\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"displayName\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"patch_metadata_taxonomies_id_id_levels_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update metadata taxonomy level\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"patch_metadata_taxonomies_id_id_nodes_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an existing metadata taxonomy node.\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_metadata_taxonomies_id_id_nodes_id\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The identifier of the metadata taxonomy node.\",\n \"in\": \"path\",\n \"name\": \"node_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes/{node_id}\",\n \"request_body\": {\n \"properties\": {\n \"displayName\": {\n \"description\": \"The display name of the taxonomy node.\",\n \"example\": \"France\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"patch_metadata_taxonomies_id_id_nodes_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update metadata taxonomy node\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"post_ai_agents\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates an AI agent. At least one of the following capabilities must be provided: `ask`, `text_gen`, `extract`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_ai_agents\",\n \"parameters\": [],\n \"path\": \"/ai_agents\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateAiAgent\"\n },\n \"security\": null,\n \"skill_name\": \"post_ai_agents\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create AI agent\",\n \"tags\": [\n \"AI Studio\"\n ]\n },\n \"post_ai_ask\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Sends an AI request to supported LLMs and returns an answer specifically focused on the user's question given the provided context.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_ai_ask\",\n \"parameters\": [],\n \"path\": \"/ai/ask\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/AiAsk\"\n },\n \"security\": null,\n \"skill_name\": \"post_ai_ask\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Ask question\",\n \"tags\": [\n \"AI\"\n ]\n },\n \"post_ai_extract\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Sends an AI request to supported Large Language Models (LLMs) and extracts metadata in form of key-value pairs.\\nIn this request, both the prompt and the output can be freeform.\\nMetadata template setup before sending the request is not required.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_ai_extract\",\n \"parameters\": [],\n \"path\": \"/ai/extract\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/AiExtract\"\n },\n \"security\": null,\n \"skill_name\": \"post_ai_extract\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Extract metadata (freeform)\",\n \"tags\": [\n \"AI\"\n ]\n },\n \"post_ai_extract_structured\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Sends an AI request to supported Large Language Models (LLMs) and returns extracted metadata as a set of key-value pairs.\\n\\nTo define the extraction structure, provide either a metadata template or a list of fields. To learn more about creating templates, see [Creating metadata templates in the Admin Console](https://support.box.com/hc/en-us/articles/360044194033-Customizing-Metadata-Templates)\\nor use the [metadata template API](https://developer.box.com/guides/metadata/templates/create).\\n\\nThis endpoint also supports [Enhanced Extract Agent](https://developer.box.com/guides/box-ai/ai-tutorials/extract-metadata-structured#enhanced-extract-agent).\\n\\nFor information about supported file formats and languages, see the [Extract metadata from file (structured)](https://developer.box.com/guides/box-ai/ai-tutorials/extract-metadata-structured) API guide.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_ai_extract_structured\",\n \"parameters\": [],\n \"path\": \"/ai/extract_structured\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/AiExtractStructured\"\n },\n \"security\": null,\n \"skill_name\": \"post_ai_extract_structured\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Extract metadata (structured)\",\n \"tags\": [\n \"AI\"\n ]\n },\n \"post_ai_text_gen\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Sends an AI request to supported Large Language Models (LLMs) and returns generated text based on the provided prompt.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_ai_text_gen\",\n \"parameters\": [],\n \"path\": \"/ai/text_gen\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/AiTextGen\"\n },\n \"security\": null,\n \"skill_name\": \"post_ai_text_gen\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Generate text\",\n \"tags\": [\n \"AI\"\n ]\n },\n \"post_collaboration_whitelist_entries\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new entry in the list of allowed domains to allow\\ncollaboration for.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_collaboration_whitelist_entries\",\n \"parameters\": [],\n \"path\": \"/collaboration_whitelist_entries\",\n \"request_body\": {\n \"properties\": {\n \"direction\": {\n \"description\": \"The direction in which to allow collaborations.\",\n \"enum\": [\n \"inbound\",\n \"outbound\",\n \"both\"\n ],\n \"example\": \"inbound\",\n \"type\": \"string\"\n },\n \"domain\": {\n \"description\": \"The domain to add to the list of allowed domains.\",\n \"example\": \"example.com\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"domain\",\n \"direction\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_collaboration_whitelist_entries\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add domain to list of allowed collaboration domains\",\n \"tags\": [\n \"Domain restrictions for collaborations\"\n ]\n },\n \"post_collaboration_whitelist_exempt_targets\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Exempts a user from the restrictions set out by the allowed list of domains\\nfor collaborations.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_collaboration_whitelist_exempt_targets\",\n \"parameters\": [],\n \"path\": \"/collaboration_whitelist_exempt_targets\",\n \"request_body\": {\n \"properties\": {\n \"user\": {\n \"description\": \"The user to exempt.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the user to exempt.\",\n \"example\": \"23522323\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"user\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_collaboration_whitelist_exempt_targets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create user exemption from collaboration domain restrictions\",\n \"tags\": [\n \"Domain restrictions (User exemptions)\"\n ]\n },\n \"post_collaborations\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a collaboration for a single user or a single group to a file\\nor folder.\\n\\nCollaborations can be created using email address, user IDs, or a\\ngroup IDs.\\n\\nIf a collaboration is being created with a group, access to\\nthis endpoint is dependent on the group's ability to be invited.\\n\\nIf collaboration is in `pending` status, field `name` is redacted when:\\n- a collaboration was created using `user_id`,\\n- a collaboration was created using `login`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_collaborations\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Determines if users should receive email notification\\nfor the action performed.\",\n \"in\": \"query\",\n \"name\": \"notify\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/collaborations\",\n \"request_body\": {\n \"properties\": {\n \"accessible_by\": {\n \"description\": \"The user or group to give access to the item.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the user or group.\\n\\nAlternatively, use `login` to specify a user by email\\naddress.\",\n \"example\": \"23522323\",\n \"type\": \"string\"\n },\n \"login\": {\n \"description\": \"The email address of the user to grant access to the item.\\n\\nAlternatively, use `id` to specify a user by user ID.\",\n \"example\": \"john@example.com\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of collaborator to invite.\",\n \"enum\": [\n \"user\",\n \"group\"\n ],\n \"example\": \"user\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"type\": \"object\"\n },\n \"can_view_path\": {\n \"description\": \"Determines if the invited users can see the entire parent path to\\nthe associated folder. The user will not gain privileges in any\\nparent folder and therefore can not see content the user is not\\ncollaborated on.\\n\\nBe aware that this meaningfully increases the time required to load the\\ninvitee's **All Files** page. We recommend you limit the number of\\ncollaborations with `can_view_path` enabled to 1,000 per user.\\n\\nOnly an owner or co-owners can invite collaborators with a `can_view_path` of\\n`true`. Only an owner can update `can_view_path` on existing collaborations.\\n\\n`can_view_path` can only be used for folder collaborations.\\n\\nWhen you delete a folder with `can_view_path=true`, collaborators may still see the parent path. \\nFor instructions on how to remove this, see \\n[Even though a folder invited via can_view_path is deleted, the path remains displayed](https://support.box.com/hc/en-us/articles/37472814319891-Even-though-a-folder-invited-via-can-view-path-is-deleted-the-path-remains-displayed).\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"expires_at\": {\n \"description\": \"Set the expiration date for the collaboration. At this date, the\\ncollaboration will be automatically removed from the item.\\n\\nThis feature will only work if the **Automatically remove invited\\ncollaborators: Allow folder owners to extend the expiry date**\\nsetting has been enabled in the **Enterprise Settings**\\nof the **Admin Console**. When the setting is not enabled,\\ncollaborations can not have an expiry date and a value for this\\nfield will be result in an error.\",\n \"example\": \"2019-08-29T23:59:00-07:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"is_access_only\": {\n \"description\": \"If set to `true`, collaborators have access to\\nshared items, but such items won't be visible in the\\nAll Files list. Additionally, collaborators won't\\nsee the path to the root folder for the\\nshared item.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"item\": {\n \"description\": \"The item to attach the comment to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the item that will be granted access to.\",\n \"example\": \"11446498\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of the item that this collaboration will be\\ngranted access to.\",\n \"enum\": [\n \"file\",\n \"folder\"\n ],\n \"example\": \"file\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"role\": {\n \"description\": \"The level of access granted.\",\n \"enum\": [\n \"editor\",\n \"viewer\",\n \"previewer\",\n \"uploader\",\n \"previewer uploader\",\n \"viewer uploader\",\n \"co-owner\"\n ],\n \"example\": \"editor\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"item\",\n \"accessible_by\",\n \"role\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_collaborations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create collaboration\",\n \"tags\": [\n \"Collaborations\"\n ]\n },\n \"post_comments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a comment by the user to a specific file, or\\nas a reply to an other comment.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_comments\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/comments\",\n \"request_body\": {\n \"properties\": {\n \"item\": {\n \"description\": \"The item to attach the comment to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the item.\",\n \"example\": \"11446498\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of the item that this comment will be placed on.\",\n \"enum\": [\n \"file\",\n \"comment\"\n ],\n \"example\": \"file\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"type\"\n ],\n \"type\": \"object\"\n },\n \"message\": {\n \"description\": \"The text of the comment.\\n\\nTo mention a user, use the `tagged_message`\\nparameter instead.\",\n \"example\": \"Review completed!\",\n \"type\": \"string\"\n },\n \"tagged_message\": {\n \"description\": \"The text of the comment, including `@[user_id:name]`\\nsomewhere in the message to mention another user, which\\nwill send them an email notification, letting them know\\nthey have been mentioned.\\n\\nThe `user_id` is the target user's ID, where the `name`\\ncan be any custom phrase. In the Box UI this name will\\nlink to the user's profile.\\n\\nIf you are not mentioning another user, use `message`\\ninstead.\",\n \"example\": \"@[1234:John] Review completed!\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"message\",\n \"item\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_comments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create comment\",\n \"tags\": [\n \"Comments\"\n ]\n },\n \"post_file_requests_id_copy\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Copies an existing file request that is already present on one folder,\\nand applies it to another folder.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_file_requests_id_copy\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a file request.\\n\\nThe ID for any file request can be determined\\nby visiting a file request builder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/filerequest/123`\\nthe `file_request_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_request_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/file_requests/{file_request_id}/copy\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/FileRequestCopyRequest\"\n },\n \"security\": null,\n \"skill_name\": \"post_file_requests_id_copy\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Copy file request\",\n \"tags\": [\n \"File requests\"\n ]\n },\n \"post_files_content\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Uploads a small file to Box. For file sizes over 50MB we recommend\\nusing the Chunk Upload APIs.\\n\\nThe `attributes` part of the body must come **before** the\\n`file` part. Requests that do not follow this format when\\nuploading the file will receive a HTTP `400` error with a\\n`metadata_after_file_contents` error code.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_content\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"An optional header containing the SHA1 hash of the file to\\nensure that the file was not corrupted in transit.\",\n \"in\": \"header\",\n \"name\": \"content-md5\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/content\",\n \"request_body\": {\n \"properties\": {\n \"attributes\": {\n \"description\": \"The additional attributes of the file being uploaded. Mainly the\\nname and the parent folder. These attributes are part of the multi\\npart request body and are in JSON format.\\n\\n\\n\\n The `attributes` part of the body must come **before** the\\n `file` part. Requests that do not follow this format when\\n uploading the file will receive a HTTP `400` error with a\\n `metadata_after_file_contents` error code.\\n\\n\",\n \"properties\": {\n \"content_created_at\": {\n \"description\": \"Defines the time the file was originally created at.\\n\\nIf not set, the upload time will be used.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"content_modified_at\": {\n \"description\": \"Defines the time the file was last modified at.\\n\\nIf not set, the upload time will be used.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the file.\\n\\nFile names must be unique within their parent folder. The name check is case-insensitive, so a file\\nnamed `New File` cannot be created in a parent folder that already contains a folder named `new file`.\",\n \"example\": \"Photo.png\",\n \"type\": \"string\"\n },\n \"parent\": {\n \"description\": \"The parent folder to upload the file to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The id of the parent folder. Use\\n`0` for the user's root folder.\",\n \"example\": \"124132\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"name\",\n \"parent\"\n ],\n \"type\": \"object\"\n },\n \"file\": {\n \"description\": \"The content of the file to upload to Box.\\n\\n\\n\\n The `attributes` part of the body must come **before** the\\n `file` part. Requests that do not follow this format when\\n uploading the file will receive a HTTP `400` error with a\\n `metadata_after_file_contents` error code.\\n\\n\",\n \"format\": \"binary\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"attributes\",\n \"file\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_content\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Upload file\",\n \"tags\": [\n \"Uploads\"\n ]\n },\n \"post_files_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Restores a file that has been moved to the trash.\\n\\nAn optional new parent ID can be provided to restore the file to in case the\\noriginal folder has been deleted.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/files/{file_id}\",\n \"request_body\": {\n \"properties\": {\n \"name\": {\n \"description\": \"An optional new name for the file.\",\n \"example\": \"Restored.docx\",\n \"type\": \"string\"\n },\n \"parent\": {\n \"allOf\": [\n {\n \"description\": \"The parent for this item.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent item.\",\n \"example\": \"123\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"description\": \"Specifies an optional ID of a folder to restore the file to\\nwhen the original folder no longer exists.\\n\\nPlease be aware that this ID will only be used if the original\\nfolder no longer exists. Use this ID to provide a fallback\\nlocation to restore the file to if the original location\\nhas been deleted.\"\n }\n ]\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Restore file\",\n \"tags\": [\n \"Trashed files\"\n ]\n },\n \"post_files_id_content\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Update a file's content. For file sizes over 50MB we recommend\\nusing the Chunk Upload APIs.\\n\\nThe `attributes` part of the body must come **before** the\\n`file` part. Requests that do not follow this format when\\nuploading the file will receive a HTTP `400` error with a\\n`metadata_after_file_contents` error code.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_id_content\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Ensures this item hasn't recently changed before\\nmaking changes.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `412 Precondition Failed` if it\\nhas changed since.\",\n \"in\": \"header\",\n \"name\": \"if-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"An optional header containing the SHA1 hash of the file to\\nensure that the file was not corrupted in transit.\",\n \"in\": \"header\",\n \"name\": \"content-md5\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/content\",\n \"request_body\": {\n \"properties\": {\n \"attributes\": {\n \"description\": \"The additional attributes of the file being uploaded. Mainly the\\nname and the parent folder. These attributes are part of the multi\\npart request body and are in JSON format.\\n\\n\\n\\n The `attributes` part of the body must come **before** the\\n `file` part. Requests that do not follow this format when\\n uploading the file will receive a HTTP `400` error with a\\n `metadata_after_file_contents` error code.\\n\\n\",\n \"properties\": {\n \"content_modified_at\": {\n \"description\": \"Defines the time the file was last modified at.\\n\\nIf not set, the upload time will be used.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"An optional new name for the file. If specified, the file\\nwill be renamed when the new version is uploaded.\",\n \"example\": \"Photo 2.0.png\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"file\": {\n \"description\": \"The content of the file to upload to Box.\\n\\n\\n\\n The `attributes` part of the body must come **before** the\\n `file` part. Requests that do not follow this format when\\n uploading the file will receive a HTTP `400` error with a\\n `metadata_after_file_contents` error code.\\n\\n\",\n \"format\": \"binary\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"attributes\",\n \"file\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_id_content\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Upload file version\",\n \"tags\": [\n \"Uploads\"\n ]\n },\n \"post_files_id_copy\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a copy of a file.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_id_copy\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/copy\",\n \"request_body\": {\n \"nullable\": false,\n \"properties\": {\n \"name\": {\n \"description\": \"An optional new name for the copied file.\\n\\nThere are some restrictions to the file name. Names containing\\nnon-printable ASCII characters, forward and backward slashes\\n(`/`, `\\\\`), and protected names like `.` and `..` are\\nautomatically sanitized by removing the non-allowed\\ncharacters.\",\n \"example\": \"FileCopy.txt\",\n \"maxLength\": 255,\n \"type\": \"string\"\n },\n \"parent\": {\n \"description\": \"The destination folder to copy the file to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of folder to copy the file to.\",\n \"example\": \"0\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n },\n \"version\": {\n \"description\": \"An optional ID of the specific file version to copy.\",\n \"example\": \"0\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"parent\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_id_copy\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Copy file\",\n \"tags\": [\n \"Files\"\n ]\n },\n \"post_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a classification to a file by specifying the label of the\\nclassification to add.\\n\\nThis API can also be called by including the enterprise ID in the\\nURL explicitly, for example\\n`/files/:id//enterprise_12345/securityClassification-6VMVochwUWo`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo\",\n \"request_body\": {\n \"properties\": {\n \"Box__Security__Classification__Key\": {\n \"description\": \"The name of the classification to apply to this file.\\n\\nTo list the available classifications in an enterprise,\\nuse the classification API to retrieve the\\n[classification template](https://developer.box.com/reference/get-metadata-templates-enterprise-securityClassification-6VMVochwUWo-schema)\\nwhich lists all available classification keys.\",\n \"example\": \"Sensitive\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add classification to file\",\n \"tags\": [\n \"Classifications on files\"\n ]\n },\n \"post_files_id_metadata_global_box_skills_cards\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Applies one or more Box Skills metadata cards to a file.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_id_metadata_global_box_skills_cards\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/global/boxSkillsCards\",\n \"request_body\": {\n \"properties\": {\n \"cards\": {\n \"description\": \"A list of Box Skill cards to apply to this file.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SkillCard\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"cards\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_id_metadata_global_box_skills_cards\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create Box Skill cards on file\",\n \"tags\": [\n \"Skills\"\n ]\n },\n \"post_files_id_metadata_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Applies an instance of a metadata template to a file.\\n\\nIn most cases only values that are present in the metadata template\\nwill be accepted, except for the `global.properties` template which accepts\\nany key-value pair.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_id_metadata_id_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/{scope}/{template_key}\",\n \"request_body\": {\n \"additionalProperties\": {\n \"allOf\": [\n {},\n {\n \"example\": \"Aaron Levie\"\n },\n {\n \"description\": \"A value for each of the fields that are present\\non the metadata template.\\nFor the `global.properties` template this can be\\na list of zero or more fields,\\nas this template allows for any generic key-value pairs \\nto be stored stored in the template.\\nFor a taxonomy field, the value should be a list of the node identifiers\\nof the selected taxonomy nodes, since taxonomy fields support multi-select.\\nIf a single select taxonomy field is being set, the list should contain a \\nsingle node identifier.\"\n }\n ]\n },\n \"example\": {\n \"name\": \"Aaron Levie\"\n },\n \"type\": \"object\",\n \"x-box-example-key\": \"name\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_id_metadata_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create metadata instance on file\",\n \"tags\": [\n \"Metadata instances (Files)\"\n ]\n },\n \"post_files_id_upload_sessions\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates an upload session for an existing file.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_id_upload_sessions\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/upload_sessions\",\n \"request_body\": {\n \"properties\": {\n \"file_name\": {\n \"description\": \"The optional new name of new file.\",\n \"example\": \"Project.mov\",\n \"type\": \"string\"\n },\n \"file_size\": {\n \"description\": \"The total number of bytes of the file to be uploaded.\",\n \"example\": 104857600,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"file_size\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_id_upload_sessions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create upload session for existing file\",\n \"tags\": [\n \"Uploads (Chunked)\"\n ]\n },\n \"post_files_id_versions_current\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Promote a specific version of a file.\\n\\nIf previous versions exist, this method can be used to\\npromote one of the older versions to the top of the version history.\\n\\nThis creates a new copy of the old version and puts it at the\\ntop of the versions history. The file will have the exact same contents\\nas the older version, with the same hash digest, `etag`, and\\nname as the original.\\n\\nOther properties such as comments do not get updated to their\\nformer values.\\n\\nDon't use this endpoint to restore Box Notes,\\nas it works with file formats such as PDF, DOC,\\nPPTX or similar.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_id_versions_current\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/versions/current\",\n \"request_body\": {\n \"description\": \"The file version to promote.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The file version ID.\",\n \"example\": \"11446498\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type to promote.\",\n \"enum\": [\n \"file_version\"\n ],\n \"example\": \"file_version\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_id_versions_current\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Promote file version\",\n \"tags\": [\n \"File versions\"\n ]\n },\n \"post_files_upload_sessions\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates an upload session for a new file.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_upload_sessions\",\n \"parameters\": [],\n \"path\": \"/files/upload_sessions\",\n \"request_body\": {\n \"properties\": {\n \"file_name\": {\n \"description\": \"The name of new file.\",\n \"example\": \"Project.mov\",\n \"type\": \"string\"\n },\n \"file_size\": {\n \"description\": \"The total number of bytes of the file to be uploaded.\",\n \"example\": 104857600,\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"folder_id\": {\n \"description\": \"The ID of the folder to upload the new file to.\",\n \"example\": \"0\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"folder_id\",\n \"file_size\",\n \"file_name\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_upload_sessions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create upload session\",\n \"tags\": [\n \"Uploads (Chunked)\"\n ]\n },\n \"post_files_upload_sessions_id_commit\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Close an upload session and create a file from the uploaded chunks.\\n\\nThe actual endpoint URL is returned by the [`Create upload session`](https://developer.box.com/reference/post-files-upload-sessions)\\nand [`Get upload session`](https://developer.box.com/reference/get-files-upload-sessions-id) endpoints.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_files_upload_sessions_id_commit\",\n \"parameters\": [\n {\n \"description\": \"The ID of the upload session.\",\n \"in\": \"path\",\n \"name\": \"upload_session_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The [RFC3230][1] message digest of the whole file.\\n\\nOnly SHA1 is supported. The SHA1 digest must be Base64\\nencoded. The format of this header is as\\n`sha=BASE64_ENCODED_DIGEST`.\\n\\n[1]: https://tools.ietf.org/html/rfc3230\",\n \"in\": \"header\",\n \"name\": \"digest\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Ensures this item hasn't recently changed before\\nmaking changes.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `412 Precondition Failed` if it\\nhas changed since.\",\n \"in\": \"header\",\n \"name\": \"if-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Ensures an item is only returned if it has changed.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `304 Not Modified` if the item has not\\nchanged since.\",\n \"in\": \"header\",\n \"name\": \"if-none-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/upload_sessions/{upload_session_id}/commit\",\n \"request_body\": {\n \"properties\": {\n \"parts\": {\n \"description\": \"The list details for the uploaded parts.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/UploadPart\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"parts\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_files_upload_sessions_id_commit\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Commit upload session\",\n \"tags\": [\n \"Uploads (Chunked)\"\n ]\n },\n \"post_folder_locks\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a folder lock on a folder, preventing it from being moved and/or\\ndeleted.\\n\\nYou must be authenticated as the owner or co-owner of the folder to\\nuse this endpoint.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_folder_locks\",\n \"parameters\": [],\n \"path\": \"/folder_locks\",\n \"request_body\": {\n \"properties\": {\n \"folder\": {\n \"description\": \"The folder to apply the lock to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the folder.\",\n \"example\": \"1234567890\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The content type the lock is being applied to. Only `folder`\\nis supported.\",\n \"example\": \"folder\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\",\n \"id\"\n ],\n \"type\": \"object\"\n },\n \"locked_operations\": {\n \"description\": \"The operations to lock for the folder. If `locked_operations` is\\nincluded in the request, both `move` and `delete` must also be\\nincluded and both set to `true`.\",\n \"properties\": {\n \"delete\": {\n \"description\": \"Whether deleting the folder should be locked.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"move\": {\n \"description\": \"Whether moving the folder should be locked.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"move\",\n \"delete\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"folder\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_folder_locks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create folder lock\",\n \"tags\": [\n \"Folder Locks\"\n ]\n },\n \"post_folders\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new empty folder within the specified parent folder.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_folders\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/folders\",\n \"request_body\": {\n \"properties\": {\n \"folder_upload_email\": {\n \"allOf\": [\n {\n \"description\": \"The Write Folder Upload Email object.\",\n \"properties\": {\n \"access\": {\n \"description\": \"When this parameter has been set, users can email files\\nto the email address that has been automatically\\ncreated for this folder.\\n\\nTo create an email address, set this property either when\\ncreating or updating the folder.\\n\\nWhen set to `collaborators`, only emails from registered email\\naddresses for collaborators will be accepted. This includes\\nany email aliases a user might have registered.\\n\\nWhen set to `open` it will accept emails from any email\\naddress.\",\n \"enum\": [\n \"open\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n \"title\": \"Folder upload email\",\n \"type\": \"object\"\n },\n {\n \"description\": \"Setting this object enables the upload email address.\\n\\nThis email address can be used by users to directly\\nupload files directly to the folder via email.\"\n }\n ]\n },\n \"name\": {\n \"description\": \"The name for the new folder.\\n\\nThe following restrictions to folder names apply: names containing\\nnon-printable ASCII characters, forward and backward slashes\\n(`/`, `\\\\`), names with trailing spaces, and names `.` and `..` are\\nnot allowed.\\n\\nFolder names must be unique within their parent folder. The name check is case-insensitive,\\nso a folder named `New Folder` cannot be created in a parent folder that already contains\\na folder named `new folder`.\",\n \"example\": \"New Folder\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"parent\": {\n \"description\": \"The parent folder to create the new folder within.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent folder.\",\n \"example\": \"0\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n },\n \"sync_state\": {\n \"description\": \"Specifies whether a folder should be synced to a\\nuser's device or not. This is used by Box Sync\\n(discontinued) and is not used by Box Drive.\",\n \"enum\": [\n \"synced\",\n \"not_synced\",\n \"partially_synced\"\n ],\n \"example\": \"synced\",\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"parent\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_folders\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create folder\",\n \"tags\": [\n \"Folders\"\n ]\n },\n \"post_folders_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Restores a folder that has been moved to the trash.\\n\\nAn optional new parent ID can be provided to restore the folder to in case the\\noriginal folder has been deleted.\\n\\nDuring this operation, part of the file tree will be locked, mainly\\nthe source folder and all of its descendants, as well as the destination\\nfolder.\\n\\nFor the duration of the operation, no other move, copy, delete, or restore\\noperation can performed on any of the locked folders.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_folders_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}\",\n \"request_body\": {\n \"properties\": {\n \"name\": {\n \"description\": \"An optional new name for the folder.\",\n \"example\": \"Restored Photos\",\n \"type\": \"string\"\n },\n \"parent\": {\n \"allOf\": [\n {\n \"description\": \"The parent for this item.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent item.\",\n \"example\": \"123\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"description\": \"Specifies an optional ID of a folder to restore the folder\\nto when the original folder no longer exists.\\n\\nPlease be aware that this ID will only be used if the original\\nfolder no longer exists. Use this ID to provide a fallback\\nlocation to restore the folder to if the original location\\nhas been deleted.\"\n }\n ]\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_folders_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Restore folder\",\n \"tags\": [\n \"Trashed folders\"\n ]\n },\n \"post_folders_id_copy\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a copy of a folder within a destination folder.\\n\\nThe original folder will not be changed.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_folders_id_copy\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier of the folder to copy.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder with the ID `0` can not be copied.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/copy\",\n \"request_body\": {\n \"nullable\": false,\n \"properties\": {\n \"name\": {\n \"description\": \"An optional new name for the copied folder.\\n\\nThere are some restrictions to the file name. Names containing\\nnon-printable ASCII characters, forward and backward slashes\\n(`/`, `\\\\`), as well as names with trailing spaces are\\nprohibited.\\n\\nAdditionally, the names `.` and `..` are\\nnot allowed either.\",\n \"example\": \"New Folder\",\n \"maxLength\": 255,\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"parent\": {\n \"description\": \"The destination folder to copy the folder to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent folder.\",\n \"example\": \"0\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"parent\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_folders_id_copy\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Copy folder\",\n \"tags\": [\n \"Folders\"\n ]\n },\n \"post_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a classification to a folder by specifying the label of the\\nclassification to add.\\n\\nThis API can also be called by including the enterprise ID in the\\nURL explicitly, for example\\n`/folders/:id/enterprise_12345/securityClassification-6VMVochwUWo`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo\",\n \"request_body\": {\n \"properties\": {\n \"Box__Security__Classification__Key\": {\n \"description\": \"The name of the classification to apply to this folder.\\n\\nTo list the available classifications in an enterprise,\\nuse the classification API to retrieve the\\n[classification template](https://developer.box.com/reference/get-metadata-templates-enterprise-securityClassification-6VMVochwUWo-schema)\\nwhich lists all available classification keys.\",\n \"example\": \"Sensitive\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add classification to folder\",\n \"tags\": [\n \"Classifications on folders\"\n ]\n },\n \"post_folders_id_metadata_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Applies an instance of a metadata template to a folder.\\n\\nIn most cases only values that are present in the metadata template\\nwill be accepted, except for the `global.properties` template which accepts\\nany key-value pair.\\n\\nTo display the metadata template in the Box web app the enterprise needs to be\\nconfigured to enable **Cascading Folder Level Metadata** for the user in the\\nadmin console.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_folders_id_metadata_id_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/metadata/{scope}/{template_key}\",\n \"request_body\": {\n \"additionalProperties\": {\n \"allOf\": [\n {},\n {\n \"example\": \"Aaron Levie\"\n },\n {\n \"description\": \"A value for each of the fields that are present on the metadata\\ntemplate.\\nFor the `global.properties` template this can be a list of zero\\nor more fields, as this template allows for any generic key-value\\npairs to be stored in the template.\\nFor a taxonomy field, the value should be a list of the node identifiers\\nof the selected taxonomy nodes, since taxonomy fields support multi-select.\\nIf a single select taxonomy field is being set, the list should contain a\\nsingle node identifier.\"\n }\n ]\n },\n \"example\": {\n \"name\": \"Aaron Levie\"\n },\n \"type\": \"object\",\n \"x-box-example-key\": \"name\"\n },\n \"security\": null,\n \"skill_name\": \"post_folders_id_metadata_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create metadata instance on folder\",\n \"tags\": [\n \"Metadata instances (Folders)\"\n ]\n },\n \"post_group_memberships\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a group membership. Only users with\\nadmin-level permissions will be able to use this API.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_group_memberships\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/group_memberships\",\n \"request_body\": {\n \"properties\": {\n \"configurable_permissions\": {\n \"additionalProperties\": {\n \"description\": \"A key value pair of custom permissions.\",\n \"example\": true,\n \"type\": \"boolean\",\n \"x-box-example-key\": \"can_run_reports\"\n },\n \"description\": \"Custom configuration for the permissions an admin\\nif a group will receive. This option has no effect\\non members with a role of `member`.\\n\\nSetting these permissions overwrites the default\\naccess levels of an admin.\\n\\nSpecifying a value of `null` for this object will disable\\nall configurable permissions. Specifying permissions will set\\nthem accordingly, omitted permissions will be enabled by default.\",\n \"example\": {\n \"can_run_reports\": true\n },\n \"nullable\": true,\n \"type\": \"object\"\n },\n \"group\": {\n \"description\": \"The group to add the user to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the group to add the user to.\",\n \"example\": \"4545523\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n },\n \"role\": {\n \"description\": \"The role of the user in the group.\",\n \"enum\": [\n \"member\",\n \"admin\"\n ],\n \"example\": \"member\",\n \"type\": \"string\"\n },\n \"user\": {\n \"description\": \"The user to add to the group.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the user to add to the group.\",\n \"example\": \"1434325\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"user\",\n \"group\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_group_memberships\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add user to group\",\n \"tags\": [\n \"Group memberships\"\n ]\n },\n \"post_groups\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new group of users in an enterprise. Only users with admin\\npermissions can create new groups.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_groups\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/groups\",\n \"request_body\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A human readable description of the group.\",\n \"example\": \"\\\"Customer Support Group - as imported from Active Directory\\\"\",\n \"maxLength\": 255,\n \"type\": \"string\"\n },\n \"external_sync_identifier\": {\n \"description\": \"An arbitrary identifier that can be used by\\nexternal group sync tools to link this Box Group to\\nan external group.\\n\\nExample values of this field\\ncould be an **Active Directory Object ID** or a **Google\\nGroup ID**.\\n\\nWe recommend you use of this field in\\norder to avoid issues when group names are updated in\\neither Box or external systems.\",\n \"example\": \"AD:123456\",\n \"type\": \"string\"\n },\n \"invitability_level\": {\n \"description\": \"Specifies who can invite the group to collaborate\\non folders.\\n\\nWhen set to `admins_only` the enterprise admin, co-admins,\\nand the group's admin can invite the group.\\n\\nWhen set to `admins_and_members` all the admins listed\\nabove and group members can invite the group.\\n\\nWhen set to `all_managed_users` all managed users in the\\nenterprise can invite the group.\",\n \"enum\": [\n \"admins_only\",\n \"admins_and_members\",\n \"all_managed_users\"\n ],\n \"example\": \"admins_only\",\n \"type\": \"string\"\n },\n \"member_viewability_level\": {\n \"description\": \"Specifies who can see the members of the group.\\n\\n* `admins_only` - the enterprise admin, co-admins, group's\\n group admin.\\n* `admins_and_members` - all admins and group members.\\n* `all_managed_users` - all managed users in the\\n enterprise.\",\n \"enum\": [\n \"admins_only\",\n \"admins_and_members\",\n \"all_managed_users\"\n ],\n \"example\": \"admins_only\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the new group to be created. This name must be unique\\nwithin the enterprise.\",\n \"example\": \"Customer Support\",\n \"type\": \"string\"\n },\n \"provenance\": {\n \"description\": \"Keeps track of which external source this group is\\ncoming, for example `Active Directory`, or `Okta`.\\n\\nSetting this will also prevent Box admins from editing\\nthe group name and its members directly via the Box\\nweb application.\\n\\nThis is desirable for one-way syncing of groups.\",\n \"example\": \"Active Directory\",\n \"maxLength\": 255,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_groups\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create group\",\n \"tags\": [\n \"Groups\"\n ]\n },\n \"post_groups_terminate_sessions\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Validates the roles and permissions of the group,\\nand creates asynchronous jobs\\nto terminate the group's sessions.\\nReturns the status for the POST request.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_groups_terminate_sessions\",\n \"parameters\": [],\n \"path\": \"/groups/terminate_sessions\",\n \"request_body\": {\n \"properties\": {\n \"group_ids\": {\n \"description\": \"A list of group IDs.\",\n \"example\": [\n \"123456\",\n \"456789\"\n ],\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"group_ids\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_groups_terminate_sessions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create jobs to terminate user group session\",\n \"tags\": [\n \"Session termination\"\n ]\n },\n \"post_integration_mappings_slack\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a [Slack integration mapping](https://support.box.com/hc/en-us/articles/4415585987859-Box-as-the-Content-Layer-for-Slack)\\nby mapping a Slack channel to a Box item.\\n\\nYou need Admin or Co-Admin role to\\nuse this endpoint.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_integration_mappings_slack\",\n \"parameters\": [],\n \"path\": \"/integration_mappings/slack\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/IntegrationMappingSlackCreateRequest\"\n },\n \"security\": null,\n \"skill_name\": \"post_integration_mappings_slack\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create Slack integration mapping\",\n \"tags\": [\n \"Integration mappings\"\n ]\n },\n \"post_integration_mappings_teams\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a [Teams integration mapping](https://support.box.com/hc/en-us/articles/360044681474-Using-Box-for-Teams)\\nby mapping a Teams channel to a Box item.\\nYou need Admin or Co-Admin role to\\nuse this endpoint.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_integration_mappings_teams\",\n \"parameters\": [],\n \"path\": \"/integration_mappings/teams\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/IntegrationMappingTeamsCreateRequest\"\n },\n \"security\": null,\n \"skill_name\": \"post_integration_mappings_teams\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create Teams integration mapping\",\n \"tags\": [\n \"Integration mappings\"\n ]\n },\n \"post_invites\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Invites an existing external user to join an enterprise.\\n\\nThe existing user can not be part of another enterprise and\\nmust already have a Box account. Once invited, the user will receive an\\nemail and are prompted to accept the invitation within the\\nBox web application.\\n\\nThis method requires the \\\"Manage An Enterprise\\\" scope enabled for\\nthe application, which can be enabled within the developer console.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_invites\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/invites\",\n \"request_body\": {\n \"properties\": {\n \"actionable_by\": {\n \"description\": \"The user to invite.\",\n \"properties\": {\n \"login\": {\n \"description\": \"The login of the invited user.\",\n \"example\": \"john@example.com\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n },\n \"enterprise\": {\n \"description\": \"The enterprise to invite the user to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the enterprise.\",\n \"example\": \"1232234\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"enterprise\",\n \"actionable_by\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_invites\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create user invite\",\n \"tags\": [\n \"Invites\"\n ]\n },\n \"post_legal_hold_policies\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Create a new legal hold policy.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_legal_hold_policies\",\n \"parameters\": [],\n \"path\": \"/legal_hold_policies\",\n \"request_body\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A description for the policy.\",\n \"example\": \"A custom policy for the sales team\",\n \"maxLength\": 500,\n \"type\": \"string\"\n },\n \"filter_ended_at\": {\n \"description\": \"The filter end date.\\n\\nWhen this policy is applied using a `custodian` legal\\nhold assignments, it will only apply to file versions\\ncreated or uploaded inside of the\\ndate range. Other assignment types, such as folders and\\nfiles, will ignore the date filter.\\n\\nRequired if `is_ongoing` is set to `false`.\",\n \"example\": \"2012-12-18T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"maxLength\": 500,\n \"type\": \"string\"\n },\n \"filter_started_at\": {\n \"description\": \"The filter start date.\\n\\nWhen this policy is applied using a `custodian` legal\\nhold assignments, it will only apply to file versions\\ncreated or uploaded inside of the\\ndate range. Other assignment types, such as folders and\\nfiles, will ignore the date filter.\\n\\nRequired if `is_ongoing` is set to `false`.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"maxLength\": 500,\n \"type\": \"string\"\n },\n \"is_ongoing\": {\n \"description\": \"Whether new assignments under this policy should\\ncontinue applying to files even after initialization.\\n\\nWhen this policy is applied using a legal hold assignment,\\nit will continue applying the policy to any new file versions\\neven after it has been applied.\\n\\nFor example, if a legal hold assignment is placed on a user\\ntoday, and that user uploads a file tomorrow, that file will\\nget held. This will continue until the policy is retired.\\n\\nRequired if no filter dates are set.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"policy_name\": {\n \"description\": \"The name of the policy.\",\n \"example\": \"Sales Policy\",\n \"maxLength\": 254,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"policy_name\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_legal_hold_policies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create legal hold policy\",\n \"tags\": [\n \"Legal hold policies\"\n ]\n },\n \"post_legal_hold_policy_assignments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Assign a legal hold to an item type of: file, file version, folder, user, ownership, or interactions.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_legal_hold_policy_assignments\",\n \"parameters\": [],\n \"path\": \"/legal_hold_policy_assignments\",\n \"request_body\": {\n \"properties\": {\n \"assign_to\": {\n \"description\": \"The item to assign the policy to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of item to assign the policy to.\",\n \"example\": \"6564564\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of item to assign the policy to.\",\n \"enum\": [\n \"file\",\n \"file_version\",\n \"folder\",\n \"user\",\n \"ownership\",\n \"interactions\"\n ],\n \"example\": \"folder\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\",\n \"id\"\n ],\n \"type\": \"object\"\n },\n \"policy_id\": {\n \"description\": \"The ID of the policy to assign.\",\n \"example\": \"123244\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"policy_id\",\n \"assign_to\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_legal_hold_policy_assignments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Assign legal hold policy\",\n \"tags\": [\n \"Legal hold policy assignments\"\n ]\n },\n \"post_metadata_cascade_policies\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new metadata cascade policy that applies a given\\nmetadata template to a given folder and automatically\\ncascades it down to any files within that folder.\\n\\nIn order for the policy to be applied a metadata instance must first\\nbe applied to the folder the policy is to be applied to.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_cascade_policies\",\n \"parameters\": [],\n \"path\": \"/metadata_cascade_policies\",\n \"request_body\": {\n \"properties\": {\n \"folder_id\": {\n \"description\": \"The ID of the folder to apply the policy to. This folder will\\nneed to already have an instance of the targeted metadata\\ntemplate applied to it.\",\n \"example\": \"1234567\",\n \"type\": \"string\"\n },\n \"scope\": {\n \"description\": \"The scope of the targeted metadata template. This template will\\nneed to already have an instance applied to the targeted folder.\",\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"example\": \"enterprise\",\n \"type\": \"string\"\n },\n \"templateKey\": {\n \"description\": \"The key of the targeted metadata template. This template will\\nneed to already have an instance applied to the targeted folder.\\n\\nIn many cases the template key is automatically derived\\nof its display name, for example `Contract Template` would\\nbecome `contractTemplate`. In some cases the creator of the\\ntemplate will have provided its own template key.\\n\\nPlease [list the templates for an enterprise][list], or\\nget all instances on a [file][file] or [folder][folder]\\nto inspect a template's key.\\n\\n[list]: https://developer.box.com/reference/get-metadata-templates-enterprise\\n[file]: https://developer.box.com/reference/get-files-id-metadata\\n[folder]: https://developer.box.com/reference/get-folders-id-metadata\",\n \"example\": \"productInfo\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"folder_id\",\n \"scope\",\n \"templateKey\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_metadata_cascade_policies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create metadata cascade policy\",\n \"tags\": [\n \"Metadata cascade policies\"\n ]\n },\n \"post_metadata_cascade_policies_id_apply\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Force the metadata on a folder with a metadata cascade policy to be applied to\\nall of its children. This can be used after creating a new cascade policy to\\nenforce the metadata to be cascaded down to all existing files within that\\nfolder.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_cascade_policies_id_apply\",\n \"parameters\": [\n {\n \"description\": \"The ID of the cascade policy to force-apply.\",\n \"in\": \"path\",\n \"name\": \"metadata_cascade_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_cascade_policies/{metadata_cascade_policy_id}/apply\",\n \"request_body\": {\n \"properties\": {\n \"conflict_resolution\": {\n \"description\": \"Describes the desired behavior when dealing with the conflict\\nwhere a metadata template already has an instance applied\\nto a child.\\n\\n* `none` will preserve the existing value on the file\\n* `overwrite` will force-apply the templates values over\\n any existing values.\",\n \"enum\": [\n \"none\",\n \"overwrite\"\n ],\n \"example\": \"none\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"conflict_resolution\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_metadata_cascade_policies_id_apply\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Force-apply metadata cascade policy to folder\",\n \"tags\": [\n \"Metadata cascade policies\"\n ]\n },\n \"post_metadata_queries_execute_read\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Create a search using SQL-like syntax to return items that match specific\\nmetadata.\\n\\nBy default, this endpoint returns only the most basic info about the items for\\nwhich the query matches. To get additional fields for each item, including any\\nof the metadata, use the `fields` attribute in the query.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_queries_execute_read\",\n \"parameters\": [],\n \"path\": \"/metadata_queries/execute_read\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/MetadataQuery\"\n },\n \"security\": null,\n \"skill_name\": \"post_metadata_queries_execute_read\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Query files/folders by metadata\",\n \"tags\": [\n \"Search\"\n ]\n },\n \"post_metadata_taxonomies\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new metadata taxonomy that can be used in\\nmetadata templates.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_taxonomies\",\n \"parameters\": [],\n \"path\": \"/metadata_taxonomies\",\n \"request_body\": {\n \"properties\": {\n \"displayName\": {\n \"description\": \"The display name of the taxonomy.\",\n \"example\": \"Geography\",\n \"maxLength\": 4096,\n \"type\": \"string\"\n },\n \"key\": {\n \"description\": \"The taxonomy key. If it is not provided in the request body, it will be \\ngenerated from the `displayName`. The `displayName` would be converted \\nto lower case, and all spaces and non-alphanumeric characters replaced \\nwith underscores.\",\n \"example\": \"geography\",\n \"maxLength\": 256,\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"The namespace of the metadata taxonomy to create.\",\n \"example\": \"enterprise_123456\",\n \"maxLength\": 4096,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"displayName\",\n \"namespace\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_metadata_taxonomies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create metadata taxonomy\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"post_metadata_taxonomies_id_id_levels\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates new metadata taxonomy levels.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_taxonomies_id_id_levels\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}/levels\",\n \"request_body\": {\n \"description\": \"An array of metadata taxonomy levels to be created.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/MetadataTaxonomyLevel\"\n },\n \"type\": \"array\"\n },\n \"security\": null,\n \"skill_name\": \"post_metadata_taxonomies_id_id_levels\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create metadata taxonomy levels\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"post_metadata_taxonomies_id_id_levels_append\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new metadata taxonomy level and appends it to the existing levels.\\nIf there are no levels defined yet, this will create the first level.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_taxonomies_id_id_levels_append\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}/levels:append\",\n \"request_body\": {\n \"properties\": {\n \"description\": {\n \"description\": \"The description of the taxonomy level.\",\n \"example\": \"French Republic\",\n \"type\": \"string\"\n },\n \"displayName\": {\n \"description\": \"The display name of the taxonomy level.\",\n \"example\": \"France\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"displayName\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_metadata_taxonomies_id_id_levels_append\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add metadata taxonomy level\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"post_metadata_taxonomies_id_id_levels_trim\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes the last level of the metadata taxonomy.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_taxonomies_id_id_levels_trim\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}/levels:trim\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_metadata_taxonomies_id_id_levels_trim\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Delete metadata taxonomy level\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"post_metadata_taxonomies_id_id_nodes\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new metadata taxonomy node.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_taxonomies_id_id_nodes\",\n \"parameters\": [\n {\n \"description\": \"The namespace of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"namespace\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the metadata taxonomy.\",\n \"in\": \"path\",\n \"name\": \"taxonomy_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes\",\n \"request_body\": {\n \"properties\": {\n \"displayName\": {\n \"description\": \"The display name of the taxonomy node.\",\n \"example\": \"France\",\n \"type\": \"string\"\n },\n \"level\": {\n \"description\": \"The level of the taxonomy node.\",\n \"example\": 1,\n \"type\": \"integer\"\n },\n \"parentId\": {\n \"description\": \"The identifier of the parent taxonomy node. \\nOmit this field for root-level nodes.\",\n \"example\": \"99df4513-7102-4896-8228-94635ee9d330\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"displayName\",\n \"level\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_metadata_taxonomies_id_id_nodes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create metadata taxonomy node\",\n \"tags\": [\n \"Metadata taxonomies\"\n ]\n },\n \"post_metadata_templates_schema\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new metadata template that can be applied to\\nfiles and folders.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_templates_schema\",\n \"parameters\": [],\n \"path\": \"/metadata_templates/schema\",\n \"request_body\": {\n \"properties\": {\n \"copyInstanceOnItemCopy\": {\n \"default\": false,\n \"description\": \"Whether or not to copy any metadata attached to a file or folder\\nwhen it is copied. By default, metadata is not copied along with a\\nfile or folder when it is copied.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"displayName\": {\n \"description\": \"The display name of the template.\",\n \"example\": \"Product Info\",\n \"maxLength\": 4096,\n \"type\": \"string\"\n },\n \"fields\": {\n \"description\": \"An ordered list of template fields which are part of the template.\\nEach field can be a regular text field, date field, number field,\\nas well as a single or multi-select list.\",\n \"items\": {\n \"description\": \"A field within a metadata template. Fields can be a basic text, date, or\\nnumber field, a list of options, or a taxonomy.\",\n \"properties\": {\n \"description\": {\n \"description\": \"A description of the field. This is not shown to the user.\",\n \"example\": \"The category\",\n \"maxLength\": 4096,\n \"type\": \"string\"\n },\n \"displayName\": {\n \"description\": \"The display name of the field as it is shown to the user in the web and\\nmobile apps.\",\n \"example\": \"Category\",\n \"maxLength\": 4096,\n \"type\": \"string\"\n },\n \"hidden\": {\n \"description\": \"Whether this field is hidden in the UI for the user and can only be set\\nthrough the API instead.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"key\": {\n \"description\": \"A unique identifier for the field. The identifier must\\nbe unique within the template to which it belongs.\",\n \"example\": \"category\",\n \"maxLength\": 256,\n \"type\": \"string\"\n },\n \"namespace\": {\n \"description\": \"The namespace of the metadata taxonomy to use for this taxonomy field.\\nThis property is required when the field `type` is set to `taxonomy`.\",\n \"example\": \"enterprise_123456\",\n \"type\": \"string\"\n },\n \"options\": {\n \"description\": \"A list of options for this field. This is used in combination with the\\n`enum` and `multiSelect` field types.\",\n \"items\": {\n \"description\": \"An option for a Metadata Template Field.\\n\\nOptions only need to be provided for fields of type `enum` and `multiSelect`.\\nOptions represent the value(s) a user can select for the field either through\\nthe UI or through the API.\",\n \"properties\": {\n \"key\": {\n \"description\": \"The text value of the option. This represents both the display name of the\\noption and the internal key used when updating templates.\",\n \"example\": \"Category 1\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"key\"\n ],\n \"title\": \"Metadata Option (Write)\",\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"optionsRules\": {\n \"description\": \"An object defining additional rules for the options of the taxonomy field.\\nThis property is required when the field `type` is set to `taxonomy`.\",\n \"properties\": {\n \"multiSelect\": {\n \"description\": \"Whether to allow users to select multiple values.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"selectableLevels\": {\n \"description\": \"An array of integers defining which levels of the taxonomy are\\nselectable by users.\",\n \"example\": [\n 1,\n 2\n ],\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"taxonomyId\": {\n \"description\": \"The unique ID of the metadata taxonomy to use for this taxonomy field.\\nThis property is required when the field `type` is set to `taxonomy`.\",\n \"example\": \"05ece6d7-fec4-4d3f-bfd2-36fd4dddea97\",\n \"type\": \"string\"\n },\n \"taxonomyKey\": {\n \"description\": \"The unique key of the metadata taxonomy to use for this taxonomy field.\\nThis property is required when the field `type` is set to `taxonomy`.\",\n \"example\": \"locationTaxonomy\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of field. The basic fields are a `string` field for text, a\\n`float` field for numbers, and a `date` field to present the user with a\\ndate-time picker.\\n\\nAdditionally, metadata templates support an `enum` field for a basic list\\nof items, and `multiSelect` field for a similar list of items where the\\nuser can select more than one value.\\n\\nMetadata taxonomies are also supported as a `taxonomy` field type \\nwith a specific set of additional properties, which describe its structure.\",\n \"enum\": [\n \"string\",\n \"float\",\n \"date\",\n \"enum\",\n \"multiSelect\",\n \"taxonomy\"\n ],\n \"example\": \"string\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\",\n \"key\",\n \"displayName\"\n ],\n \"title\": \"Metadata Field (Write)\",\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"hidden\": {\n \"default\": false,\n \"description\": \"Defines if this template is visible in the Box web app UI, or if\\nit is purely intended for usage through the API.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"scope\": {\n \"description\": \"The scope of the metadata template to create. Applications can\\nonly create templates for use within the authenticated user's\\nenterprise.\\n\\nThis value needs to be set to `enterprise`, as `global` scopes can\\nnot be created by applications.\",\n \"example\": \"enterprise\",\n \"type\": \"string\"\n },\n \"templateKey\": {\n \"description\": \"A unique identifier for the template. This identifier needs to be\\nunique across the enterprise for which the metadata template is\\nbeing created.\\n\\nWhen not provided, the API will create a unique `templateKey`\\nbased on the value of the `displayName`.\",\n \"example\": \"productInfo\",\n \"maxLength\": 64,\n \"pattern\": \"^[a-zA-Z_][-a-zA-Z0-9_]*$\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"scope\",\n \"displayName\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_metadata_templates_schema\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create metadata template\",\n \"tags\": [\n \"Metadata templates\"\n ]\n },\n \"post_metadata_templates_schema_classifications\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"When an enterprise does not yet have any classifications, this API call\\ninitializes the classification template with an initial set of\\nclassifications.\\n\\nIf an enterprise already has a classification, the template will already\\nexist and instead an API call should be made to add additional\\nclassifications.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_metadata_templates_schema_classifications\",\n \"parameters\": [],\n \"path\": \"/metadata_templates/schema#classifications\",\n \"request_body\": {\n \"properties\": {\n \"copyInstanceOnItemCopy\": {\n \"description\": \"Determines if classifications are\\ncopied along when the file or folder is\\ncopied.\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"displayName\": {\n \"description\": \"The name of the\\ntemplate as shown in web and mobile interfaces.\",\n \"enum\": [\n \"Classification\"\n ],\n \"example\": \"Classification\",\n \"type\": \"string\"\n },\n \"fields\": {\n \"description\": \"The classification template requires exactly\\none field, which holds\\nall the valid classification values.\",\n \"items\": {\n \"description\": \"The `enum` field which holds all the valid classification\\nvalues.\",\n \"properties\": {\n \"displayName\": {\n \"description\": \"A display name for the classification.\",\n \"enum\": [\n \"Classification\"\n ],\n \"example\": \"Classification\",\n \"type\": \"string\"\n },\n \"hidden\": {\n \"description\": \"Determines if the classification\\ntemplate is\\nhidden or available on\\nweb and mobile\\ndevices.\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"key\": {\n \"description\": \"Defines classifications \\navailable in the enterprise.\",\n \"enum\": [\n \"Box__Security__Classification__Key\"\n ],\n \"example\": \"Box__Security__Classification__Key\",\n \"type\": \"string\"\n },\n \"options\": {\n \"description\": \"The actual list of classifications that are present on\\nthis template.\",\n \"items\": {\n \"description\": \"An individual classification.\",\n \"properties\": {\n \"key\": {\n \"description\": \"The display name and key this classification. This\\nwill be show in the Box UI.\",\n \"example\": \"Sensitive\",\n \"type\": \"string\"\n },\n \"staticConfig\": {\n \"description\": \"Additional information about the classification.\",\n \"properties\": {\n \"classification\": {\n \"description\": \"Additional information about the classification.\",\n \"properties\": {\n \"classificationDefinition\": {\n \"description\": \"A longer description of the classification.\",\n \"example\": \"Sensitive information\",\n \"type\": \"string\"\n },\n \"colorID\": {\n \"description\": \"An identifier used to assign a color to\\na classification label.\\n\\nMapping between a `colorID` and a color may\\nchange without notice. Currently, the color\\nmappings are as follows.\\n\\n* `0`: Yellow.\\n* `1`: Orange.\\n* `2`: Watermelon red.\\n* `3`: Purple rain.\\n* `4`: Light blue.\\n* `5`: Dark blue.\\n* `6`: Light green.\\n* `7`: Gray.\",\n \"example\": 4,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"key\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"type\": {\n \"description\": \"The type of the field\\nthat is always enum.\",\n \"enum\": [\n \"enum\"\n ],\n \"example\": \"enum\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\",\n \"key\",\n \"displayName\",\n \"options\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"hidden\": {\n \"description\": \"Determines if the classification template is\\nhidden or available on web and mobile\\ndevices.\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"scope\": {\n \"description\": \"The scope in which to create the classifications. This should\\nbe `enterprise` or `enterprise_{id}` where `id` is the unique\\nID of the enterprise.\",\n \"enum\": [\n \"enterprise\"\n ],\n \"example\": \"enterprise\",\n \"type\": \"string\"\n },\n \"templateKey\": {\n \"description\": \"Defines the list of metadata templates.\",\n \"enum\": [\n \"securityClassification-6VMVochwUWo\"\n ],\n \"example\": \"securityClassification-6VMVochwUWo\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"scope\",\n \"displayName\",\n \"fields\",\n \"templateKey\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_metadata_templates_schema_classifications\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add initial classifications\",\n \"tags\": [\n \"Classifications\"\n ]\n },\n \"post_oauth2_revoke\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Revoke an active Access Token, effectively logging a user out\\nthat has been previously authenticated.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_oauth2_revoke\",\n \"parameters\": [],\n \"path\": \"/oauth2/revoke\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/PostOAuth2Revoke\"\n },\n \"security\": [],\n \"skill_name\": \"post_oauth2_revoke\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Revoke access token\",\n \"tags\": [\n \"Authorization\"\n ]\n },\n \"post_oauth2_token\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Request an Access Token using either a client-side obtained OAuth 2.0\\nauthorization code or a server-side JWT assertion.\\n\\nAn Access Token is a string that enables Box to verify that a\\nrequest belongs to an authorized session. In the normal order of\\noperations you will begin by requesting authentication from the\\n[authorize](https://developer.box.com/reference/get-authorize) endpoint and Box will send you an\\nauthorization code.\\n\\nYou will then send this code to this endpoint to exchange it for\\nan Access Token. The returned Access Token can then be used to to make\\nBox API calls.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_oauth2_token\",\n \"parameters\": [],\n \"path\": \"/oauth2/token\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/PostOAuth2Token\"\n },\n \"security\": [],\n \"skill_name\": \"post_oauth2_token\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Request access token\",\n \"tags\": [\n \"Authorization\"\n ]\n },\n \"post_oauth2_token_refresh\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Refresh an Access Token using its client ID, secret, and refresh token.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_oauth2_token_refresh\",\n \"parameters\": [],\n \"path\": \"/oauth2/token#refresh\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/PostOAuth2Token--RefreshAccessToken\"\n },\n \"security\": [],\n \"skill_name\": \"post_oauth2_token_refresh\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Refresh access token\",\n \"tags\": [\n \"Authorization\"\n ]\n },\n \"post_retention_policies\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a retention policy.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_retention_policies\",\n \"parameters\": [],\n \"path\": \"/retention_policies\",\n \"request_body\": {\n \"properties\": {\n \"are_owners_notified\": {\n \"description\": \"Whether owner and co-owners of a file are notified\\nwhen the policy nears expiration.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_owner_extend_retention\": {\n \"description\": \"Whether the owner of a file will be allowed to\\nextend the retention.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"custom_notification_recipients\": {\n \"description\": \"A list of users notified when\\nthe retention policy duration is about to end.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/User--Mini\"\n },\n \"type\": \"array\"\n },\n \"description\": {\n \"description\": \"The additional text description of the retention policy.\",\n \"example\": \"Policy to retain all reports for at least one month\",\n \"type\": \"string\"\n },\n \"disposition_action\": {\n \"description\": \"The disposition action of the retention policy.\\n`permanently_delete` deletes the content\\nretained by the policy permanently.\\n`remove_retention` lifts retention policy\\nfrom the content, allowing it to be deleted\\nby users once the retention policy has expired.\",\n \"enum\": [\n \"permanently_delete\",\n \"remove_retention\"\n ],\n \"example\": \"permanently_delete\",\n \"type\": \"string\"\n },\n \"max_extension_length\": {\n \"$ref\": \"#/components/schemas/RetentionPolicyMaxExtensionLengthRequest\"\n },\n \"policy_name\": {\n \"description\": \"The name for the retention policy.\",\n \"example\": \"Some Policy Name\",\n \"type\": \"string\"\n },\n \"policy_type\": {\n \"description\": \"The type of the retention policy. A retention\\npolicy type can either be `finite`, where a\\nspecific amount of time to retain the content is known\\nupfront, or `indefinite`, where the amount of time\\nto retain the content is still unknown.\",\n \"enum\": [\n \"finite\",\n \"indefinite\"\n ],\n \"example\": \"finite\",\n \"type\": \"string\"\n },\n \"retention_length\": {\n \"description\": \"The length of the retention policy. This value\\nspecifies the duration in days that the retention\\npolicy will be active for after being assigned to\\ncontent. If the policy has a `policy_type` of\\n`indefinite`, the `retention_length` will also be\\n`indefinite`.\",\n \"example\": \"365\",\n \"oneOf\": [\n {\n \"format\": \"int32\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n {\n \"format\": \"int32\",\n \"nullable\": false,\n \"type\": \"number\"\n }\n ]\n },\n \"retention_type\": {\n \"description\": \"Specifies the retention type:\\n\\n* `modifiable`: You can modify the retention policy. For example,\\nyou can add or remove folders, shorten or lengthen\\nthe policy duration, or delete the assignment.\\nUse this type if your retention policy\\nis not related to any regulatory purposes.\\n\\n* `non_modifiable`: You can modify the retention policy\\nonly in a limited way: add a folder, lengthen the duration,\\nretire the policy, change the disposition action\\nor notification settings. You cannot perform other actions,\\nsuch as deleting the assignment or shortening the\\npolicy duration. Use this type to ensure\\ncompliance with regulatory retention policies.\",\n \"enum\": [\n \"modifiable\",\n \"non_modifiable\"\n ],\n \"example\": \"modifiable\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"policy_name\",\n \"policy_type\",\n \"disposition_action\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_retention_policies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create retention policy\",\n \"tags\": [\n \"Retention policies\"\n ]\n },\n \"post_retention_policy_assignments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Assigns a retention policy to an item.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_retention_policy_assignments\",\n \"parameters\": [],\n \"path\": \"/retention_policy_assignments\",\n \"request_body\": {\n \"properties\": {\n \"assign_to\": {\n \"description\": \"The item to assign the policy to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of item to assign the policy to.\\nSet to `null` or omit when `type` is set to\\n`enterprise`.\",\n \"example\": \"6564564\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of item to assign the policy to.\",\n \"enum\": [\n \"enterprise\",\n \"folder\",\n \"metadata_template\"\n ],\n \"example\": \"metadata_template\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"type\": \"object\"\n },\n \"filter_fields\": {\n \"description\": \"If the `assign_to` type is `metadata_template`,\\nthen optionally add the `filter_fields` parameter which will\\nrequire an array of objects with a field entry and a value entry.\\nCurrently only one object of `field` and `value` is supported.\",\n \"items\": {\n \"properties\": {\n \"field\": {\n \"description\": \"The metadata attribute key id.\",\n \"example\": \"a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The metadata attribute field id. For value, only\\nenum and multiselect types are supported.\",\n \"example\": \"0c27b756-0p87-4fe0-a43a-59fb661ccc4e\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"policy_id\": {\n \"description\": \"The ID of the retention policy to assign.\",\n \"example\": \"173463\",\n \"type\": \"string\"\n },\n \"start_date_field\": {\n \"description\": \"The date the retention policy assignment begins.\\n\\nIf the `assigned_to` type is `metadata_template`,\\nthis field can be a date field's metadata attribute key id.\",\n \"example\": \"upload_date\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"policy_id\",\n \"assign_to\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_retention_policy_assignments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Assign retention policy\",\n \"tags\": [\n \"Retention policy assignments\"\n ]\n },\n \"post_shield_information_barrier_reports\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a shield information barrier report for a given barrier.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_shield_information_barrier_reports\",\n \"parameters\": [],\n \"path\": \"/shield_information_barrier_reports\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/ShieldInformationBarrierReference\"\n },\n \"security\": null,\n \"skill_name\": \"post_shield_information_barrier_reports\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create shield information barrier report\",\n \"tags\": [\n \"Shield information barrier reports\"\n ]\n },\n \"post_shield_information_barrier_segment_members\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new shield information barrier segment member.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_shield_information_barrier_segment_members\",\n \"parameters\": [],\n \"path\": \"/shield_information_barrier_segment_members\",\n \"request_body\": {\n \"properties\": {\n \"shield_information_barrier\": {\n \"$ref\": \"#/components/schemas/ShieldInformationBarrier--Base\"\n },\n \"shield_information_barrier_segment\": {\n \"description\": \"The `type` and `id` of the\\nrequested shield information barrier segment.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID reference of the\\nrequesting shield information barrier segment.\",\n \"example\": \"432554\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of the shield barrier segment for this member.\",\n \"enum\": [\n \"shield_information_barrier_segment\"\n ],\n \"example\": \"shield_information_barrier_segment\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": {\n \"description\": \"A type of the shield barrier segment member.\",\n \"enum\": [\n \"shield_information_barrier_segment_member\"\n ],\n \"example\": \"shield_information_barrier_segment_member\",\n \"type\": \"string\"\n },\n \"user\": {\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/User--Base\"\n }\n ],\n \"description\": \"User to which restriction will be applied.\"\n }\n },\n \"required\": [\n \"shield_information_barrier_segment\",\n \"user\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_shield_information_barrier_segment_members\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create shield information barrier segment member\",\n \"tags\": [\n \"Shield information barrier segment members\"\n ]\n },\n \"post_shield_information_barrier_segment_restrictions\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a shield information barrier\\nsegment restriction object.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_shield_information_barrier_segment_restrictions\",\n \"parameters\": [],\n \"path\": \"/shield_information_barrier_segment_restrictions\",\n \"request_body\": {\n \"properties\": {\n \"restricted_segment\": {\n \"description\": \"The `type` and `id` of the restricted\\nshield information barrier segment.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID reference of the restricted\\nshield information barrier segment.\",\n \"example\": \"1910967\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of the restricted shield\\ninformation barrier segment.\",\n \"enum\": [\n \"shield_information_barrier_segment\"\n ],\n \"example\": \"shield_information_barrier_segment\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"shield_information_barrier\": {\n \"$ref\": \"#/components/schemas/ShieldInformationBarrier--Base\"\n },\n \"shield_information_barrier_segment\": {\n \"description\": \"The `type` and `id` of the requested\\nshield information barrier segment.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID reference of the requesting\\nshield information barrier segment.\",\n \"example\": \"1910967\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of the shield barrier segment for this member.\",\n \"enum\": [\n \"shield_information_barrier_segment\"\n ],\n \"example\": \"shield_information_barrier_segment\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": {\n \"description\": \"The type of the shield barrier segment\\nrestriction for this member.\",\n \"enum\": [\n \"shield_information_barrier_segment_restriction\"\n ],\n \"example\": \"shield_information_barrier_segment_restriction\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\",\n \"shield_information_barrier_segment\",\n \"restricted_segment\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_shield_information_barrier_segment_restrictions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create shield information barrier segment restriction\",\n \"tags\": [\n \"Shield information barrier segment restrictions\"\n ]\n },\n \"post_shield_information_barrier_segments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a shield information barrier segment.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_shield_information_barrier_segments\",\n \"parameters\": [],\n \"path\": \"/shield_information_barrier_segments\",\n \"request_body\": {\n \"properties\": {\n \"description\": {\n \"description\": \"Description of the shield information barrier segment.\",\n \"example\": \"'Corporate division that engages in\\n advisory_based financial\\ntransactions on behalf of individuals,\\ncorporations, and governments.'\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"Name of the shield information barrier segment.\",\n \"example\": \"Investment Banking\",\n \"type\": \"string\"\n },\n \"shield_information_barrier\": {\n \"$ref\": \"#/components/schemas/ShieldInformationBarrier--Base\"\n }\n },\n \"required\": [\n \"shield_information_barrier\",\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_shield_information_barrier_segments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create shield information barrier segment\",\n \"tags\": [\n \"Shield information barrier segments\"\n ]\n },\n \"post_shield_information_barriers\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a shield information barrier to\\nseparate individuals/groups within the same\\nfirm and prevents confidential information passing between them.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_shield_information_barriers\",\n \"parameters\": [],\n \"path\": \"/shield_information_barriers\",\n \"request_body\": {\n \"properties\": {\n \"enterprise\": {\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Enterprise--Base\"\n }\n ],\n \"description\": \"The `type` and `id` of enterprise this barrier is under.\"\n }\n },\n \"required\": [\n \"enterprise\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_shield_information_barriers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create shield information barrier\",\n \"tags\": [\n \"Shield information barriers\"\n ]\n },\n \"post_shield_information_barriers_change_status\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Change status of shield information barrier with the specified ID.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_shield_information_barriers_change_status\",\n \"parameters\": [],\n \"path\": \"/shield_information_barriers/change_status\",\n \"request_body\": {\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the shield information barrier.\",\n \"example\": \"1910967\",\n \"type\": \"string\"\n },\n \"status\": {\n \"description\": \"The desired status for the shield information barrier.\",\n \"enum\": [\n \"pending\",\n \"disabled\"\n ],\n \"example\": \"pending\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"status\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_shield_information_barriers_change_status\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add changed status of shield information barrier with specified ID\",\n \"tags\": [\n \"Shield information barriers\"\n ]\n },\n \"post_sign_requests\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a signature request. This involves preparing a document for signing and\\nsending the signature request to signers.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_sign_requests\",\n \"parameters\": [],\n \"path\": \"/sign_requests\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SignRequestCreateRequest\"\n },\n \"security\": null,\n \"skill_name\": \"post_sign_requests\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create Box Sign request\",\n \"tags\": [\n \"Box Sign requests\"\n ]\n },\n \"post_sign_requests_id_cancel\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels a sign request.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_sign_requests_id_cancel\",\n \"parameters\": [\n {\n \"description\": \"The ID of the signature request.\",\n \"in\": \"path\",\n \"name\": \"sign_request_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/sign_requests/{sign_request_id}/cancel\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SignRequestCancelRequest\"\n },\n \"security\": null,\n \"skill_name\": \"post_sign_requests_id_cancel\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Cancel Box Sign request\",\n \"tags\": [\n \"Box Sign requests\"\n ]\n },\n \"post_sign_requests_id_resend\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Resends a signature request email to all outstanding signers.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_sign_requests_id_resend\",\n \"parameters\": [\n {\n \"description\": \"The ID of the signature request.\",\n \"in\": \"path\",\n \"name\": \"sign_request_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/sign_requests/{sign_request_id}/resend\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_sign_requests_id_resend\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Resend Box Sign request\",\n \"tags\": [\n \"Box Sign requests\"\n ]\n },\n \"post_storage_policy_assignments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a storage policy assignment for an enterprise or user.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_storage_policy_assignments\",\n \"parameters\": [],\n \"path\": \"/storage_policy_assignments\",\n \"request_body\": {\n \"properties\": {\n \"assigned_to\": {\n \"description\": \"The user or enterprise to assign the storage\\npolicy to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the user or enterprise.\",\n \"example\": \"9987987\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type to assign the policy to.\",\n \"enum\": [\n \"user\",\n \"enterprise\"\n ],\n \"example\": \"user\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\",\n \"id\"\n ],\n \"type\": \"object\"\n },\n \"storage_policy\": {\n \"description\": \"The storage policy to assign to the user or\\nenterprise.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the storage policy to assign.\",\n \"example\": \"1434325\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type to assign.\",\n \"enum\": [\n \"storage_policy\"\n ],\n \"example\": \"storage_policy\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\",\n \"id\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"storage_policy\",\n \"assigned_to\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_storage_policy_assignments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Assign storage policy\",\n \"tags\": [\n \"Standard and Zones Storage Policy Assignments\"\n ]\n },\n \"post_task_assignments\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Assigns a task to a user.\\n\\nA task can be assigned to more than one user by creating multiple\\nassignments.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_task_assignments\",\n \"parameters\": [],\n \"path\": \"/task_assignments\",\n \"request_body\": {\n \"properties\": {\n \"assign_to\": {\n \"description\": \"The user to assign the task to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the user to assign to the\\ntask.\\n\\nTo specify a user by their email\\naddress use the `login` parameter.\",\n \"example\": \"3242343\",\n \"type\": \"string\"\n },\n \"login\": {\n \"description\": \"The email address of the user to assign to the task.\\nTo specify a user by their user ID please use the `id` parameter.\",\n \"example\": \"john@example.com\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"task\": {\n \"description\": \"The task to assign to a user.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the task.\",\n \"example\": \"11446498\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of the item to assign.\",\n \"enum\": [\n \"task\"\n ],\n \"example\": \"task\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"type\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"task\",\n \"assign_to\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_task_assignments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Assign task\",\n \"tags\": [\n \"Task assignments\"\n ]\n },\n \"post_tasks\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a single task on a file. This task is not assigned to any user and\\nwill need to be assigned separately.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_tasks\",\n \"parameters\": [],\n \"path\": \"/tasks\",\n \"request_body\": {\n \"properties\": {\n \"action\": {\n \"default\": \"review\",\n \"description\": \"The action the task assignee will be prompted to do. Must be\\n\\n* `review` defines an approval task that can be approved or,\\nrejected\\n* `complete` defines a general task which can be completed.\",\n \"enum\": [\n \"review\",\n \"complete\"\n ],\n \"example\": \"review\",\n \"type\": \"string\"\n },\n \"completion_rule\": {\n \"default\": \"all_assignees\",\n \"description\": \"Defines which assignees need to complete this task before the task\\nis considered completed.\\n\\n* `all_assignees` (default) requires all assignees to review or\\napprove the task in order for it to be considered completed.\\n* `any_assignee` accepts any one assignee to review or\\napprove the task in order for it to be considered completed.\",\n \"enum\": [\n \"all_assignees\",\n \"any_assignee\"\n ],\n \"example\": \"all_assignees\",\n \"type\": \"string\"\n },\n \"due_at\": {\n \"description\": \"Defines when the task is due. Defaults to `null` if not\\nprovided.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"item\": {\n \"description\": \"The file to attach the task to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the file.\",\n \"example\": \"11446498\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The value will always be `file`.\",\n \"enum\": [\n \"file\"\n ],\n \"example\": \"file\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"message\": {\n \"default\": \"\",\n \"description\": \"An optional message to include with the task.\",\n \"example\": \"Please review\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"item\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_tasks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create task\",\n \"tags\": [\n \"Tasks\"\n ]\n },\n \"post_terms_of_service_user_statuses\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Sets the status for a terms of service for a user.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_terms_of_service_user_statuses\",\n \"parameters\": [],\n \"path\": \"/terms_of_service_user_statuses\",\n \"request_body\": {\n \"properties\": {\n \"is_accepted\": {\n \"description\": \"Whether the user has accepted the terms.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"tos\": {\n \"description\": \"The terms of service to set the status for.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of terms of service.\",\n \"example\": \"1232132\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of object.\",\n \"enum\": [\n \"terms_of_service\"\n ],\n \"example\": \"terms_of_service\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"type\"\n ],\n \"type\": \"object\"\n },\n \"user\": {\n \"description\": \"The user to set the status for.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of user.\",\n \"example\": \"3423423\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of object.\",\n \"enum\": [\n \"user\"\n ],\n \"example\": \"user\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"type\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"tos\",\n \"user\",\n \"is_accepted\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_terms_of_service_user_statuses\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create terms of service status for new user\",\n \"tags\": [\n \"Terms of service user statuses\"\n ]\n },\n \"post_terms_of_services\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a terms of service for a given enterprise\\nand type of user.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_terms_of_services\",\n \"parameters\": [],\n \"path\": \"/terms_of_services\",\n \"request_body\": {\n \"properties\": {\n \"status\": {\n \"description\": \"Whether this terms of service is active.\",\n \"enum\": [\n \"enabled\",\n \"disabled\"\n ],\n \"example\": \"enabled\",\n \"type\": \"string\"\n },\n \"text\": {\n \"description\": \"The terms of service text to display to users.\\n\\nThe text can be set to empty if the `status` is set to `disabled`.\",\n \"example\": \"By collaborating on this file you are accepting...\",\n \"type\": \"string\"\n },\n \"tos_type\": {\n \"description\": \"The type of user to set the terms of\\nservice for.\",\n \"enum\": [\n \"external\",\n \"managed\"\n ],\n \"example\": \"managed\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"status\",\n \"text\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_terms_of_services\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create terms of service\",\n \"tags\": [\n \"Terms of service\"\n ]\n },\n \"post_users\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new managed user in an enterprise. This endpoint\\nis only available to users and applications with the right\\nadmin permissions.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_users\",\n \"parameters\": [\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/users\",\n \"request_body\": {\n \"properties\": {\n \"address\": {\n \"description\": \"The user\\u2019s address.\",\n \"example\": \"900 Jefferson Ave, Redwood City, CA 94063\",\n \"maxLength\": 255,\n \"type\": \"string\"\n },\n \"can_see_managed_users\": {\n \"description\": \"Whether the user can see other enterprise users in their\\ncontact list.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"external_app_user_id\": {\n \"description\": \"An external identifier for an app user, which can be used to look\\nup the user. This can be used to tie user IDs from external\\nidentity providers to Box users.\",\n \"example\": \"my-user-1234\",\n \"type\": \"string\"\n },\n \"is_exempt_from_device_limits\": {\n \"description\": \"Whether to exempt the user from enterprise device limits.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"is_exempt_from_login_verification\": {\n \"description\": \"Whether the user must use two-factor authentication.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"is_external_collab_restricted\": {\n \"description\": \"Whether the user is allowed to collaborate with users outside\\ntheir enterprise.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"is_platform_access_only\": {\n \"description\": \"Specifies that the user is an app user.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"is_sync_enabled\": {\n \"description\": \"Whether the user can use Box Sync.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"job_title\": {\n \"description\": \"The user\\u2019s job title.\",\n \"example\": \"CEO\",\n \"maxLength\": 100,\n \"type\": \"string\"\n },\n \"language\": {\n \"description\": \"The language of the user, formatted in modified version of the\\n[ISO 639-1](https://developer.box.com/guides/api-calls/language-codes) format.\",\n \"example\": \"en\",\n \"type\": \"string\"\n },\n \"login\": {\n \"description\": \"The email address the user uses to log in\\n\\nRequired, unless `is_platform_access_only`\\nis set to `true`.\",\n \"example\": \"boss@box.com\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the user.\",\n \"example\": \"Aaron Levie\",\n \"maxLength\": 50,\n \"type\": \"string\"\n },\n \"phone\": {\n \"description\": \"The user\\u2019s phone number.\",\n \"example\": \"6509241374\",\n \"maxLength\": 100,\n \"type\": \"string\"\n },\n \"role\": {\n \"description\": \"The user\\u2019s enterprise role.\",\n \"enum\": [\n \"coadmin\",\n \"user\"\n ],\n \"example\": \"user\",\n \"type\": \"string\"\n },\n \"space_amount\": {\n \"description\": \"The user\\u2019s total available space in bytes. Set this to `-1` to\\nindicate unlimited storage.\",\n \"example\": 11345156112,\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"status\": {\n \"description\": \"The user's account status.\",\n \"enum\": [\n \"active\",\n \"inactive\",\n \"cannot_delete_edit\",\n \"cannot_delete_edit_upload\"\n ],\n \"example\": \"active\",\n \"type\": \"string\"\n },\n \"timezone\": {\n \"description\": \"The user's timezone.\",\n \"example\": \"Africa/Bujumbura\",\n \"format\": \"timezone\",\n \"type\": \"string\"\n },\n \"tracking_codes\": {\n \"description\": \"Tracking codes allow an admin to generate reports from the\\nadmin console and assign an attribute to a specific group\\nof users. This setting must be enabled for an enterprise before it\\ncan be used.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TrackingCode\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_users\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create user\",\n \"tags\": [\n \"Users\"\n ]\n },\n \"post_users_id_avatar\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds or updates a user avatar.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_users_id_avatar\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/users/{user_id}/avatar\",\n \"request_body\": {\n \"properties\": {\n \"pic\": {\n \"description\": \"The image file to be uploaded to Box.\\nAccepted file extensions are `.jpg` or `.png`.\\nThe maximum file size is 1MB.\",\n \"format\": \"binary\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"pic\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_users_id_avatar\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add or update user avatar\",\n \"tags\": [\n \"User avatars\"\n ]\n },\n \"post_users_id_email_aliases\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a new email alias to a user account..\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_users_id_email_aliases\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/users/{user_id}/email_aliases\",\n \"request_body\": {\n \"properties\": {\n \"email\": {\n \"description\": \"The email address to add to the account as an alias.\\n\\nNote: The domain of the email alias needs to be registered\\n to your enterprise.\\nSee the [domain verification guide](\\n https://support.box.com/hc/en-us/articles/4408619650579-Domain-Verification\\n ) for steps to add a new domain.\",\n \"example\": \"alias@example.com\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"email\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_users_id_email_aliases\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create email alias\",\n \"tags\": [\n \"Email aliases\"\n ]\n },\n \"post_users_terminate_sessions\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Validates the roles and permissions of the user,\\nand creates asynchronous jobs\\nto terminate the user's sessions.\\nReturns the status for the POST request.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_users_terminate_sessions\",\n \"parameters\": [],\n \"path\": \"/users/terminate_sessions\",\n \"request_body\": {\n \"properties\": {\n \"user_ids\": {\n \"description\": \"A list of user IDs.\",\n \"example\": [\n \"123456\",\n \"456789\"\n ],\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"user_logins\": {\n \"description\": \"A list of user logins.\",\n \"example\": [\n \"user@sample.com\",\n \"user2@sample.com\"\n ],\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"user_ids\",\n \"user_logins\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_users_terminate_sessions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create jobs to terminate users session\",\n \"tags\": [\n \"Session termination\"\n ]\n },\n \"post_web_links\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a web link object within a folder.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_web_links\",\n \"parameters\": [],\n \"path\": \"/web_links\",\n \"request_body\": {\n \"properties\": {\n \"description\": {\n \"description\": \"Description of the web link.\",\n \"example\": \"Cloud Content Management\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"Name of the web link. Defaults to the URL if not set.\",\n \"example\": \"Box Website\",\n \"type\": \"string\"\n },\n \"parent\": {\n \"description\": \"The parent folder to create the web link within.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent folder.\",\n \"example\": \"0\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n },\n \"url\": {\n \"description\": \"The URL that this web link links to. Must start with\\n`\\\"http://\\\"` or `\\\"https://\\\"`.\",\n \"example\": \"https://box.com\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"parent\",\n \"url\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_web_links\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create web link\",\n \"tags\": [\n \"Web links\"\n ]\n },\n \"post_web_links_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Restores a web link that has been moved to the trash.\\n\\nAn optional new parent ID can be provided to restore the web link to in case\\nthe original folder has been deleted.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_web_links_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}\",\n \"request_body\": {\n \"properties\": {\n \"name\": {\n \"description\": \"An optional new name for the web link.\",\n \"example\": \"Restored.docx\",\n \"type\": \"string\"\n },\n \"parent\": {\n \"allOf\": [\n {\n \"description\": \"The parent for this item.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent item.\",\n \"example\": \"123\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"description\": \"Specifies an optional ID of a folder to restore the web link\\nto when the original folder no longer exists.\\n\\nPlease be aware that this ID will only be used if the original\\nfolder no longer exists. Use this ID to provide a fallback\\nlocation to restore the web link to if the original location\\nhas been deleted.\"\n }\n ]\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_web_links_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Restore web link\",\n \"tags\": [\n \"Trashed web links\"\n ]\n },\n \"post_webhooks\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a webhook.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_webhooks\",\n \"parameters\": [],\n \"path\": \"/webhooks\",\n \"request_body\": {\n \"properties\": {\n \"address\": {\n \"description\": \"The URL that is notified by this webhook.\",\n \"example\": \"https://example.com/webhooks\",\n \"type\": \"string\"\n },\n \"target\": {\n \"description\": \"The item that will trigger the webhook.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the item to trigger a webhook.\",\n \"example\": \"1231232\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of item to trigger a webhook.\",\n \"enum\": [\n \"file\",\n \"folder\"\n ],\n \"example\": \"file\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"triggers\": {\n \"description\": \"An array of event names that this webhook is\\nto be triggered for.\",\n \"example\": [\n \"FILE.UPLOADED\"\n ],\n \"items\": {\n \"description\": \"The event name that triggered this webhook.\",\n \"enum\": [\n \"FILE.UPLOADED\",\n \"FILE.PREVIEWED\",\n \"FILE.DOWNLOADED\",\n \"FILE.TRASHED\",\n \"FILE.DELETED\",\n \"FILE.RESTORED\",\n \"FILE.COPIED\",\n \"FILE.MOVED\",\n \"FILE.LOCKED\",\n \"FILE.UNLOCKED\",\n \"FILE.RENAMED\",\n \"COMMENT.CREATED\",\n \"COMMENT.UPDATED\",\n \"COMMENT.DELETED\",\n \"TASK_ASSIGNMENT.CREATED\",\n \"TASK_ASSIGNMENT.UPDATED\",\n \"METADATA_INSTANCE.CREATED\",\n \"METADATA_INSTANCE.UPDATED\",\n \"METADATA_INSTANCE.DELETED\",\n \"FOLDER.CREATED\",\n \"FOLDER.RENAMED\",\n \"FOLDER.DOWNLOADED\",\n \"FOLDER.RESTORED\",\n \"FOLDER.DELETED\",\n \"FOLDER.COPIED\",\n \"FOLDER.MOVED\",\n \"FOLDER.TRASHED\",\n \"WEBHOOK.DELETED\",\n \"COLLABORATION.CREATED\",\n \"COLLABORATION.ACCEPTED\",\n \"COLLABORATION.REJECTED\",\n \"COLLABORATION.REMOVED\",\n \"COLLABORATION.UPDATED\",\n \"SHARED_LINK.DELETED\",\n \"SHARED_LINK.CREATED\",\n \"SHARED_LINK.UPDATED\",\n \"SIGN_REQUEST.COMPLETED\",\n \"SIGN_REQUEST.DECLINED\",\n \"SIGN_REQUEST.EXPIRED\",\n \"SIGN_REQUEST.SIGNER_EMAIL_BOUNCED\",\n \"SIGN_REQUEST.SIGN_SIGNER_SIGNED\",\n \"SIGN_REQUEST.SIGN_DOCUMENT_CREATED\",\n \"SIGN_REQUEST.SIGN_ERROR_FINALIZING\"\n ],\n \"example\": \"FILE.UPLOADED\",\n \"title\": \"Webhook Trigger\",\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"target\",\n \"triggers\",\n \"address\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_webhooks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create webhook\",\n \"tags\": [\n \"Webhooks\"\n ]\n },\n \"post_workflows_id_start\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Initiates a flow with a trigger type of `WORKFLOW_MANUAL_START`.\\n\\nYou application must be authorized to use the `Manage Box Relay` application\\nscope within the developer console.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_workflows_id_start\",\n \"parameters\": [\n {\n \"description\": \"The ID of the workflow.\",\n \"in\": \"path\",\n \"name\": \"workflow_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/workflows/{workflow_id}/start\",\n \"request_body\": {\n \"properties\": {\n \"files\": {\n \"description\": \"The array of files for which the workflow should start. All files\\nmust be in the workflow's configured folder.\",\n \"items\": {\n \"description\": \"A file the workflow should start for.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The id of the file.\",\n \"example\": \"12345678\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of the file object.\",\n \"enum\": [\n \"file\"\n ],\n \"example\": \"file\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"flow\": {\n \"description\": \"The flow that will be triggered.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The id of the flow.\",\n \"example\": \"123456789\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of the flow object.\",\n \"example\": \"flow\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"folder\": {\n \"description\": \"The folder object for which the workflow is configured.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The id of the folder.\",\n \"example\": \"87654321\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of the folder object.\",\n \"enum\": [\n \"folder\"\n ],\n \"example\": \"folder\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"outcomes\": {\n \"description\": \"A configurable outcome the workflow should complete.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Outcome\"\n },\n \"type\": \"array\"\n },\n \"type\": {\n \"description\": \"The type of the parameters object.\",\n \"enum\": [\n \"workflow_parameters\"\n ],\n \"example\": \"workflow_parameters\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"flow\",\n \"files\",\n \"folder\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"post_workflows_id_start\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Starts workflow based on request body\",\n \"tags\": [\n \"Workflows\"\n ]\n },\n \"post_zip_downloads\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a request to download multiple files and folders as a single `zip`\\narchive file. This API does not return the archive but instead performs all\\nthe checks to ensure that the user has access to all the items, and then\\nreturns a `download_url` and a `status_url` that can be used to download the\\narchive.\\n\\nThe limit for an archive is either the Account's upload limit or\\n10,000 files, whichever is met first.\\n\\n**Note**: Downloading a large file can be\\naffected by various\\nfactors such as distance, network latency,\\nbandwidth, and congestion, as well as packet loss\\nratio and current server load.\\nFor these reasons we recommend that a maximum ZIP archive\\ntotal size does not exceed 25GB.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_zip_downloads\",\n \"parameters\": [],\n \"path\": \"/zip_downloads\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/ZipDownloadRequest\"\n },\n \"security\": null,\n \"skill_name\": \"post_zip_downloads\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Create zip download\",\n \"tags\": [\n \"Zip Downloads\"\n ]\n },\n \"put_ai_agents_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an AI agent.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_ai_agents_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the agent to update.\",\n \"in\": \"path\",\n \"name\": \"agent_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/ai_agents/{agent_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateAiAgent\"\n },\n \"security\": null,\n \"skill_name\": \"put_ai_agents_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update AI agent\",\n \"tags\": [\n \"AI Studio\"\n ]\n },\n \"put_collaborations_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a collaboration.\\nCan be used to change the owner of an item, or to\\naccept collaboration invites. In case of accepting collaboration invite, role is not required.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_collaborations_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the collaboration.\",\n \"in\": \"path\",\n \"name\": \"collaboration_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/collaborations/{collaboration_id}\",\n \"request_body\": {\n \"properties\": {\n \"can_view_path\": {\n \"description\": \"Determines if the invited users can see the entire parent path to\\nthe associated folder. The user will not gain privileges in any\\nparent folder and therefore can not see content the user is not\\ncollaborated on.\\n\\nBe aware that this meaningfully increases the time required to load the\\ninvitee's **All Files** page. We recommend you limit the number of\\ncollaborations with `can_view_path` enabled to 1,000 per user.\\n\\nOnly an owner or co-owners can invite collaborators with a `can_view_path` of\\n`true`. Only an owner can update `can_view_path` on existing collaborations.\\n\\n`can_view_path` can only be used for folder collaborations.\\n\\nWhen you delete a folder with `can_view_path=true`, collaborators may still see the parent path. \\nFor instructions on how to remove this, see \\n[Even though a folder invited via can_view_path is deleted, the path remains displayed](https://support.box.com/hc/en-us/articles/37472814319891-Even-though-a-folder-invited-via-can-view-path-is-deleted-the-path-remains-displayed).\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"expires_at\": {\n \"description\": \"Update the expiration date for the collaboration. At this date,\\nthe collaboration will be automatically removed from the item.\\n\\nThis feature will only work if the **Automatically remove invited\\ncollaborators: Allow folder owners to extend the expiry date**\\nsetting has been enabled in the **Enterprise Settings**\\nof the **Admin Console**. When the setting is not enabled,\\ncollaborations can not have an expiry date and a value for this\\nfield will be result in an error.\\n\\nAdditionally, a collaboration can only be given an\\nexpiration if it was created after the **Automatically remove\\ninvited collaborator** setting was enabled.\",\n \"example\": \"2019-08-29T23:59:00-07:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"role\": {\n \"description\": \"The level of access granted.\",\n \"enum\": [\n \"editor\",\n \"viewer\",\n \"previewer\",\n \"uploader\",\n \"previewer uploader\",\n \"viewer uploader\",\n \"co-owner\",\n \"owner\"\n ],\n \"example\": \"editor\",\n \"type\": \"string\"\n },\n \"status\": {\n \"description\": \"Set the status of a `pending` collaboration invitation,\\neffectively accepting, or rejecting the invite.\",\n \"enum\": [\n \"pending\",\n \"accepted\",\n \"rejected\"\n ],\n \"example\": \"accepted\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_collaborations_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update collaboration\",\n \"tags\": [\n \"Collaborations\"\n ]\n },\n \"put_comments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Update the message of a comment.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_comments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the comment.\",\n \"in\": \"path\",\n \"name\": \"comment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/comments/{comment_id}\",\n \"request_body\": {\n \"properties\": {\n \"message\": {\n \"description\": \"The text of the comment to update.\",\n \"example\": \"Review completed!\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_comments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update comment\",\n \"tags\": [\n \"Comments\"\n ]\n },\n \"put_file_requests_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a file request. This can be used to activate or\\ndeactivate a file request.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_file_requests_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a file request.\\n\\nThe ID for any file request can be determined\\nby visiting a file request builder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/filerequest/123`\\nthe `file_request_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_request_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Ensures this item hasn't recently changed before\\nmaking changes.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `412 Precondition Failed` if it\\nhas changed since.\",\n \"in\": \"header\",\n \"name\": \"if-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/file_requests/{file_request_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/FileRequestUpdateRequest\"\n },\n \"security\": null,\n \"skill_name\": \"put_file_requests_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update file request\",\n \"tags\": [\n \"File requests\"\n ]\n },\n \"put_files_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a file. This can be used to rename or move a file,\\ncreate a shared link, or lock a file.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Ensures this item hasn't recently changed before\\nmaking changes.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `412 Precondition Failed` if it\\nhas changed since.\",\n \"in\": \"header\",\n \"name\": \"if-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}\",\n \"request_body\": {\n \"properties\": {\n \"collections\": {\n \"description\": \"An array of collections to make this file\\na member of. Currently\\nwe only support the `favorites` collection.\\n\\nTo get the ID for a collection, use the\\n[List all collections][1] endpoint.\\n\\nPassing an empty array `[]` or `null` will remove\\nthe file from all collections.\\n\\n[1]: https://developer.box.com/reference/get-collections\",\n \"items\": {\n \"description\": \"The bare basic reference for an object.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The unique identifier for this object.\",\n \"example\": \"11446498\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type for this object.\",\n \"example\": \"file\",\n \"type\": \"string\"\n }\n },\n \"title\": \"Reference\",\n \"type\": \"object\"\n },\n \"nullable\": true,\n \"type\": \"array\"\n },\n \"description\": {\n \"description\": \"The description for a file. This can be seen in the right-hand sidebar panel\\nwhen viewing a file in the Box web app. Additionally, this index is used in\\nthe search index of the file, allowing users to find the file by the content\\nin the description.\",\n \"example\": \"The latest reports. Automatically updated\",\n \"maxLength\": 256,\n \"type\": \"string\"\n },\n \"disposition_at\": {\n \"description\": \"The retention expiration timestamp for the given file. This\\ndate cannot be shortened once set on a file.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"lock\": {\n \"description\": \"Defines a lock on an item. This prevents the item from being\\nmoved, renamed, or otherwise changed by anyone other than the user\\nwho created the lock.\\n\\nSet this to `null` to remove the lock.\",\n \"nullable\": true,\n \"properties\": {\n \"access\": {\n \"description\": \"The type of this object.\",\n \"enum\": [\n \"lock\"\n ],\n \"example\": \"lock\",\n \"type\": \"string\"\n },\n \"expires_at\": {\n \"description\": \"Defines the time at which the lock expires.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"is_download_prevented\": {\n \"description\": \"Defines if the file can be downloaded while it is locked.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"An optional different name for the file. This can be used to\\nrename the file.\\n\\nFile names must be unique within their parent folder. The name check is case-insensitive, so a file\\nnamed `New File` cannot be created in a parent folder that already contains a folder named `new file`.\",\n \"example\": \"NewFile.txt\",\n \"type\": \"string\"\n },\n \"parent\": {\n \"allOf\": [\n {\n \"description\": \"The parent for this item.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent item.\",\n \"example\": \"123\",\n \"type\": \"string\"\n },\n \"user_id\": {\n \"description\": \"The input for `user_id` is optional. Moving to non-root folder is not allowed when `user_id` is present. Parent folder id should be zero when `user_id` is provided.\",\n \"example\": \"12346930\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"description\": \"An optional new parent folder for the file. This can be used\\nto move the file to a new folder.\"\n }\n ]\n },\n \"permissions\": {\n \"description\": \"Defines who can download a file.\",\n \"properties\": {\n \"can_download\": {\n \"description\": \"Defines who is allowed to download this file. The possible\\nvalues are either `open` for everyone or `company` for\\nthe other members of the user's enterprise.\\n\\nThis setting overrides the download permissions that are\\nnormally part of the `role` of a collaboration. When set to\\n`company`, this essentially removes the download option for\\nexternal users with `viewer` or `editor` a roles.\",\n \"enum\": [\n \"open\",\n \"company\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"shared_link\": {\n \"allOf\": [\n {\n \"description\": \"Defines a shared link for an item. Set this to `null` to remove\\nthe shared link.\",\n \"properties\": {\n \"access\": {\n \"description\": \"The level of access for the shared link. This can be\\nrestricted to anyone with the link (`open`), only people\\nwithin the company (`company`) and only those who\\nhave been invited to the folder (`collaborators`).\\n\\nIf not set, this field defaults to the access level specified\\nby the enterprise admin. To create a shared link with this\\ndefault setting pass the `shared_link` object with\\nno `access` field, for example `{ \\\"shared_link\\\": {} }`.\\n\\nThe `company` access level is only available to paid\\naccounts.\",\n \"enum\": [\n \"open\",\n \"company\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n },\n \"password\": {\n \"description\": \"The password required to access the shared link. Set the\\npassword to `null` to remove it.\\nPasswords must now be at least eight characters\\nlong and include a number, upper case letter, or\\na non-numeric or non-alphabetic character.\\nA password can only be set when `access` is set to `open`.\",\n \"example\": \"do-n8t-use-this-Password\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"permissions\": {\n \"properties\": {\n \"can_download\": {\n \"description\": \"If the shared link allows for downloading of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n },\n \"unshared_at\": {\n \"description\": \"The timestamp at which this shared link will\\nexpire. This field can only be set by\\nusers with paid accounts.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"vanity_name\": {\n \"description\": \"Defines a custom vanity name to use in the shared link URL,\\nfor example `https://app.box.com/v/my-shared-link`.\\n\\nCustom URLs should not be used when sharing sensitive content\\nas vanity URLs are a lot easier to guess than regular shared links.\",\n \"example\": \"my-shared-link\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"description\": \"Defines a shared link for a file. Set this to `null` to remove\\nthe shared link.\"\n }\n ],\n \"nullable\": true\n },\n \"tags\": {\n \"description\": \"The tags for this item. These tags are shown in\\nthe Box web app and mobile apps next to an item.\\n\\nTo add or remove a tag, retrieve the item's current tags,\\nmodify them, and then update this field.\\n\\nThere is a limit of 100 tags per item, and 10,000\\nunique tags per enterprise.\",\n \"example\": [\n \"approved\"\n ],\n \"items\": {\n \"type\": \"string\"\n },\n \"maxItems\": 100,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update file\",\n \"tags\": [\n \"Files\"\n ]\n },\n \"put_files_id_add_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a shared link to a file.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_id_add_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}#add_shared_link\",\n \"request_body\": {\n \"properties\": {\n \"shared_link\": {\n \"description\": \"The settings for the shared link to create on the file.\\nUse an empty object (`{}`) to use the default settings for shared\\nlinks.\",\n \"properties\": {\n \"access\": {\n \"description\": \"The level of access for the shared link. This can be\\nrestricted to anyone with the link (`open`), only people\\nwithin the company (`company`) and only those who\\nhave been invited to the file (`collaborators`).\\n\\nIf not set, this field defaults to the access level specified\\nby the enterprise admin. To create a shared link with this\\ndefault setting pass the `shared_link` object with\\nno `access` field, for example `{ \\\"shared_link\\\": {} }`.\\n\\nThe `company` access level is only available to paid\\naccounts.\",\n \"enum\": [\n \"open\",\n \"company\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n },\n \"password\": {\n \"description\": \"The password required to access the shared link. Set the\\npassword to `null` to remove it.\\nPasswords must now be at least eight characters\\nlong and include a number, upper case letter, or\\na non-numeric or non-alphabetic character.\\nA password can only be set when `access` is set to `open`.\",\n \"example\": \"do-n8t-use-this-Password\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"permissions\": {\n \"properties\": {\n \"can_download\": {\n \"description\": \"If the shared link allows for downloading of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_edit\": {\n \"description\": \"If the shared link allows for editing of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\\nThis value can only be `true` is `can_download` is\\nalso `true`.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_preview\": {\n \"description\": \"If the shared link allows for previewing of files.\\nThis value is always `true`. For shared links on folders\\nthis also applies to any items in the folder.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n },\n \"unshared_at\": {\n \"description\": \"The timestamp at which this shared link will\\nexpire. This field can only be set by\\nusers with paid accounts. The value must be greater than the\\ncurrent date and time.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"vanity_name\": {\n \"description\": \"Defines a custom vanity name to use in the shared link URL,\\nfor example `https://app.box.com/v/my-shared-link`.\\n\\nCustom URLs should not be used when sharing sensitive content\\nas vanity URLs are a lot easier to guess than regular shared\\nlinks.\",\n \"example\": \"my-shared-link\",\n \"minLength\": 12,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_id_add_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add shared link to file\",\n \"tags\": [\n \"Shared links (Files)\"\n ]\n },\n \"put_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a classification on a file.\\n\\nThe classification can only be updated if a classification has already been\\napplied to the file before. When editing classifications, only values are\\ndefined for the enterprise will be accepted.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo\",\n \"request_body\": {\n \"description\": \"A list containing the one change to make, to\\nupdate the classification label.\",\n \"items\": {\n \"description\": \"The operation to perform on the classification\\nmetadata template instance. In this case, it use\\nused to replace the value stored for the\\n`Box__Security__Classification__Key` field with a new\\nvalue.\",\n \"properties\": {\n \"op\": {\n \"description\": \"The value will always be `replace`.\",\n \"enum\": [\n \"replace\"\n ],\n \"example\": \"replace\",\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"Defines classifications\\navailable in the enterprise.\",\n \"enum\": [\n \"/Box__Security__Classification__Key\"\n ],\n \"example\": \"/Box__Security__Classification__Key\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The name of the classification to apply to this file.\\n\\nTo list the available classifications in an enterprise,\\nuse the classification API to retrieve the\\n[classification template](https://developer.box.com/reference/get-metadata-templates-enterprise-securityClassification-6VMVochwUWo-schema)\\nwhich lists all available classification keys.\",\n \"example\": \"Sensitive\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"op\",\n \"path\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"required\": [\n \"items\"\n ],\n \"type\": \"array\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update classification on file\",\n \"tags\": [\n \"Classifications on files\"\n ]\n },\n \"put_files_id_metadata_global_box_skills_cards\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates one or more Box Skills metadata cards to a file.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_id_metadata_global_box_skills_cards\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/global/boxSkillsCards\",\n \"request_body\": {\n \"description\": \"A [JSON-Patch](https://tools.ietf.org/html/rfc6902)\\nspecification for the changes to make to the metadata\\ntemplate.\\n\\nThe changes are represented as a JSON array of\\noperation objects.\",\n \"items\": {\n \"description\": \"An operation that replaces an existing card.\",\n \"properties\": {\n \"op\": {\n \"description\": \"The value will always be `replace`.\",\n \"enum\": [\n \"replace\"\n ],\n \"example\": \"replace\",\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The JSON Path that represents the card to replace. In most cases\\nthis will be in the format `/cards/{index}` where `index` is the\\nzero-indexed position of the card in the list of cards.\",\n \"example\": \"/cards/0\",\n \"type\": \"string\"\n },\n \"value\": {\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/SkillCard\"\n },\n {\n \"description\": \"The card to insert into the list of cards at the\\nposition defined by `path`.\"\n }\n ]\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_id_metadata_global_box_skills_cards\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update Box Skill cards on file\",\n \"tags\": [\n \"Skills\"\n ]\n },\n \"put_files_id_metadata_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a piece of metadata on a file.\\n\\nThe metadata instance can only be updated if the template has already been\\napplied to the file before. When editing metadata, only values that match\\nthe metadata template schema will be accepted.\\n\\nThe update is applied atomically. If any errors occur during the\\napplication of the operations, the metadata instance will not be changed.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_id_metadata_id_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/metadata/{scope}/{template_key}\",\n \"request_body\": {\n \"description\": \"A [JSON-Patch](https://tools.ietf.org/html/rfc6902)\\nspecification for the changes to make to the metadata\\ninstance.\\n\\nThe changes are represented as a JSON array of\\noperation objects.\",\n \"items\": {\n \"description\": \"A [JSON-Patch](https://tools.ietf.org/html/rfc6902) operation for a\\nchange to make to the metadata instance.\",\n \"properties\": {\n \"from\": {\n \"description\": \"The location in the metadata JSON object to move or copy a value\\nfrom. Required for `move` or `copy` operations and must be in the\\nformat of a [JSON-Pointer](https://tools.ietf.org/html/rfc6901).\",\n \"example\": \"/nextState\",\n \"type\": \"string\"\n },\n \"op\": {\n \"description\": \"The type of change to perform on the template. Some\\nof these are hazardous as they will change existing templates.\",\n \"enum\": [\n \"add\",\n \"replace\",\n \"remove\",\n \"test\",\n \"move\",\n \"copy\"\n ],\n \"example\": \"add\",\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The location in the metadata JSON object\\nto apply the changes to, in the format of a\\n[JSON-Pointer](https://tools.ietf.org/html/rfc6901).\\n\\nThe path must always be prefixed with a `/` to represent the root\\nof the template. The characters `~` and `/` are reserved\\ncharacters and must be escaped in the key.\",\n \"example\": \"/currentState\",\n \"type\": \"string\"\n },\n \"value\": {\n \"$ref\": \"#/components/schemas/MetadataInstanceValue\"\n }\n },\n \"title\": \"A metadata instance update operation\",\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_id_metadata_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update metadata instance on file\",\n \"tags\": [\n \"Metadata instances (Files)\"\n ]\n },\n \"put_files_id_remove_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes a shared link from a file.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_id_remove_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}#remove_shared_link\",\n \"request_body\": {\n \"properties\": {\n \"shared_link\": {\n \"description\": \"By setting this value to `null`, the shared link\\nis removed from the file.\",\n \"example\": null,\n \"nullable\": true,\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_id_remove_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove shared link from file\",\n \"tags\": [\n \"Shared links (Files)\"\n ]\n },\n \"put_files_id_update_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a shared link on a file.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_id_update_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}#update_shared_link\",\n \"request_body\": {\n \"properties\": {\n \"shared_link\": {\n \"description\": \"The settings for the shared link to update.\",\n \"properties\": {\n \"access\": {\n \"description\": \"The level of access for the shared link. This can be\\nrestricted to anyone with the link (`open`), only people\\nwithin the company (`company`) and only those who\\nhave been invited to the folder (`collaborators`).\\n\\nIf not set, this field defaults to the access level specified\\nby the enterprise admin. To create a shared link with this\\ndefault setting pass the `shared_link` object with\\nno `access` field, for example `{ \\\"shared_link\\\": {} }`.\\n\\nThe `company` access level is only available to paid\\naccounts.\",\n \"enum\": [\n \"open\",\n \"company\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n },\n \"password\": {\n \"description\": \"The password required to access the shared link. Set the\\npassword to `null` to remove it.\\nPasswords must now be at least eight characters\\nlong and include a number, upper case letter, or\\na non-numeric or non-alphabetic character.\\nA password can only be set when `access` is set to `open`.\",\n \"example\": \"do-n8t-use-this-Password\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"permissions\": {\n \"properties\": {\n \"can_download\": {\n \"description\": \"If the shared link allows for downloading of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_edit\": {\n \"description\": \"If the shared link allows for editing of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\\nThis value can only be `true` is `can_download` is\\nalso `true`.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_preview\": {\n \"description\": \"If the shared link allows for previewing of files.\\nThis value is always `true`. For shared links on folders\\nthis also applies to any items in the folder.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n },\n \"unshared_at\": {\n \"description\": \"The timestamp at which this shared link will\\nexpire. This field can only be set by\\nusers with paid accounts. The value must be greater than the\\ncurrent date and time.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"vanity_name\": {\n \"description\": \"Defines a custom vanity name to use in the shared link URL,\\nfor example `https://app.box.com/v/my-shared-link`.\\n\\nCustom URLs should not be used when sharing sensitive content\\nas vanity URLs are a lot easier to guess than regular shared\\nlinks.\",\n \"example\": \"my-shared-link\",\n \"minLength\": 12,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_id_update_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update shared link on file\",\n \"tags\": [\n \"Shared links (Files)\"\n ]\n },\n \"put_files_id_versions_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Restores a specific version of a file after it was deleted.\\nDon't use this endpoint to restore Box Notes,\\nas it works with file formats such as PDF, DOC,\\nPPTX or similar.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_id_versions_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the file version.\",\n \"in\": \"path\",\n \"name\": \"file_version_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/versions/{file_version_id}\",\n \"request_body\": {\n \"description\": \"The file version to be\\nrestored.\",\n \"properties\": {\n \"trashed_at\": {\n \"description\": \"Set this to `null` to clear\\nthe date and restore the file.\",\n \"example\": null,\n \"nullable\": true,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_id_versions_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Restore file version\",\n \"tags\": [\n \"File versions\"\n ]\n },\n \"put_files_id_watermark\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Applies or update a watermark on a file.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_id_watermark\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represents a file.\\n\\nThe ID for any file can be determined\\nby visiting a file in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/files/123`\\nthe `file_id` is `123`.\",\n \"in\": \"path\",\n \"name\": \"file_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/{file_id}/watermark\",\n \"request_body\": {\n \"properties\": {\n \"watermark\": {\n \"description\": \"The watermark to imprint on the file.\",\n \"properties\": {\n \"imprint\": {\n \"description\": \"The type of watermark to apply.\\n\\nCurrently only supports one option.\",\n \"enum\": [\n \"default\"\n ],\n \"example\": \"default\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"imprint\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"watermark\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_id_watermark\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Apply watermark to file\",\n \"tags\": [\n \"Watermarks (Files)\"\n ]\n },\n \"put_files_upload_sessions_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Uploads a chunk of a file for an upload session.\\n\\nThe actual endpoint URL is returned by the [`Create upload session`](https://developer.box.com/reference/post-files-upload-sessions)\\nand [`Get upload session`](https://developer.box.com/reference/get-files-upload-sessions-id) endpoints.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_files_upload_sessions_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the upload session.\",\n \"in\": \"path\",\n \"name\": \"upload_session_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The [RFC3230][1] message digest of the chunk uploaded.\\n\\nOnly SHA1 is supported. The SHA1 digest must be base64\\nencoded. The format of this header is as\\n`sha=BASE64_ENCODED_DIGEST`.\\n\\nTo get the value for the `SHA` digest, use the\\nopenSSL command to encode the file part:\\n`openssl sha1 -binary | base64`.\\n\\n[1]: https://tools.ietf.org/html/rfc3230\",\n \"in\": \"header\",\n \"name\": \"digest\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The byte range of the chunk.\\n\\nMust not overlap with the range of a part already\\nuploaded this session. Each part\\u2019s size must be\\nexactly equal in size to the part size specified\\nin the upload session that you created.\\nOne exception is the last part of the file, as this can be smaller.\\n\\nWhen providing the value for `content-range`, remember that:\\n\\n* The lower bound of each part's byte range\\n must be a multiple of the part size.\\n* The higher bound must be a multiple of the part size - 1.\",\n \"in\": \"header\",\n \"name\": \"content-range\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/files/upload_sessions/{upload_session_id}\",\n \"request_body\": {\n \"description\": \"The binary content of the file.\",\n \"format\": \"binary\",\n \"type\": \"string\"\n },\n \"security\": null,\n \"skill_name\": \"put_files_upload_sessions_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Upload part of file\",\n \"tags\": [\n \"Uploads (Chunked)\"\n ]\n },\n \"put_folders_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a folder. This can be also be used to move the folder,\\ncreate shared links, update collaborations, and more.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_folders_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Ensures this item hasn't recently changed before\\nmaking changes.\\n\\nPass in the item's last observed `etag` value\\ninto this header and the endpoint will fail\\nwith a `412 Precondition Failed` if it\\nhas changed since.\",\n \"in\": \"header\",\n \"name\": \"if-match\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}\",\n \"request_body\": {\n \"properties\": {\n \"can_non_owners_invite\": {\n \"description\": \"Specifies if users who are not the owner\\nof the folder can invite new collaborators to the folder.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_non_owners_view_collaborators\": {\n \"description\": \"Restricts collaborators who are not the owner of\\nthis folder from viewing other collaborations on\\nthis folder.\\n\\nIt also restricts non-owners from inviting new\\ncollaborators.\\n\\nWhen setting this field to `false`, it is required\\nto also set `can_non_owners_invite_collaborators` to\\n`false` if it has not already been set.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"collections\": {\n \"description\": \"An array of collections to make this folder\\na member of. Currently\\nwe only support the `favorites` collection.\\n\\nTo get the ID for a collection, use the\\n[List all collections][1] endpoint.\\n\\nPassing an empty array `[]` or `null` will remove\\nthe folder from all collections.\\n\\n[1]: https://developer.box.com/reference/get-collections\",\n \"items\": {\n \"description\": \"The bare basic reference for an object.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The unique identifier for this object.\",\n \"example\": \"11446498\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type for this object.\",\n \"example\": \"file\",\n \"type\": \"string\"\n }\n },\n \"title\": \"Reference\",\n \"type\": \"object\"\n },\n \"nullable\": true,\n \"type\": \"array\"\n },\n \"description\": {\n \"description\": \"The optional description of this folder.\",\n \"example\": \"Legal contracts for the new ACME deal\",\n \"maxLength\": 256,\n \"nullable\": false,\n \"type\": \"string\"\n },\n \"folder_upload_email\": {\n \"allOf\": [\n {\n \"description\": \"The Write Folder Upload Email object.\",\n \"properties\": {\n \"access\": {\n \"description\": \"When this parameter has been set, users can email files\\nto the email address that has been automatically\\ncreated for this folder.\\n\\nTo create an email address, set this property either when\\ncreating or updating the folder.\\n\\nWhen set to `collaborators`, only emails from registered email\\naddresses for collaborators will be accepted. This includes\\nany email aliases a user might have registered.\\n\\nWhen set to `open` it will accept emails from any email\\naddress.\",\n \"enum\": [\n \"open\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n \"title\": \"Folder upload email\",\n \"type\": \"object\"\n },\n {\n \"description\": \"Setting this object enables the upload email address.\\n\\nThis email address can be used by users to directly\\nupload files directly to the folder via email.\\n\\nSetting the value to `null` will disable the email address.\"\n }\n ],\n \"nullable\": true\n },\n \"is_collaboration_restricted_to_enterprise\": {\n \"description\": \"Specifies if new invites to this folder are restricted to users\\nwithin the enterprise. This does not affect existing\\ncollaborations.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"name\": {\n \"description\": \"The optional new name for this folder.\\n\\nThe following restrictions to folder names apply: names containing\\nnon-printable ASCII characters, forward and backward slashes\\n(`/`, `\\\\`), names with trailing spaces, and names `.` and `..` are\\nnot allowed.\\n\\nFolder names must be unique within their parent folder. The name check is case-insensitive,\\nso a folder named `New Folder` cannot be created in a parent folder that already contains\\na folder named `new folder`.\",\n \"example\": \"New Folder\",\n \"type\": \"string\"\n },\n \"parent\": {\n \"allOf\": [\n {\n \"description\": \"The parent for this item.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent item.\",\n \"example\": \"123\",\n \"type\": \"string\"\n },\n \"user_id\": {\n \"description\": \"The input for `user_id` is optional. Moving to non-root folder is not allowed when `user_id` is present. Parent folder id should be zero when `user_id` is provided.\",\n \"example\": \"12346930\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"description\": \"The parent folder for this folder. Use this to move\\nthe folder or to restore it out of the trash.\"\n }\n ]\n },\n \"shared_link\": {\n \"allOf\": [\n {\n \"description\": \"Defines a shared link for an item. Set this to `null` to remove\\nthe shared link.\",\n \"properties\": {\n \"access\": {\n \"description\": \"The level of access for the shared link. This can be\\nrestricted to anyone with the link (`open`), only people\\nwithin the company (`company`) and only those who\\nhave been invited to the folder (`collaborators`).\\n\\nIf not set, this field defaults to the access level specified\\nby the enterprise admin. To create a shared link with this\\ndefault setting pass the `shared_link` object with\\nno `access` field, for example `{ \\\"shared_link\\\": {} }`.\\n\\nThe `company` access level is only available to paid\\naccounts.\",\n \"enum\": [\n \"open\",\n \"company\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n },\n \"password\": {\n \"description\": \"The password required to access the shared link. Set the\\npassword to `null` to remove it.\\nPasswords must now be at least eight characters\\nlong and include a number, upper case letter, or\\na non-numeric or non-alphabetic character.\\nA password can only be set when `access` is set to `open`.\",\n \"example\": \"do-n8t-use-this-Password\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"permissions\": {\n \"properties\": {\n \"can_download\": {\n \"description\": \"If the shared link allows for downloading of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n },\n \"unshared_at\": {\n \"description\": \"The timestamp at which this shared link will\\nexpire. This field can only be set by\\nusers with paid accounts.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"vanity_name\": {\n \"description\": \"Defines a custom vanity name to use in the shared link URL,\\nfor example `https://app.box.com/v/my-shared-link`.\\n\\nCustom URLs should not be used when sharing sensitive content\\nas vanity URLs are a lot easier to guess than regular shared links.\",\n \"example\": \"my-shared-link\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"description\": \"Enables the creation of a shared link for a folder.\"\n }\n ]\n },\n \"sync_state\": {\n \"description\": \"Specifies whether a folder should be synced to a\\nuser's device or not. This is used by Box Sync\\n(discontinued) and is not used by Box Drive.\",\n \"enum\": [\n \"synced\",\n \"not_synced\",\n \"partially_synced\"\n ],\n \"example\": \"synced\",\n \"nullable\": false,\n \"type\": \"string\"\n },\n \"tags\": {\n \"description\": \"The tags for this item. These tags are shown in\\nthe Box web app and mobile apps next to an item.\\n\\nTo add or remove a tag, retrieve the item's current tags,\\nmodify them, and then update this field.\\n\\nThere is a limit of 100 tags per item, and 10,000\\nunique tags per enterprise.\",\n \"example\": [\n \"approved\"\n ],\n \"items\": {\n \"type\": \"string\"\n },\n \"maxItems\": 100,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_folders_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update folder\",\n \"tags\": [\n \"Folders\"\n ]\n },\n \"put_folders_id_add_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a shared link to a folder.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_folders_id_add_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}#add_shared_link\",\n \"request_body\": {\n \"properties\": {\n \"shared_link\": {\n \"description\": \"The settings for the shared link to create on the folder.\\n\\nUse an empty object (`{}`) to use the default settings for shared\\nlinks.\",\n \"properties\": {\n \"access\": {\n \"description\": \"The level of access for the shared link. This can be\\nrestricted to anyone with the link (`open`), only people\\nwithin the company (`company`) and only those who\\nhave been invited to the folder (`collaborators`).\\n\\nIf not set, this field defaults to the access level specified\\nby the enterprise admin. To create a shared link with this\\ndefault setting pass the `shared_link` object with\\nno `access` field, for example `{ \\\"shared_link\\\": {} }`.\\n\\nThe `company` access level is only available to paid\\naccounts.\",\n \"enum\": [\n \"open\",\n \"company\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n },\n \"password\": {\n \"description\": \"The password required to access the shared link. Set the\\npassword to `null` to remove it.\\nPasswords must now be at least eight characters\\nlong and include a number, upper case letter, or\\na non-numeric or non-alphabetic character.\\nA password can only be set when `access` is set to `open`.\",\n \"example\": \"do-n8t-use-this-Password\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"permissions\": {\n \"properties\": {\n \"can_download\": {\n \"description\": \"If the shared link allows for downloading of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_edit\": {\n \"description\": \"This value can only be `false` for items\\nwith a `type` of `folder`.\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"can_preview\": {\n \"description\": \"If the shared link allows for previewing of files.\\nThis value is always `true`. For shared links on folders\\nthis also applies to any items in the folder.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n },\n \"unshared_at\": {\n \"description\": \"The timestamp at which this shared link will\\nexpire. This field can only be set by\\nusers with paid accounts. The value must be greater than the\\ncurrent date and time.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"vanity_name\": {\n \"description\": \"Defines a custom vanity name to use in the shared link URL,\\nfor example `https://app.box.com/v/my-shared-link`.\\n\\nCustom URLs should not be used when sharing sensitive content\\nas vanity URLs are a lot easier to guess than regular shared\\nlinks.\",\n \"example\": \"my-shared-link\",\n \"minLength\": 12,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_folders_id_add_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add shared link to folder\",\n \"tags\": [\n \"Shared links (Folders)\"\n ]\n },\n \"put_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a classification on a folder.\\n\\nThe classification can only be updated if a classification has already been\\napplied to the folder before. When editing classifications, only values are\\ndefined for the enterprise will be accepted.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/metadata/enterprise/securityClassification-6VMVochwUWo\",\n \"request_body\": {\n \"description\": \"A list containing the one change to make, to\\nupdate the classification label.\",\n \"items\": {\n \"description\": \"The operation to perform on the classification\\nmetadata template instance. In this case, it use\\nused to replace the value stored for the\\n`Box__Security__Classification__Key` field with a new\\nvalue.\",\n \"properties\": {\n \"op\": {\n \"description\": \"The value will always be `replace`.\",\n \"enum\": [\n \"replace\"\n ],\n \"example\": \"replace\",\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"Defines classifications\\navailable in the enterprise.\",\n \"enum\": [\n \"/Box__Security__Classification__Key\"\n ],\n \"example\": \"/Box__Security__Classification__Key\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The name of the classification to apply to this folder.\\n\\nTo list the available classifications in an enterprise,\\nuse the classification API to retrieve the\\n[classification template](https://developer.box.com/reference/get-metadata-templates-enterprise-securityClassification-6VMVochwUWo-schema)\\nwhich lists all available classification keys.\",\n \"example\": \"Sensitive\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"op\",\n \"path\",\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"required\": [\n \"items\"\n ],\n \"type\": \"array\"\n },\n \"security\": null,\n \"skill_name\": \"put_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update classification on folder\",\n \"tags\": [\n \"Classifications on folders\"\n ]\n },\n \"put_folders_id_metadata_id_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a piece of metadata on a folder.\\n\\nThe metadata instance can only be updated if the template has already been\\napplied to the folder before. When editing metadata, only values that match\\nthe metadata template schema will be accepted.\\n\\nThe update is applied atomically. If any errors occur during the\\napplication of the operations, the metadata instance will not be changed.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_folders_id_metadata_id_id\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/metadata/{scope}/{template_key}\",\n \"request_body\": {\n \"description\": \"A [JSON-Patch](https://tools.ietf.org/html/rfc6902)\\nspecification for the changes to make to the metadata\\ninstance.\\n\\nThe changes are represented as a JSON array of\\noperation objects.\",\n \"items\": {\n \"description\": \"A [JSON-Patch](https://tools.ietf.org/html/rfc6902) operation for a\\nchange to make to the metadata instance.\",\n \"properties\": {\n \"from\": {\n \"description\": \"The location in the metadata JSON object to move or copy a value\\nfrom. Required for `move` or `copy` operations and must be in the\\nformat of a [JSON-Pointer](https://tools.ietf.org/html/rfc6901).\",\n \"example\": \"/nextState\",\n \"type\": \"string\"\n },\n \"op\": {\n \"description\": \"The type of change to perform on the template. Some\\nof these are hazardous as they will change existing templates.\",\n \"enum\": [\n \"add\",\n \"replace\",\n \"remove\",\n \"test\",\n \"move\",\n \"copy\"\n ],\n \"example\": \"add\",\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The location in the metadata JSON object\\nto apply the changes to, in the format of a\\n[JSON-Pointer](https://tools.ietf.org/html/rfc6901).\\n\\nThe path must always be prefixed with a `/` to represent the root\\nof the template. The characters `~` and `/` are reserved\\ncharacters and must be escaped in the key.\",\n \"example\": \"/currentState\",\n \"type\": \"string\"\n },\n \"value\": {\n \"$ref\": \"#/components/schemas/MetadataInstanceValue\"\n }\n },\n \"title\": \"A metadata instance update operation\",\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"security\": null,\n \"skill_name\": \"put_folders_id_metadata_id_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update metadata instance on folder\",\n \"tags\": [\n \"Metadata instances (Folders)\"\n ]\n },\n \"put_folders_id_remove_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes a shared link from a folder.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_folders_id_remove_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}#remove_shared_link\",\n \"request_body\": {\n \"properties\": {\n \"shared_link\": {\n \"description\": \"By setting this value to `null`, the shared link\\nis removed from the folder.\",\n \"example\": null,\n \"nullable\": true,\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_folders_id_remove_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove shared link from folder\",\n \"tags\": [\n \"Shared links (Folders)\"\n ]\n },\n \"put_folders_id_update_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a shared link on a folder.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_folders_id_update_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}#update_shared_link\",\n \"request_body\": {\n \"properties\": {\n \"shared_link\": {\n \"description\": \"The settings for the shared link to update.\",\n \"properties\": {\n \"access\": {\n \"description\": \"The level of access for the shared link. This can be\\nrestricted to anyone with the link (`open`), only people\\nwithin the company (`company`) and only those who\\nhave been invited to the folder (`collaborators`).\\n\\nIf not set, this field defaults to the access level specified\\nby the enterprise admin. To create a shared link with this\\ndefault setting pass the `shared_link` object with\\nno `access` field, for example `{ \\\"shared_link\\\": {} }`.\\n\\nThe `company` access level is only available to paid\\naccounts.\",\n \"enum\": [\n \"open\",\n \"company\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n },\n \"password\": {\n \"description\": \"The password required to access the shared link. Set the\\npassword to `null` to remove it.\\nPasswords must now be at least eight characters\\nlong and include a number, upper case letter, or\\na non-numeric or non-alphabetic character.\\nA password can only be set when `access` is set to `open`.\",\n \"example\": \"do-n8t-use-this-Password\",\n \"type\": \"string\"\n },\n \"permissions\": {\n \"properties\": {\n \"can_download\": {\n \"description\": \"If the shared link allows for downloading of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_edit\": {\n \"description\": \"This value can only be `false` for items\\nwith a `type` of `folder`.\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"can_preview\": {\n \"description\": \"If the shared link allows for previewing of files.\\nThis value is always `true`. For shared links on folders\\nthis also applies to any items in the folder.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n },\n \"unshared_at\": {\n \"description\": \"The timestamp at which this shared link will\\nexpire. This field can only be set by\\nusers with paid accounts. The value must be greater than the\\ncurrent date and time.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"vanity_name\": {\n \"description\": \"Defines a custom vanity name to use in the shared link URL,\\nfor example `https://app.box.com/v/my-shared-link`.\\n\\nCustom URLs should not be used when sharing sensitive content\\nas vanity URLs are a lot easier to guess than regular shared\\nlinks.\",\n \"example\": \"my-shared-link\",\n \"minLength\": 12,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_folders_id_update_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update shared link on folder\",\n \"tags\": [\n \"Shared links (Folders)\"\n ]\n },\n \"put_folders_id_watermark\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Applies or update a watermark on a folder.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_folders_id_watermark\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier that represent a folder.\\n\\nThe ID for any folder can be determined\\nby visiting this folder in the web application\\nand copying the ID from the URL. For example,\\nfor the URL `https://*.app.box.com/folder/123`\\nthe `folder_id` is `123`.\\n\\nThe root folder of a Box account is\\nalways represented by the ID `0`.\",\n \"in\": \"path\",\n \"name\": \"folder_id\",\n \"required\": true,\n \"schema\": {\n \"nullable\": false,\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/folders/{folder_id}/watermark\",\n \"request_body\": {\n \"properties\": {\n \"watermark\": {\n \"description\": \"The watermark to imprint on the folder.\",\n \"properties\": {\n \"imprint\": {\n \"description\": \"The type of watermark to apply.\\n\\nCurrently only supports one option.\",\n \"enum\": [\n \"default\"\n ],\n \"example\": \"default\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"imprint\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"watermark\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_folders_id_watermark\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Apply watermark to folder\",\n \"tags\": [\n \"Watermarks (Folders)\"\n ]\n },\n \"put_group_memberships_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a user's group membership. Only admins of this\\ngroup or users with admin-level permissions will be able to\\nuse this API.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_group_memberships_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the group membership.\",\n \"in\": \"path\",\n \"name\": \"group_membership_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/group_memberships/{group_membership_id}\",\n \"request_body\": {\n \"properties\": {\n \"configurable_permissions\": {\n \"additionalProperties\": {\n \"description\": \"A key value pair of custom permissions.\",\n \"example\": true,\n \"type\": \"boolean\",\n \"x-box-example-key\": \"can_run_reports\"\n },\n \"description\": \"Custom configuration for the permissions an admin\\nif a group will receive. This option has no effect\\non members with a role of `member`.\\n\\nSetting these permissions overwrites the default\\naccess levels of an admin.\\n\\nSpecifying a value of `null` for this object will disable\\nall configurable permissions. Specifying permissions will set\\nthem accordingly, omitted permissions will be enabled by default.\",\n \"example\": {\n \"can_run_reports\": true\n },\n \"nullable\": true,\n \"type\": \"object\"\n },\n \"role\": {\n \"description\": \"The role of the user in the group.\",\n \"enum\": [\n \"member\",\n \"admin\"\n ],\n \"example\": \"member\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_group_memberships_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update group membership\",\n \"tags\": [\n \"Group memberships\"\n ]\n },\n \"put_groups_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a specific group. Only admins of this\\ngroup or users with admin-level permissions will be able to\\nuse this API.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_groups_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the group.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/groups/{group_id}\",\n \"request_body\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A human readable description of the group.\",\n \"example\": \"\\\"Customer Support Group - as imported from Active Directory\\\"\",\n \"maxLength\": 255,\n \"type\": \"string\"\n },\n \"external_sync_identifier\": {\n \"description\": \"An arbitrary identifier that can be used by\\nexternal group sync tools to link this Box Group to\\nan external group.\\n\\nExample values of this field\\ncould be an **Active Directory Object ID** or a **Google\\nGroup ID**.\\n\\nWe recommend you use of this field in\\norder to avoid issues when group names are updated in\\neither Box or external systems.\",\n \"example\": \"AD:123456\",\n \"type\": \"string\"\n },\n \"invitability_level\": {\n \"description\": \"Specifies who can invite the group to collaborate\\non folders.\\n\\nWhen set to `admins_only` the enterprise admin, co-admins,\\nand the group's admin can invite the group.\\n\\nWhen set to `admins_and_members` all the admins listed\\nabove and group members can invite the group.\\n\\nWhen set to `all_managed_users` all managed users in the\\nenterprise can invite the group.\",\n \"enum\": [\n \"admins_only\",\n \"admins_and_members\",\n \"all_managed_users\"\n ],\n \"example\": \"admins_only\",\n \"type\": \"string\"\n },\n \"member_viewability_level\": {\n \"description\": \"Specifies who can see the members of the group.\\n\\n* `admins_only` - the enterprise admin, co-admins, group's\\n group admin.\\n* `admins_and_members` - all admins and group members.\\n* `all_managed_users` - all managed users in the\\n enterprise.\",\n \"enum\": [\n \"admins_only\",\n \"admins_and_members\",\n \"all_managed_users\"\n ],\n \"example\": \"admins_only\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the new group to be created. Must be unique within the\\nenterprise.\",\n \"example\": \"Customer Support\",\n \"type\": \"string\"\n },\n \"provenance\": {\n \"description\": \"Keeps track of which external source this group is\\ncoming, for example `Active Directory`, or `Okta`.\\n\\nSetting this will also prevent Box admins from editing\\nthe group name and its members directly via the Box\\nweb application.\\n\\nThis is desirable for one-way syncing of groups.\",\n \"example\": \"Active Directory\",\n \"maxLength\": 255,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_groups_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update group\",\n \"tags\": [\n \"Groups\"\n ]\n },\n \"put_integration_mappings_slack_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a [Slack integration mapping](https://support.box.com/hc/en-us/articles/4415585987859-Box-as-the-Content-Layer-for-Slack).\\nSupports updating the Box folder ID and options.\\n\\nYou need Admin or Co-Admin role to\\nuse this endpoint.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_integration_mappings_slack_id\",\n \"parameters\": [\n {\n \"description\": \"An ID of an integration mapping.\",\n \"in\": \"path\",\n \"name\": \"integration_mapping_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/integration_mappings/slack/{integration_mapping_id}\",\n \"request_body\": {\n \"properties\": {\n \"box_item\": {\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/IntegrationMappingBoxItemSlack\"\n }\n ]\n },\n \"options\": {\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/IntegrationMappingSlackOptions\"\n }\n ]\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_integration_mappings_slack_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update Slack integration mapping\",\n \"tags\": [\n \"Integration mappings\"\n ]\n },\n \"put_integration_mappings_teams_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a [Teams integration mapping](https://support.box.com/hc/en-us/articles/360044681474-Using-Box-for-Teams).\\nSupports updating the Box folder ID and options.\\nYou need Admin or Co-Admin role to\\nuse this endpoint.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_integration_mappings_teams_id\",\n \"parameters\": [\n {\n \"description\": \"An ID of an integration mapping.\",\n \"in\": \"path\",\n \"name\": \"integration_mapping_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/integration_mappings/teams/{integration_mapping_id}\",\n \"request_body\": {\n \"properties\": {\n \"box_item\": {\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/FolderReference\"\n },\n {\n \"description\": \"The Box folder, to which the object from the partner app domain is mapped.\"\n }\n ]\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_integration_mappings_teams_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update Teams integration mapping\",\n \"tags\": [\n \"Integration mappings\"\n ]\n },\n \"put_legal_hold_policies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Update legal hold policy.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_legal_hold_policies_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the legal hold policy.\",\n \"in\": \"path\",\n \"name\": \"legal_hold_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/legal_hold_policies/{legal_hold_policy_id}\",\n \"request_body\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A description for the policy.\",\n \"example\": \"A custom policy for the sales team\",\n \"maxLength\": 500,\n \"type\": \"string\"\n },\n \"policy_name\": {\n \"description\": \"The name of the policy.\",\n \"example\": \"Sales Policy\",\n \"maxLength\": 254,\n \"type\": \"string\"\n },\n \"release_notes\": {\n \"description\": \"Notes around why the policy was released.\",\n \"example\": \"Required for GDPR\",\n \"maxLength\": 500,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_legal_hold_policies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update legal hold policy\",\n \"tags\": [\n \"Legal hold policies\"\n ]\n },\n \"put_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_sche_2\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the labels and descriptions of one or more classifications\\navailable to the enterprise.\\n\\nThis API can also be called by including the enterprise ID in the\\nURL explicitly, for example\\n`/metadata_templates/enterprise_12345/securityClassification-6VMVochwUWo/schema`.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_sche_2\",\n \"parameters\": [],\n \"path\": \"/metadata_templates/enterprise/securityClassification-6VMVochwUWo/schema#update\",\n \"request_body\": {\n \"description\": \"An array that contains one or more classifications to update.\",\n \"items\": {\n \"description\": \"A single classification to update.\",\n \"properties\": {\n \"data\": {\n \"description\": \"The details of the updated classification.\",\n \"properties\": {\n \"key\": {\n \"description\": \"A new label for the classification, as it will be\\nshown in the web and mobile interfaces.\",\n \"example\": \"Very Sensitive\",\n \"type\": \"string\"\n },\n \"staticConfig\": {\n \"description\": \"A static configuration for the classification.\",\n \"properties\": {\n \"classification\": {\n \"description\": \"Additional details for the classification.\",\n \"properties\": {\n \"classificationDefinition\": {\n \"description\": \"A longer description of the classification.\",\n \"example\": \"Sensitive information that must not be shared.\",\n \"type\": \"string\"\n },\n \"colorID\": {\n \"description\": \"An internal Box identifier used to assign a color to\\na classification label.\\n\\nMapping between a `colorID` and a color may change\\nwithout notice. Currently, the color mappings are as\\nfollows.\\n\\n* `0`: Yellow.\\n* `1`: Orange.\\n* `2`: Watermelon red.\\n* `3`: Purple rain.\\n* `4`: Light blue.\\n* `5`: Dark blue.\\n* `6`: Light green.\\n* `7`: Gray.\",\n \"example\": 4,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"key\"\n ],\n \"type\": \"object\"\n },\n \"enumOptionKey\": {\n \"description\": \"The original label of the classification to change.\",\n \"example\": \"Sensitive\",\n \"type\": \"string\"\n },\n \"fieldKey\": {\n \"description\": \"Defines classifications \\navailable in the enterprise.\",\n \"enum\": [\n \"Box__Security__Classification__Key\"\n ],\n \"example\": \"Box__Security__Classification__Key\",\n \"type\": \"string\"\n },\n \"op\": {\n \"description\": \"The type of change to perform on the classification\\nobject.\",\n \"enum\": [\n \"editEnumOption\"\n ],\n \"example\": \"editEnumOption\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"op\",\n \"fieldKey\",\n \"enumOptionKey\",\n \"data\"\n ],\n \"type\": \"object\"\n },\n \"required\": [\n \"items\"\n ],\n \"type\": \"array\"\n },\n \"security\": null,\n \"skill_name\": \"put_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_sche_2\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update classification\",\n \"tags\": [\n \"Classifications\"\n ]\n },\n \"put_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_schema\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds one or more new classifications to the list of classifications\\navailable to the enterprise.\\n\\nThis API can also be called by including the enterprise ID in the\\nURL explicitly, for example\\n`/metadata_templates/enterprise_12345/securityClassification-6VMVochwUWo/schema`.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_schema\",\n \"parameters\": [],\n \"path\": \"/metadata_templates/enterprise/securityClassification-6VMVochwUWo/schema#add\",\n \"request_body\": {\n \"description\": \"An array that contains one or more classifications to add to\\nthe enterprise's list of classifications.\",\n \"items\": {\n \"description\": \"A single classification to add to the enterprise.\",\n \"properties\": {\n \"data\": {\n \"description\": \"The details of the classification to add.\",\n \"properties\": {\n \"key\": {\n \"description\": \"The label of the classification as shown in the web and\\nmobile interfaces. This is the only field required to\\nadd a classification.\",\n \"example\": \"Sensitive\",\n \"type\": \"string\"\n },\n \"staticConfig\": {\n \"description\": \"A static configuration for the classification.\",\n \"properties\": {\n \"classification\": {\n \"description\": \"Additional details for the classification.\",\n \"properties\": {\n \"classificationDefinition\": {\n \"description\": \"A longer description of the classification.\",\n \"example\": \"Sensitive information that must not be shared.\",\n \"type\": \"string\"\n },\n \"colorID\": {\n \"description\": \"An internal Box identifier used to assign a color to\\na classification label.\\n\\nMapping between a `colorID` and a color may change\\nwithout notice. Currently, the color mappings are as\\nfollows.\\n\\n* `0`: Yellow.\\n* `1`: Orange.\\n* `2`: Watermelon red.\\n* `3`: Purple rain.\\n* `4`: Light blue.\\n* `5`: Dark blue.\\n* `6`: Light green.\\n* `7`: Gray.\",\n \"example\": 4,\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"key\"\n ],\n \"type\": \"object\"\n },\n \"fieldKey\": {\n \"description\": \"Defines classifications \\navailable in the enterprise.\",\n \"enum\": [\n \"Box__Security__Classification__Key\"\n ],\n \"example\": \"Box__Security__Classification__Key\",\n \"type\": \"string\"\n },\n \"op\": {\n \"description\": \"The type of change to perform on the classification\\nobject.\",\n \"enum\": [\n \"addEnumOption\"\n ],\n \"example\": \"addEnumOption\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"op\",\n \"fieldKey\",\n \"data\"\n ],\n \"type\": \"object\"\n },\n \"required\": [\n \"items\"\n ],\n \"type\": \"array\"\n },\n \"security\": null,\n \"skill_name\": \"put_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_schema\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add classification\",\n \"tags\": [\n \"Classifications\"\n ]\n },\n \"put_metadata_templates_id_id_schema\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a metadata template.\\n\\nThe metadata template can only be updated if the template\\nalready exists.\\n\\nThe update is applied atomically. If any errors occur during the\\napplication of the operations, the metadata template will not be changed.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_metadata_templates_id_id_schema\",\n \"parameters\": [\n {\n \"description\": \"The scope of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"scope\",\n \"required\": true,\n \"schema\": {\n \"enum\": [\n \"global\",\n \"enterprise\"\n ],\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The name of the metadata template.\",\n \"in\": \"path\",\n \"name\": \"template_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/metadata_templates/{scope}/{template_key}/schema\",\n \"request_body\": {\n \"description\": \"A [JSON-Patch](https://tools.ietf.org/html/rfc6902)\\nspecification for the changes to make to the metadata\\ntemplate.\\n\\nThe changes are represented as a JSON array of\\noperation objects.\",\n \"items\": {\n \"description\": \"A [JSON-Patch](https://tools.ietf.org/html/rfc6902) operation for a\\nchange to make to the metadata instance.\",\n \"properties\": {\n \"data\": {\n \"additionalProperties\": {\n \"allOf\": [\n {},\n {\n \"example\": \"Aaron Levie\"\n },\n {\n \"description\": \"A value for each of the fields that are present\\non the metadata template.\\nFor the `global.properties` template this can be\\na list of zero or more fields,\\nas this template allows for any generic key-value pairs \\nto be stored stored in the template.\"\n }\n ],\n \"x-box-example-key\": \"name\"\n },\n \"description\": \"The data for the operation. This will vary depending on the\\noperation being performed.\",\n \"example\": {\n \"name\": \"Aaron Levie\"\n },\n \"type\": \"object\"\n },\n \"enumOptionKey\": {\n \"description\": \"For operations that affect a single `enum` option this defines\\nthe key of the option that is affected.\",\n \"example\": \"option1\",\n \"type\": \"string\"\n },\n \"enumOptionKeys\": {\n \"description\": \"For operations that affect multiple `enum` options this defines\\nthe keys of the options that are affected.\",\n \"example\": [\n \"option1\",\n \"option2\",\n \"option3\"\n ],\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"fieldKey\": {\n \"description\": \"For operations that affect a single field this defines the key of\\nthe field that is affected.\",\n \"example\": \"category\",\n \"type\": \"string\"\n },\n \"fieldKeys\": {\n \"description\": \"For operations that affect multiple fields this defines the keys\\nof the fields that are affected.\",\n \"example\": [\n \"category\",\n \"name\"\n ],\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"multiSelectOptionKey\": {\n \"description\": \"For operations that affect a single multi select option this\\ndefines the key of the option that is affected.\",\n \"example\": \"option1\",\n \"type\": \"string\"\n },\n \"multiSelectOptionKeys\": {\n \"description\": \"For operations that affect multiple multi select options this\\ndefines the keys of the options that are affected.\",\n \"example\": [\n \"option1\",\n \"option2\",\n \"option3\"\n ],\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"op\": {\n \"description\": \"The type of change to perform on the template. Some\\nof these are hazardous as they will change existing templates.\",\n \"enum\": [\n \"editTemplate\",\n \"addField\",\n \"reorderFields\",\n \"addEnumOption\",\n \"reorderEnumOptions\",\n \"reorderMultiSelectOptions\",\n \"addMultiSelectOption\",\n \"editField\",\n \"removeField\",\n \"editEnumOption\",\n \"removeEnumOption\",\n \"editMultiSelectOption\",\n \"removeMultiSelectOption\"\n ],\n \"example\": \"addEnumOption\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"op\"\n ],\n \"title\": \"A metadata template update operation\",\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"security\": null,\n \"skill_name\": \"put_metadata_templates_id_id_schema\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update metadata template\",\n \"tags\": [\n \"Metadata templates\"\n ]\n },\n \"put_retention_policies_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a retention policy.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_retention_policies_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the retention policy.\",\n \"in\": \"path\",\n \"name\": \"retention_policy_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/retention_policies/{retention_policy_id}\",\n \"request_body\": {\n \"properties\": {\n \"are_owners_notified\": {\n \"description\": \"Determines if owners and co-owners of items\\nunder the policy are notified when\\nthe retention duration is about to end.\",\n \"example\": false,\n \"nullable\": true,\n \"type\": \"boolean\"\n },\n \"can_owner_extend_retention\": {\n \"description\": \"Determines if the owner of items under the policy\\ncan extend the retention when the original retention\\nduration is about to end.\",\n \"example\": false,\n \"nullable\": true,\n \"type\": \"boolean\"\n },\n \"custom_notification_recipients\": {\n \"description\": \"A list of users notified when the retention duration is about to end.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/User--Base\"\n },\n \"nullable\": true,\n \"type\": \"array\"\n },\n \"description\": {\n \"description\": \"The additional text description of the retention policy.\",\n \"example\": \"Policy to retain all reports for at least one month\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"disposition_action\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"permanently_delete\",\n \"remove_retention\"\n ],\n \"type\": \"string\"\n },\n {\n \"nullable\": true,\n \"pattern\": \".^\",\n \"type\": \"string\"\n }\n ],\n \"description\": \"The disposition action of the retention policy.\\nThis action can be `permanently_delete`, which\\nwill cause the content retained by the policy\\nto be permanently deleted, or `remove_retention`,\\nwhich will lift the retention policy from the content,\\nallowing it to be deleted by users,\\nonce the retention policy has expired.\\nYou can use `null` if you don't want to change `disposition_action`.\",\n \"example\": \"permanently_delete\"\n },\n \"max_extension_length\": {\n \"$ref\": \"#/components/schemas/RetentionPolicyMaxExtensionLengthRequest\"\n },\n \"policy_name\": {\n \"description\": \"The name for the retention policy.\",\n \"example\": \"Some Policy Name\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"retention_length\": {\n \"description\": \"The length of the retention policy. This value\\nspecifies the duration in days that the retention\\npolicy will be active for after being assigned to\\ncontent. If the policy has a `policy_type` of\\n`indefinite`, the `retention_length` will also be\\n`indefinite`.\",\n \"example\": \"365\",\n \"oneOf\": [\n {\n \"format\": \"int32\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n {\n \"format\": \"int32\",\n \"nullable\": false,\n \"type\": \"number\"\n }\n ]\n },\n \"retention_type\": {\n \"description\": \"Specifies the retention type:\\n\\n* `modifiable`: You can modify the retention policy. For example,\\nyou can add or remove folders, shorten or lengthen\\nthe policy duration, or delete the assignment.\\nUse this type if your retention policy\\nis not related to any regulatory purposes.\\n* `non-modifiable`: You can modify the retention policy\\nonly in a limited way: add a folder, lengthen the duration,\\nretire the policy, change the disposition action\\nor notification settings. You cannot perform other actions,\\nsuch as deleting the assignment or shortening the\\npolicy duration. Use this type to ensure\\ncompliance with regulatory retention policies.\\n\\nWhen updating a retention policy, you can use\\n`non-modifiable` type only. You can convert a\\n`modifiable` policy to `non-modifiable`, but\\nnot the other way around.\",\n \"example\": \"non-modifiable\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"status\": {\n \"description\": \"Used to retire a retention policy.\\n\\nIf not retiring a policy, do not include this parameter\\nor set it to `null`.\",\n \"example\": \"retired\",\n \"nullable\": true,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_retention_policies_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update retention policy\",\n \"tags\": [\n \"Retention policies\"\n ]\n },\n \"put_shield_information_barrier_segments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the shield information barrier segment based on provided ID..\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_shield_information_barrier_segments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the shield information barrier segment.\",\n \"in\": \"path\",\n \"name\": \"shield_information_barrier_segment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/shield_information_barrier_segments/{shield_information_barrier_segment_id}\",\n \"request_body\": {\n \"description\": \"An object containing update(s) to be made on the Shield\\nInformation Barrier Segment. Possible properties include\\n'name' and 'description', the value in object is the update.\",\n \"properties\": {\n \"description\": {\n \"description\": \"The updated description for\\nthe shield information barrier segment.\",\n \"example\": \"'Corporate division that engages in advisory_based\\nfinancial transactions on behalf of individuals,\\ncorporations, and governments.'\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The updated name for the shield information barrier segment.\",\n \"example\": \"Investment Banking\",\n \"pattern\": \"\\\\S+\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_shield_information_barrier_segments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update shield information barrier segment with specified ID\",\n \"tags\": [\n \"Shield information barrier segments\"\n ]\n },\n \"put_skill_invocations_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"An alternative method that can be used to overwrite and update all Box Skill\\nmetadata cards on a file.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_skill_invocations_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the skill to apply this metadata for.\",\n \"in\": \"path\",\n \"name\": \"skill_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/skill_invocations/{skill_id}\",\n \"request_body\": {\n \"properties\": {\n \"file\": {\n \"description\": \"The file to assign the cards to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the file.\",\n \"example\": \"3243244\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The value will always be `file`.\",\n \"enum\": [\n \"file\"\n ],\n \"example\": \"file\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"file_version\": {\n \"description\": \"The optional file version to assign the cards to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the file version.\",\n \"example\": \"731381601045\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The value will always be `file_version`.\",\n \"enum\": [\n \"file_version\"\n ],\n \"example\": \"file_version\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"metadata\": {\n \"description\": \"The metadata to set for this skill. This is a list of\\nBox Skills cards. These cards will overwrite any existing Box\\nskill cards on the file.\",\n \"properties\": {\n \"cards\": {\n \"description\": \"A list of Box Skill cards to apply to this file.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SkillCard\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"status\": {\n \"description\": \"Defines the status of this invocation. Set this to `success` when setting Skill cards.\",\n \"enum\": [\n \"invoked\",\n \"processing\",\n \"success\",\n \"transient_failure\",\n \"permanent_failure\"\n ],\n \"example\": \"success\",\n \"type\": \"string\"\n },\n \"usage\": {\n \"description\": \"A descriptor that defines what items are affected by this call.\\n\\nSet this to the default values when setting a card to a `success`\\nstate, and leave it out in most other situations.\",\n \"properties\": {\n \"unit\": {\n \"description\": \"The value will always be `file`.\",\n \"example\": \"file\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"Number of resources affected.\",\n \"example\": 1,\n \"type\": \"number\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"status\",\n \"metadata\",\n \"file\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_skill_invocations_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update all Box Skill cards on file\",\n \"tags\": [\n \"Skills\"\n ]\n },\n \"put_storage_policy_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a specific storage policy assignment.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_storage_policy_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the storage policy assignment.\",\n \"in\": \"path\",\n \"name\": \"storage_policy_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/storage_policy_assignments/{storage_policy_assignment_id}\",\n \"request_body\": {\n \"properties\": {\n \"storage_policy\": {\n \"description\": \"The storage policy to assign to the user or\\nenterprise.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the storage policy to assign.\",\n \"example\": \"1434325\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type to assign.\",\n \"enum\": [\n \"storage_policy\"\n ],\n \"example\": \"storage_policy\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\",\n \"id\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"storage_policy\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_storage_policy_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update storage policy assignment\",\n \"tags\": [\n \"Standard and Zones Storage Policy Assignments\"\n ]\n },\n \"put_task_assignments_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a task assignment. This endpoint can be\\nused to update the state of a task assigned to a user.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_task_assignments_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the task assignment.\",\n \"in\": \"path\",\n \"name\": \"task_assignment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/task_assignments/{task_assignment_id}\",\n \"request_body\": {\n \"properties\": {\n \"message\": {\n \"description\": \"An optional message by the assignee that can be added to the task.\",\n \"example\": \"Looks good to me\",\n \"type\": \"string\"\n },\n \"resolution_state\": {\n \"description\": \"The state of the task assigned to the user.\\n\\n* For a task with an `action` value of `complete` this can be\\n`incomplete` or `completed`.\\n* For a task with an `action` of `review` this can be\\n`incomplete`, `approved`, or `rejected`.\",\n \"enum\": [\n \"completed\",\n \"incomplete\",\n \"approved\",\n \"rejected\"\n ],\n \"example\": \"completed\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_task_assignments_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update task assignment\",\n \"tags\": [\n \"Task assignments\"\n ]\n },\n \"put_tasks_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a task. This can be used to update a task's configuration, or to\\nupdate its completion state.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_tasks_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the task.\",\n \"in\": \"path\",\n \"name\": \"task_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/tasks/{task_id}\",\n \"request_body\": {\n \"properties\": {\n \"action\": {\n \"description\": \"The action the task assignee will be prompted to do. Must be\\n\\n* `review` defines an approval task that can be approved or\\nrejected,\\n* `complete` defines a general task which can be completed.\",\n \"enum\": [\n \"review\",\n \"complete\"\n ],\n \"example\": \"review\",\n \"type\": \"string\"\n },\n \"completion_rule\": {\n \"description\": \"Defines which assignees need to complete this task before the task\\nis considered completed.\\n\\n* `all_assignees` (default) requires all assignees to review or\\napprove the task in order for it to be considered completed.\\n* `any_assignee` accepts any one assignee to review or\\napprove the task in order for it to be considered completed.\",\n \"enum\": [\n \"all_assignees\",\n \"any_assignee\"\n ],\n \"example\": \"all_assignees\",\n \"type\": \"string\"\n },\n \"due_at\": {\n \"description\": \"When the task is due at.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"message\": {\n \"description\": \"The message included with the task.\",\n \"example\": \"Please review\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_tasks_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update task\",\n \"tags\": [\n \"Tasks\"\n ]\n },\n \"put_terms_of_service_user_statuses_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the status for a terms of service for a user.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_terms_of_service_user_statuses_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the terms of service status.\",\n \"in\": \"path\",\n \"name\": \"terms_of_service_user_status_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/terms_of_service_user_statuses/{terms_of_service_user_status_id}\",\n \"request_body\": {\n \"properties\": {\n \"is_accepted\": {\n \"description\": \"Whether the user has accepted the terms.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"is_accepted\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_terms_of_service_user_statuses_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update terms of service status for existing user\",\n \"tags\": [\n \"Terms of service user statuses\"\n ]\n },\n \"put_terms_of_services_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a specific terms of service.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_terms_of_services_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the terms of service.\",\n \"in\": \"path\",\n \"name\": \"terms_of_service_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/terms_of_services/{terms_of_service_id}\",\n \"request_body\": {\n \"properties\": {\n \"status\": {\n \"description\": \"Whether this terms of service is active.\",\n \"enum\": [\n \"enabled\",\n \"disabled\"\n ],\n \"example\": \"enabled\",\n \"type\": \"string\"\n },\n \"text\": {\n \"description\": \"The terms of service text to display to users.\\n\\nThe text can be set to empty if the `status` is set to `disabled`.\",\n \"example\": \"By collaborating on this file you are accepting...\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"status\",\n \"text\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_terms_of_services_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update terms of service\",\n \"tags\": [\n \"Terms of service\"\n ]\n },\n \"put_users_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a managed or app user in an enterprise. This endpoint\\nis only available to users and applications with the right\\nadmin permissions.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_users_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n }\n ],\n \"path\": \"/users/{user_id}\",\n \"request_body\": {\n \"properties\": {\n \"address\": {\n \"description\": \"The user\\u2019s address.\",\n \"example\": \"900 Jefferson Ave, Redwood City, CA 94063\",\n \"maxLength\": 255,\n \"type\": \"string\"\n },\n \"can_see_managed_users\": {\n \"description\": \"Whether the user can see other enterprise users in their\\ncontact list.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"enterprise\": {\n \"description\": \"Set this to `null` to roll the user out of the enterprise\\nand make them a free user.\",\n \"example\": null,\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"external_app_user_id\": {\n \"description\": \"An external identifier for an app user, which can be used to look\\nup the user. This can be used to tie user IDs from external\\nidentity providers to Box users.\\n\\nNote: In order to update this field, you need to request a token\\nusing the application that created the app user.\",\n \"example\": \"my-user-1234\",\n \"type\": \"string\"\n },\n \"is_exempt_from_device_limits\": {\n \"description\": \"Whether to exempt the user from enterprise device limits.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"is_exempt_from_login_verification\": {\n \"description\": \"Whether the user must use two-factor authentication.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"is_external_collab_restricted\": {\n \"description\": \"Whether the user is allowed to collaborate with users outside\\ntheir enterprise.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"is_password_reset_required\": {\n \"description\": \"Whether the user is required to reset their password.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"is_sync_enabled\": {\n \"description\": \"Whether the user can use Box Sync.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"job_title\": {\n \"description\": \"The user\\u2019s job title.\",\n \"example\": \"CEO\",\n \"maxLength\": 100,\n \"type\": \"string\"\n },\n \"language\": {\n \"description\": \"The language of the user, formatted in modified version of the\\n[ISO 639-1](https://developer.box.com/guides/api-calls/language-codes) format.\",\n \"example\": \"en\",\n \"type\": \"string\"\n },\n \"login\": {\n \"description\": \"The email address the user uses to log in\\n\\nNote: If the target user's email is not confirmed, then the\\nprimary login address cannot be changed.\",\n \"example\": \"somename@box.com\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the user.\",\n \"example\": \"Aaron Levie\",\n \"maxLength\": 50,\n \"type\": \"string\"\n },\n \"notification_email\": {\n \"description\": \"An alternate notification email address to which email\\nnotifications are sent. When it's confirmed, this will be\\nthe email address to which notifications are sent instead of\\nto the primary email address.\\n\\nSet this value to `null` to remove the notification email.\",\n \"nullable\": true,\n \"properties\": {\n \"email\": {\n \"description\": \"The email address to send the notifications to.\",\n \"example\": \"notifications@example.com\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"notify\": {\n \"description\": \"Whether the user should receive an email when they\\nare rolled out of an enterprise.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"phone\": {\n \"description\": \"The user\\u2019s phone number.\",\n \"example\": \"6509241374\",\n \"maxLength\": 100,\n \"type\": \"string\"\n },\n \"role\": {\n \"description\": \"The user\\u2019s enterprise role.\",\n \"enum\": [\n \"coadmin\",\n \"user\"\n ],\n \"example\": \"user\",\n \"type\": \"string\"\n },\n \"space_amount\": {\n \"description\": \"The user\\u2019s total available space in bytes. Set this to `-1` to\\nindicate unlimited storage.\",\n \"example\": 11345156112,\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"status\": {\n \"description\": \"The user's account status.\",\n \"enum\": [\n \"active\",\n \"inactive\",\n \"cannot_delete_edit\",\n \"cannot_delete_edit_upload\"\n ],\n \"example\": \"active\",\n \"type\": \"string\"\n },\n \"timezone\": {\n \"description\": \"The user's timezone.\",\n \"example\": \"Africa/Bujumbura\",\n \"format\": \"timezone\",\n \"type\": \"string\"\n },\n \"tracking_codes\": {\n \"description\": \"Tracking codes allow an admin to generate reports from the\\nadmin console and assign an attribute to a specific group\\nof users. This setting must be enabled for an enterprise before it\\ncan be used.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TrackingCode\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_users_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update user\",\n \"tags\": [\n \"Users\"\n ]\n },\n \"put_users_id_folders_0\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Move all of the items (files, folders and workflows) owned by a user into\\nanother user's account.\\n\\nOnly the root folder (`0`) can be transferred.\\n\\nFolders can only be moved across users by users with administrative\\npermissions.\\n\\nAll existing shared links and folder-level collaborations are transferred\\nduring the operation. Please note that while collaborations at the individual\\nfile-level are transferred during the operation, the collaborations are\\ndeleted when the original user is deleted.\\n\\nIf the user has a large number of items across all folders, the call will\\nbe run asynchronously. If the operation is not completed within 10 minutes,\\nthe user will receive a 200 OK response, and the operation will continue running.\\n\\nIf the destination path has a metadata cascade policy attached to any of\\nthe parent folders, a metadata cascade operation will be kicked off\\nasynchronously.\\n\\nThere is currently no way to check for when this operation is finished.\\n\\nThe destination folder's name will be in the format `{User}'s Files and\\nFolders`, where `{User}` is the display name of the user.\\n\\nTo make this API call your application will need to have the \\\"Read and write\\nall files and folders stored in Box\\\" scope enabled.\\n\\nPlease make sure the destination user has access to `Relay` or `Relay Lite`,\\nand has access to the files and folders involved in the workflows being\\ntransferred.\\n\\nAdmins will receive an email when the operation is completed.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_users_id_folders_0\",\n \"parameters\": [\n {\n \"description\": \"The ID of the user.\",\n \"in\": \"path\",\n \"name\": \"user_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A comma-separated list of attributes to include in the\\nresponse. This can be used to request fields that are\\nnot normally returned in a standard response.\\n\\nBe aware that specifying this parameter will have the\\neffect that none of the standard fields are returned in\\nthe response unless explicitly specified, instead only\\nfields for the mini representation are returned, additional\\nto the fields requested.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": false,\n \"schema\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n {\n \"description\": \"Determines if users should receive email notification\\nfor the action performed.\",\n \"in\": \"query\",\n \"name\": \"notify\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/users/{user_id}/folders/0\",\n \"request_body\": {\n \"properties\": {\n \"owned_by\": {\n \"description\": \"The user who the folder will be transferred to.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the user who the folder will be\\ntransferred to.\",\n \"example\": \"1232234\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"owned_by\"\n ],\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_users_id_folders_0\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Transfer owned folders\",\n \"tags\": [\n \"Transfer folders\"\n ]\n },\n \"put_web_links_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a web link object.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_web_links_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}\",\n \"request_body\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A new description of the web link.\",\n \"example\": \"Cloud Content Management\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"A new name for the web link. Defaults to the URL if not set.\",\n \"example\": \"Box Website\",\n \"type\": \"string\"\n },\n \"parent\": {\n \"allOf\": [\n {\n \"description\": \"The parent for this item.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of parent item.\",\n \"example\": \"123\",\n \"type\": \"string\"\n },\n \"user_id\": {\n \"description\": \"The input for `user_id` is optional. Moving to non-root folder is not allowed when `user_id` is present. Parent folder id should be zero when `user_id` is provided.\",\n \"example\": \"12346930\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"description\": \"The new parent folder to put the web link in.\\nUse this to move the web link to a different folder.\"\n }\n ]\n },\n \"shared_link\": {\n \"description\": \"The settings for the shared link to update.\",\n \"properties\": {\n \"access\": {\n \"description\": \"The level of access for the shared link. This can be\\nrestricted to anyone with the link (`open`), only people\\nwithin the company (`company`) and only those who\\nhave been invited to the folder (`collaborators`).\\n\\nIf not set, this field defaults to the access level specified\\nby the enterprise admin. To create a shared link with this\\ndefault setting pass the `shared_link` object with\\nno `access` field, for example `{ \\\"shared_link\\\": {} }`.\\n\\nThe `company` access level is only available to paid\\naccounts.\",\n \"enum\": [\n \"open\",\n \"company\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n },\n \"password\": {\n \"description\": \"The password required to access the shared link. Set the\\npassword to `null` to remove it.\\nPasswords must now be at least eight characters\\nlong and include a number, upper case letter, or\\na non-numeric or non-alphabetic character.\\nA password can only be set when `access` is set to `open`.\",\n \"example\": \"do-not-use-this-password\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"unshared_at\": {\n \"description\": \"The timestamp at which this shared link will\\nexpire. This field can only be set by\\nusers with paid accounts. The value must be greater than the\\ncurrent date and time.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"vanity_name\": {\n \"description\": \"Defines a custom vanity name to use in the shared link URL,\\nfor example `https://app.box.com/v/my-shared-link`.\\n\\nCustom URLs should not be used when sharing sensitive content\\nas vanity URLs are a lot easier to guess than regular shared\\nlinks.\",\n \"example\": \"my-shared-link\",\n \"minLength\": 12,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"url\": {\n \"description\": \"The new URL that the web link links to. Must start with\\n`\\\"http://\\\"` or `\\\"https://\\\"`.\",\n \"example\": \"https://box.com\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_web_links_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update web link\",\n \"tags\": [\n \"Web links\"\n ]\n },\n \"put_web_links_id_add_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a shared link to a web link.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_web_links_id_add_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}#add_shared_link\",\n \"request_body\": {\n \"properties\": {\n \"shared_link\": {\n \"description\": \"The settings for the shared link to create on the web link.\\n\\nUse an empty object (`{}`) to use the default settings for shared\\nlinks.\",\n \"properties\": {\n \"access\": {\n \"description\": \"The level of access for the shared link. This can be\\nrestricted to anyone with the link (`open`), only people\\nwithin the company (`company`) and only those who\\nhave been invited to the file (`collaborators`).\\n\\nIf not set, this field defaults to the access level specified\\nby the enterprise admin. To create a shared link with this\\ndefault setting pass the `shared_link` object with\\nno `access` field, for example `{ \\\"shared_link\\\": {} }`.\\n\\nThe `company` access level is only available to paid\\naccounts.\",\n \"enum\": [\n \"open\",\n \"company\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n },\n \"password\": {\n \"description\": \"The password required to access the shared link. Set the\\npassword to `null` to remove it.\\nPasswords must now be at least eight characters\\nlong and include a number, upper case letter, or\\na non-numeric or non-alphabetic character.\\nA password can only be set when `access` is set to `open`.\",\n \"example\": \"do-n8t-use-this-Password\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"permissions\": {\n \"properties\": {\n \"can_download\": {\n \"description\": \"If the shared link allows for downloading of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_edit\": {\n \"description\": \"This value can only be `true` is `type` is `file`.\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"can_preview\": {\n \"description\": \"If the shared link allows for previewing of files.\\nThis value is always `true`. For shared links on folders\\nthis also applies to any items in the folder.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n },\n \"unshared_at\": {\n \"description\": \"The timestamp at which this shared link will\\nexpire. This field can only be set by\\nusers with paid accounts. The value must be greater than the\\ncurrent date and time.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"vanity_name\": {\n \"description\": \"Defines a custom vanity name to use in the shared link URL,\\nfor example `https://app.box.com/v/my-shared-link`.\\n\\nCustom URLs should not be used when sharing sensitive content\\nas vanity URLs are a lot easier to guess than regular shared\\nlinks.\",\n \"example\": \"my-shared-link\",\n \"minLength\": 12,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_web_links_id_add_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Add shared link to web link\",\n \"tags\": [\n \"Shared links (Web Links)\"\n ]\n },\n \"put_web_links_id_remove_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes a shared link from a web link.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_web_links_id_remove_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}#remove_shared_link\",\n \"request_body\": {\n \"properties\": {\n \"shared_link\": {\n \"description\": \"By setting this value to `null`, the shared link\\nis removed from the web link.\",\n \"example\": null,\n \"nullable\": true,\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_web_links_id_remove_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Remove shared link from web link\",\n \"tags\": [\n \"Shared links (Web Links)\"\n ]\n },\n \"put_web_links_id_update_shared_link\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a shared link on a web link.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_web_links_id_update_shared_link\",\n \"parameters\": [\n {\n \"description\": \"The ID of the web link.\",\n \"in\": \"path\",\n \"name\": \"web_link_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Explicitly request the `shared_link` fields\\nto be returned for this item.\",\n \"in\": \"query\",\n \"name\": \"fields\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/web_links/{web_link_id}#update_shared_link\",\n \"request_body\": {\n \"properties\": {\n \"shared_link\": {\n \"description\": \"The settings for the shared link to update.\",\n \"properties\": {\n \"access\": {\n \"description\": \"The level of access for the shared link. This can be\\nrestricted to anyone with the link (`open`), only people\\nwithin the company (`company`) and only those who\\nhave been invited to the folder (`collaborators`).\\n\\nIf not set, this field defaults to the access level specified\\nby the enterprise admin. To create a shared link with this\\ndefault setting pass the `shared_link` object with\\nno `access` field, for example `{ \\\"shared_link\\\": {} }`.\\n\\nThe `company` access level is only available to paid\\naccounts.\",\n \"enum\": [\n \"open\",\n \"company\",\n \"collaborators\"\n ],\n \"example\": \"open\",\n \"type\": \"string\"\n },\n \"password\": {\n \"description\": \"The password required to access the shared link. Set the\\npassword to `null` to remove it.\\nPasswords must now be at least eight characters\\nlong and include a number, upper case letter, or\\na non-numeric or non-alphabetic character.\\nA password can only be set when `access` is set to `open`.\",\n \"example\": \"do-n8t-use-this-Password\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"permissions\": {\n \"properties\": {\n \"can_download\": {\n \"description\": \"If the shared link allows for downloading of files.\\nThis can only be set when `access` is set to\\n`open` or `company`.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_edit\": {\n \"description\": \"This value can only be `true` is `type` is `file`.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"can_preview\": {\n \"description\": \"If the shared link allows for previewing of files.\\nThis value is always `true`. For shared links on folders\\nthis also applies to any items in the folder.\",\n \"example\": true,\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n },\n \"unshared_at\": {\n \"description\": \"The timestamp at which this shared link will\\nexpire. This field can only be set by\\nusers with paid accounts. The value must be greater than the\\ncurrent date and time.\",\n \"example\": \"2012-12-12T10:53:43-08:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"vanity_name\": {\n \"description\": \"Defines a custom vanity name to use in the shared link URL,\\nfor example `https://app.box.com/v/my-shared-link`.\\n\\nCustom URLs should not be used when sharing sensitive content\\nas vanity URLs are a lot easier to guess than regular shared\\nlinks.\",\n \"example\": \"my-shared-link\",\n \"minLength\": 12,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_web_links_id_update_shared_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update shared link on web link\",\n \"tags\": [\n \"Shared links (Web Links)\"\n ]\n },\n \"put_webhooks_id\": {\n \"base_url\": \"https://api.box.com/2.0\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a webhook.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_webhooks_id\",\n \"parameters\": [\n {\n \"description\": \"The ID of the webhook.\",\n \"in\": \"path\",\n \"name\": \"webhook_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/webhooks/{webhook_id}\",\n \"request_body\": {\n \"properties\": {\n \"address\": {\n \"description\": \"The URL that is notified by this webhook.\",\n \"example\": \"https://example.com/webhooks\",\n \"type\": \"string\"\n },\n \"target\": {\n \"description\": \"The item that will trigger the webhook.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The ID of the item to trigger a webhook.\",\n \"example\": \"1231232\",\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"The type of item to trigger a webhook.\",\n \"enum\": [\n \"file\",\n \"folder\"\n ],\n \"example\": \"file\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"triggers\": {\n \"description\": \"An array of event names that this webhook is\\nto be triggered for.\",\n \"example\": [\n \"FILE.UPLOADED\"\n ],\n \"items\": {\n \"description\": \"The event name that triggered this webhook.\",\n \"enum\": [\n \"FILE.UPLOADED\",\n \"FILE.PREVIEWED\",\n \"FILE.DOWNLOADED\",\n \"FILE.TRASHED\",\n \"FILE.DELETED\",\n \"FILE.RESTORED\",\n \"FILE.COPIED\",\n \"FILE.MOVED\",\n \"FILE.LOCKED\",\n \"FILE.UNLOCKED\",\n \"FILE.RENAMED\",\n \"COMMENT.CREATED\",\n \"COMMENT.UPDATED\",\n \"COMMENT.DELETED\",\n \"TASK_ASSIGNMENT.CREATED\",\n \"TASK_ASSIGNMENT.UPDATED\",\n \"METADATA_INSTANCE.CREATED\",\n \"METADATA_INSTANCE.UPDATED\",\n \"METADATA_INSTANCE.DELETED\",\n \"FOLDER.CREATED\",\n \"FOLDER.RENAMED\",\n \"FOLDER.DOWNLOADED\",\n \"FOLDER.RESTORED\",\n \"FOLDER.DELETED\",\n \"FOLDER.COPIED\",\n \"FOLDER.MOVED\",\n \"FOLDER.TRASHED\",\n \"WEBHOOK.DELETED\",\n \"COLLABORATION.CREATED\",\n \"COLLABORATION.ACCEPTED\",\n \"COLLABORATION.REJECTED\",\n \"COLLABORATION.REMOVED\",\n \"COLLABORATION.UPDATED\",\n \"SHARED_LINK.DELETED\",\n \"SHARED_LINK.CREATED\",\n \"SHARED_LINK.UPDATED\",\n \"SIGN_REQUEST.COMPLETED\",\n \"SIGN_REQUEST.DECLINED\",\n \"SIGN_REQUEST.EXPIRED\",\n \"SIGN_REQUEST.SIGNER_EMAIL_BOUNCED\",\n \"SIGN_REQUEST.SIGN_SIGNER_SIGNED\",\n \"SIGN_REQUEST.SIGN_DOCUMENT_CREATED\",\n \"SIGN_REQUEST.SIGN_ERROR_FINALIZING\"\n ],\n \"example\": \"FILE.UPLOADED\",\n \"title\": \"Webhook Trigger\",\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": null,\n \"skill_name\": \"put_webhooks_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/box/box-openapi/main/openapi.json\",\n \"source_title\": \"Box Platform API\",\n \"summary\": \"Update webhook\",\n \"tags\": [\n \"Webhooks\"\n ]\n }\n}") OPERATION_GROUPS = json.loads("[\n {\n \"common_prefix\": \"/authorize\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /authorize for the authorize route group.\",\n \"id\": \"authorize\",\n \"label\": \"authorize\",\n \"operation_ids\": [\n \"get_authorize\"\n ],\n \"skill_dir\": \"authorize\",\n \"skill_name\": \"authorize-routes\",\n \"skill_path\": \"skills/authorize/SKILL.md\",\n \"subagent_name\": \"authorize-api\"\n },\n {\n \"common_prefix\": \"/oauth2\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /oauth2 for the oauth2 route group.\",\n \"id\": \"oauth2\",\n \"label\": \"oauth2\",\n \"operation_ids\": [\n \"post_oauth2_token\",\n \"post_oauth2_token_refresh\",\n \"post_oauth2_revoke\"\n ],\n \"skill_dir\": \"oauth2\",\n \"skill_name\": \"oauth2-routes\",\n \"skill_path\": \"skills/oauth2/SKILL.md\",\n \"subagent_name\": \"oauth2-api\"\n },\n {\n \"common_prefix\": \"/files\",\n \"description\": \"Handle 48 OpenAPI operation(s) under /files for the files route group.\",\n \"id\": \"files\",\n \"label\": \"files\",\n \"operation_ids\": [\n \"get_files_id\",\n \"post_files_id\",\n \"put_files_id\",\n \"delete_files_id\",\n \"get_files_id_app_item_associations\",\n \"get_files_id_content\",\n \"post_files_id_content\",\n \"options_files_content\",\n \"post_files_content\",\n \"post_files_upload_sessions\",\n \"post_files_id_upload_sessions\",\n \"get_files_upload_sessions_id\",\n \"put_files_upload_sessions_id\",\n \"delete_files_upload_sessions_id\",\n \"get_files_upload_sessions_id_parts\",\n \"post_files_upload_sessions_id_commit\",\n \"post_files_id_copy\",\n \"get_files_id_thumbnail_id\",\n \"get_files_id_collaborations\",\n \"get_files_id_comments\",\n \"get_files_id_tasks\",\n \"get_files_id_trash\",\n \"delete_files_id_trash\",\n \"get_files_id_versions\",\n \"get_files_id_versions_id\",\n \"delete_files_id_versions_id\",\n \"put_files_id_versions_id\",\n \"post_files_id_versions_current\",\n \"get_files_id_metadata\",\n \"get_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"post_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"put_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"delete_files_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"get_files_id_metadata_id_id\",\n \"post_files_id_metadata_id_id\",\n \"put_files_id_metadata_id_id\",\n \"delete_files_id_metadata_id_id\",\n \"get_files_id_metadata_global_box_skills_cards\",\n \"post_files_id_metadata_global_box_skills_cards\",\n \"put_files_id_metadata_global_box_skills_cards\",\n \"delete_files_id_metadata_global_box_skills_cards\",\n \"get_files_id_watermark\",\n \"put_files_id_watermark\",\n \"delete_files_id_watermark\",\n \"get_files_id_get_shared_link\",\n \"put_files_id_add_shared_link\",\n \"put_files_id_update_shared_link\",\n \"put_files_id_remove_shared_link\"\n ],\n \"skill_dir\": \"files\",\n \"skill_name\": \"files-routes\",\n \"skill_path\": \"skills/files/SKILL.md\",\n \"subagent_name\": \"files-api\"\n },\n {\n \"common_prefix\": \"/file_requests/{file_request_id}\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /file_requests/{file_request_id} for the file requests route group.\",\n \"id\": \"file_requests\",\n \"label\": \"file requests\",\n \"operation_ids\": [\n \"get_file_requests_id\",\n \"put_file_requests_id\",\n \"delete_file_requests_id\",\n \"post_file_requests_id_copy\"\n ],\n \"skill_dir\": \"file-requests\",\n \"skill_name\": \"file-requests-routes\",\n \"skill_path\": \"skills/file-requests/SKILL.md\",\n \"subagent_name\": \"file-requests-api\"\n },\n {\n \"common_prefix\": \"/folders\",\n \"description\": \"Handle 28 OpenAPI operation(s) under /folders for the folders route group.\",\n \"id\": \"folders\",\n \"label\": \"folders\",\n \"operation_ids\": [\n \"get_folders_id\",\n \"post_folders_id\",\n \"put_folders_id\",\n \"delete_folders_id\",\n \"get_folders_id_app_item_associations\",\n \"get_folders_id_items\",\n \"post_folders\",\n \"post_folders_id_copy\",\n \"get_folders_id_collaborations\",\n \"get_folders_id_trash\",\n \"delete_folders_id_trash\",\n \"get_folders_id_metadata\",\n \"get_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"post_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"put_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"delete_folders_id_metadata_enterprise_security_classification_6_vm_vochw_u_wo\",\n \"get_folders_id_metadata_id_id\",\n \"post_folders_id_metadata_id_id\",\n \"put_folders_id_metadata_id_id\",\n \"delete_folders_id_metadata_id_id\",\n \"get_folders_trash_items\",\n \"get_folders_id_watermark\",\n \"put_folders_id_watermark\",\n \"delete_folders_id_watermark\",\n \"get_folders_id_get_shared_link\",\n \"put_folders_id_add_shared_link\",\n \"put_folders_id_update_shared_link\",\n \"put_folders_id_remove_shared_link\"\n ],\n \"skill_dir\": \"folders\",\n \"skill_name\": \"folders-routes\",\n \"skill_path\": \"skills/folders/SKILL.md\",\n \"subagent_name\": \"folders-api\"\n },\n {\n \"common_prefix\": \"/folder_locks\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /folder_locks for the folder locks route group.\",\n \"id\": \"folder_locks\",\n \"label\": \"folder locks\",\n \"operation_ids\": [\n \"get_folder_locks\",\n \"post_folder_locks\",\n \"delete_folder_locks_id\"\n ],\n \"skill_dir\": \"folder-locks\",\n \"skill_name\": \"folder-locks-routes\",\n \"skill_path\": \"skills/folder-locks/SKILL.md\",\n \"subagent_name\": \"folder-locks-api\"\n },\n {\n \"common_prefix\": \"/metadata_templates\",\n \"description\": \"Handle 13 OpenAPI operation(s) under /metadata_templates for the metadata templates route group.\",\n \"id\": \"metadata_templates\",\n \"label\": \"metadata templates\",\n \"operation_ids\": [\n \"get_metadata_templates\",\n \"get_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_schema\",\n \"put_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_schema\",\n \"put_metadata_templates_enterprise_security_classification_6_vm_vochw_u_wo_sche_2\",\n \"get_metadata_templates_id_id_schema\",\n \"put_metadata_templates_id_id_schema\",\n \"delete_metadata_templates_id_id_schema\",\n \"get_metadata_templates_id\",\n \"get_metadata_templates_global\",\n \"get_metadata_templates_enterprise\",\n \"post_metadata_templates_schema\",\n \"post_metadata_templates_schema_classifications\",\n \"get_metadata_templates_id_id_fields_id_options\"\n ],\n \"skill_dir\": \"metadata-templates\",\n \"skill_name\": \"metadata-templates-routes\",\n \"skill_path\": \"skills/metadata-templates/SKILL.md\",\n \"subagent_name\": \"metadata-templates-api\"\n },\n {\n \"common_prefix\": \"/metadata_cascade_policies\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /metadata_cascade_policies for the metadata cascade policies route group.\",\n \"id\": \"metadata_cascade_policies\",\n \"label\": \"metadata cascade policies\",\n \"operation_ids\": [\n \"get_metadata_cascade_policies\",\n \"post_metadata_cascade_policies\",\n \"get_metadata_cascade_policies_id\",\n \"delete_metadata_cascade_policies_id\",\n \"post_metadata_cascade_policies_id_apply\"\n ],\n \"skill_dir\": \"metadata-cascade-policies\",\n \"skill_name\": \"metadata-cascade-policies-routes\",\n \"skill_path\": \"skills/metadata-cascade-policies/SKILL.md\",\n \"subagent_name\": \"metadata-cascade-policies-api\"\n },\n {\n \"common_prefix\": \"/metadata_queries/execute_read\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /metadata_queries/execute_read for the metadata queries route group.\",\n \"id\": \"metadata_queries\",\n \"label\": \"metadata queries\",\n \"operation_ids\": [\n \"post_metadata_queries_execute_read\"\n ],\n \"skill_dir\": \"metadata-queries\",\n \"skill_name\": \"metadata-queries-routes\",\n \"skill_path\": \"skills/metadata-queries/SKILL.md\",\n \"subagent_name\": \"metadata-queries-api\"\n },\n {\n \"common_prefix\": \"/comments\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /comments for the comments route group.\",\n \"id\": \"comments\",\n \"label\": \"comments\",\n \"operation_ids\": [\n \"get_comments_id\",\n \"put_comments_id\",\n \"delete_comments_id\",\n \"post_comments\"\n ],\n \"skill_dir\": \"comments\",\n \"skill_name\": \"comments-routes\",\n \"skill_path\": \"skills/comments/SKILL.md\",\n \"subagent_name\": \"comments-api\"\n },\n {\n \"common_prefix\": \"/collaborations\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /collaborations for the collaborations route group.\",\n \"id\": \"collaborations\",\n \"label\": \"collaborations\",\n \"operation_ids\": [\n \"get_collaborations_id\",\n \"put_collaborations_id\",\n \"delete_collaborations_id\",\n \"get_collaborations\",\n \"post_collaborations\"\n ],\n \"skill_dir\": \"collaborations\",\n \"skill_name\": \"collaborations-routes\",\n \"skill_path\": \"skills/collaborations/SKILL.md\",\n \"subagent_name\": \"collaborations-api\"\n },\n {\n \"common_prefix\": \"/search\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /search for the search route group.\",\n \"id\": \"search\",\n \"label\": \"search\",\n \"operation_ids\": [\n \"get_search\"\n ],\n \"skill_dir\": \"search\",\n \"skill_name\": \"search-routes\",\n \"skill_path\": \"skills/search/SKILL.md\",\n \"subagent_name\": \"search-api\"\n },\n {\n \"common_prefix\": \"/tasks\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /tasks for the tasks route group.\",\n \"id\": \"tasks\",\n \"label\": \"tasks\",\n \"operation_ids\": [\n \"post_tasks\",\n \"get_tasks_id\",\n \"put_tasks_id\",\n \"delete_tasks_id\",\n \"get_tasks_id_assignments\"\n ],\n \"skill_dir\": \"tasks\",\n \"skill_name\": \"tasks-routes\",\n \"skill_path\": \"skills/tasks/SKILL.md\",\n \"subagent_name\": \"tasks-api\"\n },\n {\n \"common_prefix\": \"/task_assignments\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /task_assignments for the task assignments route group.\",\n \"id\": \"task_assignments\",\n \"label\": \"task assignments\",\n \"operation_ids\": [\n \"post_task_assignments\",\n \"get_task_assignments_id\",\n \"put_task_assignments_id\",\n \"delete_task_assignments_id\"\n ],\n \"skill_dir\": \"task-assignments\",\n \"skill_name\": \"task-assignments-routes\",\n \"skill_path\": \"skills/task-assignments/SKILL.md\",\n \"subagent_name\": \"task-assignments-api\"\n },\n {\n \"common_prefix\": \"/shared_items\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /shared_items for the shared items route group.\",\n \"id\": \"shared_items\",\n \"label\": \"shared items\",\n \"operation_ids\": [\n \"get_shared_items\"\n ],\n \"skill_dir\": \"shared-items\",\n \"skill_name\": \"shared-items-routes\",\n \"skill_path\": \"skills/shared-items/SKILL.md\",\n \"subagent_name\": \"shared-items-api\"\n },\n {\n \"common_prefix\": \"/shared_items#folders\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /shared_items#folders for the shared items folders route group.\",\n \"id\": \"shared_items_folders\",\n \"label\": \"shared items folders\",\n \"operation_ids\": [\n \"get_shared_items_folders\"\n ],\n \"skill_dir\": \"shared-items-folders\",\n \"skill_name\": \"shared-items-folders-routes\",\n \"skill_path\": \"skills/shared-items-folders/SKILL.md\",\n \"subagent_name\": \"shared-items-folders-api\"\n },\n {\n \"common_prefix\": \"/web_links\",\n \"description\": \"Handle 11 OpenAPI operation(s) under /web_links for the web links route group.\",\n \"id\": \"web_links\",\n \"label\": \"web links\",\n \"operation_ids\": [\n \"post_web_links\",\n \"get_web_links_id\",\n \"post_web_links_id\",\n \"put_web_links_id\",\n \"delete_web_links_id\",\n \"get_web_links_id_trash\",\n \"delete_web_links_id_trash\",\n \"get_web_links_id_get_shared_link\",\n \"put_web_links_id_add_shared_link\",\n \"put_web_links_id_update_shared_link\",\n \"put_web_links_id_remove_shared_link\"\n ],\n \"skill_dir\": \"web-links\",\n \"skill_name\": \"web-links-routes\",\n \"skill_path\": \"skills/web-links/SKILL.md\",\n \"subagent_name\": \"web-links-api\"\n },\n {\n \"common_prefix\": \"/shared_items#web_links\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /shared_items#web_links for the shared items web links route group.\",\n \"id\": \"shared_items_web_links\",\n \"label\": \"shared items web links\",\n \"operation_ids\": [\n \"get_shared_items_web_links\"\n ],\n \"skill_dir\": \"shared-items-web-links\",\n \"skill_name\": \"shared-items-web-links-routes\",\n \"skill_path\": \"skills/shared-items-web-links/SKILL.md\",\n \"subagent_name\": \"shared-items-web-links-api\"\n },\n {\n \"common_prefix\": \"/shared_items#app_items\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /shared_items#app_items for the shared items app items route group.\",\n \"id\": \"shared_items_app_items\",\n \"label\": \"shared items app items\",\n \"operation_ids\": [\n \"get_shared_items_app_items\"\n ],\n \"skill_dir\": \"shared-items-app-items\",\n \"skill_name\": \"shared-items-app-items-routes\",\n \"skill_path\": \"skills/shared-items-app-items/SKILL.md\",\n \"subagent_name\": \"shared-items-app-items-api\"\n },\n {\n \"common_prefix\": \"/users\",\n \"description\": \"Handle 15 OpenAPI operation(s) under /users for the users route group.\",\n \"id\": \"users\",\n \"label\": \"users\",\n \"operation_ids\": [\n \"get_users\",\n \"post_users\",\n \"get_users_me\",\n \"post_users_terminate_sessions\",\n \"get_users_id\",\n \"put_users_id\",\n \"delete_users_id\",\n \"get_users_id_avatar\",\n \"post_users_id_avatar\",\n \"delete_users_id_avatar\",\n \"put_users_id_folders_0\",\n \"get_users_id_email_aliases\",\n \"post_users_id_email_aliases\",\n \"delete_users_id_email_aliases_id\",\n \"get_users_id_memberships\"\n ],\n \"skill_dir\": \"users\",\n \"skill_name\": \"users-routes\",\n \"skill_path\": \"skills/users/SKILL.md\",\n \"subagent_name\": \"users-api\"\n },\n {\n \"common_prefix\": \"/invites\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /invites for the invites route group.\",\n \"id\": \"invites\",\n \"label\": \"invites\",\n \"operation_ids\": [\n \"post_invites\",\n \"get_invites_id\"\n ],\n \"skill_dir\": \"invites\",\n \"skill_name\": \"invites-routes\",\n \"skill_path\": \"skills/invites/SKILL.md\",\n \"subagent_name\": \"invites-api\"\n },\n {\n \"common_prefix\": \"/groups\",\n \"description\": \"Handle 8 OpenAPI operation(s) under /groups for the groups route group.\",\n \"id\": \"groups\",\n \"label\": \"groups\",\n \"operation_ids\": [\n \"get_groups\",\n \"post_groups\",\n \"post_groups_terminate_sessions\",\n \"get_groups_id\",\n \"put_groups_id\",\n \"delete_groups_id\",\n \"get_groups_id_memberships\",\n \"get_groups_id_collaborations\"\n ],\n \"skill_dir\": \"groups\",\n \"skill_name\": \"groups-routes\",\n \"skill_path\": \"skills/groups/SKILL.md\",\n \"subagent_name\": \"groups-api\"\n },\n {\n \"common_prefix\": \"/group_memberships\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /group_memberships for the group memberships route group.\",\n \"id\": \"group_memberships\",\n \"label\": \"group memberships\",\n \"operation_ids\": [\n \"post_group_memberships\",\n \"get_group_memberships_id\",\n \"put_group_memberships_id\",\n \"delete_group_memberships_id\"\n ],\n \"skill_dir\": \"group-memberships\",\n \"skill_name\": \"group-memberships-routes\",\n \"skill_path\": \"skills/group-memberships/SKILL.md\",\n \"subagent_name\": \"group-memberships-api\"\n },\n {\n \"common_prefix\": \"/webhooks\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /webhooks for the webhooks route group.\",\n \"id\": \"webhooks\",\n \"label\": \"webhooks\",\n \"operation_ids\": [\n \"get_webhooks\",\n \"post_webhooks\",\n \"get_webhooks_id\",\n \"put_webhooks_id\",\n \"delete_webhooks_id\"\n ],\n \"skill_dir\": \"webhooks\",\n \"skill_name\": \"webhooks-routes\",\n \"skill_path\": \"skills/webhooks/SKILL.md\",\n \"subagent_name\": \"webhooks-api\"\n },\n {\n \"common_prefix\": \"/skill_invocations/{skill_id}\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /skill_invocations/{skill_id} for the skill invocations route group.\",\n \"id\": \"skill_invocations\",\n \"label\": \"skill invocations\",\n \"operation_ids\": [\n \"put_skill_invocations_id\"\n ],\n \"skill_dir\": \"skill-invocations\",\n \"skill_name\": \"skill-invocations-routes\",\n \"skill_path\": \"skills/skill-invocations/SKILL.md\",\n \"subagent_name\": \"skill-invocations-api\"\n },\n {\n \"common_prefix\": \"/events\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /events for the events route group.\",\n \"id\": \"events\",\n \"label\": \"events\",\n \"operation_ids\": [\n \"options_events\",\n \"get_events\"\n ],\n \"skill_dir\": \"events\",\n \"skill_name\": \"events-routes\",\n \"skill_path\": \"skills/events/SKILL.md\",\n \"subagent_name\": \"events-api\"\n },\n {\n \"common_prefix\": \"/collections\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /collections for the collections route group.\",\n \"id\": \"collections\",\n \"label\": \"collections\",\n \"operation_ids\": [\n \"get_collections\",\n \"get_collections_id_items\",\n \"get_collections_id\"\n ],\n \"skill_dir\": \"collections\",\n \"skill_name\": \"collections-routes\",\n \"skill_path\": \"skills/collections/SKILL.md\",\n \"subagent_name\": \"collections-api\"\n },\n {\n \"common_prefix\": \"/recent_items\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /recent_items for the recent items route group.\",\n \"id\": \"recent_items\",\n \"label\": \"recent items\",\n \"operation_ids\": [\n \"get_recent_items\"\n ],\n \"skill_dir\": \"recent-items\",\n \"skill_name\": \"recent-items-routes\",\n \"skill_path\": \"skills/recent-items/SKILL.md\",\n \"subagent_name\": \"recent-items-api\"\n },\n {\n \"common_prefix\": \"/retention_policies\",\n \"description\": \"Handle 6 OpenAPI operation(s) under /retention_policies for the retention policies route group.\",\n \"id\": \"retention_policies\",\n \"label\": \"retention policies\",\n \"operation_ids\": [\n \"get_retention_policies\",\n \"post_retention_policies\",\n \"get_retention_policies_id\",\n \"put_retention_policies_id\",\n \"delete_retention_policies_id\",\n \"get_retention_policies_id_assignments\"\n ],\n \"skill_dir\": \"retention-policies\",\n \"skill_name\": \"retention-policies-routes\",\n \"skill_path\": \"skills/retention-policies/SKILL.md\",\n \"subagent_name\": \"retention-policies-api\"\n },\n {\n \"common_prefix\": \"/retention_policy_assignments\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /retention_policy_assignments for the retention policy assignments route group.\",\n \"id\": \"retention_policy_assignments\",\n \"label\": \"retention policy assignments\",\n \"operation_ids\": [\n \"post_retention_policy_assignments\",\n \"get_retention_policy_assignments_id\",\n \"delete_retention_policy_assignments_id\",\n \"get_retention_policy_assignments_id_files_under_retention\",\n \"get_retention_policy_assignments_id_file_versions_under_retention\"\n ],\n \"skill_dir\": \"retention-policy-assignments\",\n \"skill_name\": \"retention-policy-assignments-routes\",\n \"skill_path\": \"skills/retention-policy-assignments/SKILL.md\",\n \"subagent_name\": \"retention-policy-assignments-api\"\n },\n {\n \"common_prefix\": \"/legal_hold_policies\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /legal_hold_policies for the legal hold policies route group.\",\n \"id\": \"legal_hold_policies\",\n \"label\": \"legal hold policies\",\n \"operation_ids\": [\n \"get_legal_hold_policies\",\n \"post_legal_hold_policies\",\n \"get_legal_hold_policies_id\",\n \"put_legal_hold_policies_id\",\n \"delete_legal_hold_policies_id\"\n ],\n \"skill_dir\": \"legal-hold-policies\",\n \"skill_name\": \"legal-hold-policies-routes\",\n \"skill_path\": \"skills/legal-hold-policies/SKILL.md\",\n \"subagent_name\": \"legal-hold-policies-api\"\n },\n {\n \"common_prefix\": \"/legal_hold_policy_assignments\",\n \"description\": \"Handle 6 OpenAPI operation(s) under /legal_hold_policy_assignments for the legal hold policy assignments route group.\",\n \"id\": \"legal_hold_policy_assignments\",\n \"label\": \"legal hold policy assignments\",\n \"operation_ids\": [\n \"get_legal_hold_policy_assignments\",\n \"post_legal_hold_policy_assignments\",\n \"get_legal_hold_policy_assignments_id\",\n \"delete_legal_hold_policy_assignments_id\",\n \"get_legal_hold_policy_assignments_id_files_on_hold\",\n \"get_legal_hold_policy_assignments_id_file_versions_on_hold\"\n ],\n \"skill_dir\": \"legal-hold-policy-assignments\",\n \"skill_name\": \"legal-hold-policy-assignments-routes\",\n \"skill_path\": \"skills/legal-hold-policy-assignments/SKILL.md\",\n \"subagent_name\": \"legal-hold-policy-assignments-api\"\n },\n {\n \"common_prefix\": \"/file_version_retentions\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /file_version_retentions for the file version retentions route group.\",\n \"id\": \"file_version_retentions\",\n \"label\": \"file version retentions\",\n \"operation_ids\": [\n \"get_file_version_retentions\",\n \"get_file_version_retentions_id\"\n ],\n \"skill_dir\": \"file-version-retentions\",\n \"skill_name\": \"file-version-retentions-routes\",\n \"skill_path\": \"skills/file-version-retentions/SKILL.md\",\n \"subagent_name\": \"file-version-retentions-api\"\n },\n {\n \"common_prefix\": \"/file_version_legal_holds\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /file_version_legal_holds for the file version legal holds route group.\",\n \"id\": \"file_version_legal_holds\",\n \"label\": \"file version legal holds\",\n \"operation_ids\": [\n \"get_file_version_legal_holds_id\",\n \"get_file_version_legal_holds\"\n ],\n \"skill_dir\": \"file-version-legal-holds\",\n \"skill_name\": \"file-version-legal-holds-routes\",\n \"skill_path\": \"skills/file-version-legal-holds/SKILL.md\",\n \"subagent_name\": \"file-version-legal-holds-api\"\n },\n {\n \"common_prefix\": \"/shield_information_barriers\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /shield_information_barriers for the shield information barriers route group.\",\n \"id\": \"shield_information_barriers\",\n \"label\": \"shield information barriers\",\n \"operation_ids\": [\n \"get_shield_information_barriers_id\",\n \"post_shield_information_barriers_change_status\",\n \"get_shield_information_barriers\",\n \"post_shield_information_barriers\"\n ],\n \"skill_dir\": \"shield-information-barriers\",\n \"skill_name\": \"shield-information-barriers-routes\",\n \"skill_path\": \"skills/shield-information-barriers/SKILL.md\",\n \"subagent_name\": \"shield-information-barriers-api\"\n },\n {\n \"common_prefix\": \"/shield_information_barrier_reports\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /shield_information_barrier_reports for the shield information barrier reports route group.\",\n \"id\": \"shield_information_barrier_reports\",\n \"label\": \"shield information barrier reports\",\n \"operation_ids\": [\n \"get_shield_information_barrier_reports\",\n \"post_shield_information_barrier_reports\",\n \"get_shield_information_barrier_reports_id\"\n ],\n \"skill_dir\": \"shield-information-barrier-reports\",\n \"skill_name\": \"shield-information-barrier-reports-routes\",\n \"skill_path\": \"skills/shield-information-barrier-reports/SKILL.md\",\n \"subagent_name\": \"shield-information-barrier-reports-api\"\n },\n {\n \"common_prefix\": \"/shield_information_barrier_segments\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /shield_information_barrier_segments for the shield information barrier segments route group.\",\n \"id\": \"shield_information_barrier_segments\",\n \"label\": \"shield information barrier segments\",\n \"operation_ids\": [\n \"get_shield_information_barrier_segments_id\",\n \"delete_shield_information_barrier_segments_id\",\n \"put_shield_information_barrier_segments_id\",\n \"get_shield_information_barrier_segments\",\n \"post_shield_information_barrier_segments\"\n ],\n \"skill_dir\": \"shield-information-barrier-segments\",\n \"skill_name\": \"shield-information-barrier-segments-routes\",\n \"skill_path\": \"skills/shield-information-barrier-segments/SKILL.md\",\n \"subagent_name\": \"shield-information-barrier-segments-api\"\n },\n {\n \"common_prefix\": \"/shield_information_barrier_segment_members\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /shield_information_barrier_segment_members for the shield information barrier segment members route group.\",\n \"id\": \"shield_information_barrier_segment_members\",\n \"label\": \"shield information barrier segment members\",\n \"operation_ids\": [\n \"get_shield_information_barrier_segment_members_id\",\n \"delete_shield_information_barrier_segment_members_id\",\n \"get_shield_information_barrier_segment_members\",\n \"post_shield_information_barrier_segment_members\"\n ],\n \"skill_dir\": \"shield-information-barrier-segment-members\",\n \"skill_name\": \"shield-information-barrier-segment-members-routes\",\n \"skill_path\": \"skills/shield-information-barrier-segment-members/SKILL.md\",\n \"subagent_name\": \"shield-information-barrier-segment-members-api\"\n },\n {\n \"common_prefix\": \"/shield_information_barrier_segment_restrictions\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /shield_information_barrier_segment_restrictions for the shield information barrier segment restrictions route group.\",\n \"id\": \"shield_information_barrier_segment_restrictions\",\n \"label\": \"shield information barrier segment restrictions\",\n \"operation_ids\": [\n \"get_shield_information_barrier_segment_restrictions_id\",\n \"delete_shield_information_barrier_segment_restrictions_id\",\n \"get_shield_information_barrier_segment_restrictions\",\n \"post_shield_information_barrier_segment_restrictions\"\n ],\n \"skill_dir\": \"shield-information-barrier-segment-restrictions\",\n \"skill_name\": \"shield-information-barrier-segment-restrictions-routes\",\n \"skill_path\": \"skills/shield-information-barrier-segment-restrictions/SKILL.md\",\n \"subagent_name\": \"shield-information-barrier-segment-restrictions-api\"\n },\n {\n \"common_prefix\": \"/device_pinners/{device_pinner_id}\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /device_pinners/{device_pinner_id} for the device pinners route group.\",\n \"id\": \"device_pinners\",\n \"label\": \"device pinners\",\n \"operation_ids\": [\n \"get_device_pinners_id\",\n \"delete_device_pinners_id\"\n ],\n \"skill_dir\": \"device-pinners\",\n \"skill_name\": \"device-pinners-routes\",\n \"skill_path\": \"skills/device-pinners/SKILL.md\",\n \"subagent_name\": \"device-pinners-api\"\n },\n {\n \"common_prefix\": \"/enterprises/{enterprise_id}/device_pinners\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /enterprises/{enterprise_id}/device_pinners for the enterprises route group.\",\n \"id\": \"enterprises\",\n \"label\": \"enterprises\",\n \"operation_ids\": [\n \"get_enterprises_id_device_pinners\"\n ],\n \"skill_dir\": \"enterprises\",\n \"skill_name\": \"enterprises-routes\",\n \"skill_path\": \"skills/enterprises/SKILL.md\",\n \"subagent_name\": \"enterprises-api\"\n },\n {\n \"common_prefix\": \"/terms_of_services\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /terms_of_services for the terms of services route group.\",\n \"id\": \"terms_of_services\",\n \"label\": \"terms of services\",\n \"operation_ids\": [\n \"get_terms_of_services\",\n \"post_terms_of_services\",\n \"get_terms_of_services_id\",\n \"put_terms_of_services_id\"\n ],\n \"skill_dir\": \"terms-of-services\",\n \"skill_name\": \"terms-of-services-routes\",\n \"skill_path\": \"skills/terms-of-services/SKILL.md\",\n \"subagent_name\": \"terms-of-services-api\"\n },\n {\n \"common_prefix\": \"/terms_of_service_user_statuses\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /terms_of_service_user_statuses for the terms of service user statuses route group.\",\n \"id\": \"terms_of_service_user_statuses\",\n \"label\": \"terms of service user statuses\",\n \"operation_ids\": [\n \"get_terms_of_service_user_statuses\",\n \"post_terms_of_service_user_statuses\",\n \"put_terms_of_service_user_statuses_id\"\n ],\n \"skill_dir\": \"terms-of-service-user-statuses\",\n \"skill_name\": \"terms-of-service-user-statuses-routes\",\n \"skill_path\": \"skills/terms-of-service-user-statuses/SKILL.md\",\n \"subagent_name\": \"terms-of-service-user-statuses-api\"\n },\n {\n \"common_prefix\": \"/collaboration_whitelist_entries\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /collaboration_whitelist_entries for the collaboration whitelist entries route group.\",\n \"id\": \"collaboration_whitelist_entries\",\n \"label\": \"collaboration whitelist entries\",\n \"operation_ids\": [\n \"get_collaboration_whitelist_entries\",\n \"post_collaboration_whitelist_entries\",\n \"get_collaboration_whitelist_entries_id\",\n \"delete_collaboration_whitelist_entries_id\"\n ],\n \"skill_dir\": \"collaboration-whitelist-entries\",\n \"skill_name\": \"collaboration-whitelist-entries-routes\",\n \"skill_path\": \"skills/collaboration-whitelist-entries/SKILL.md\",\n \"subagent_name\": \"collaboration-whitelist-entries-api\"\n },\n {\n \"common_prefix\": \"/collaboration_whitelist_exempt_targets\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /collaboration_whitelist_exempt_targets for the collaboration whitelist exempt targets route group.\",\n \"id\": \"collaboration_whitelist_exempt_targets\",\n \"label\": \"collaboration whitelist exempt targets\",\n \"operation_ids\": [\n \"get_collaboration_whitelist_exempt_targets\",\n \"post_collaboration_whitelist_exempt_targets\",\n \"get_collaboration_whitelist_exempt_targets_id\",\n \"delete_collaboration_whitelist_exempt_targets_id\"\n ],\n \"skill_dir\": \"collaboration-whitelist-exempt-targets\",\n \"skill_name\": \"collaboration-whitelist-exempt-targets-routes\",\n \"skill_path\": \"skills/collaboration-whitelist-exempt-targets/SKILL.md\",\n \"subagent_name\": \"collaboration-whitelist-exempt-targets-api\"\n },\n {\n \"common_prefix\": \"/storage_policies\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /storage_policies for the storage policies route group.\",\n \"id\": \"storage_policies\",\n \"label\": \"storage policies\",\n \"operation_ids\": [\n \"get_storage_policies\",\n \"get_storage_policies_id\"\n ],\n \"skill_dir\": \"storage-policies\",\n \"skill_name\": \"storage-policies-routes\",\n \"skill_path\": \"skills/storage-policies/SKILL.md\",\n \"subagent_name\": \"storage-policies-api\"\n },\n {\n \"common_prefix\": \"/storage_policy_assignments\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /storage_policy_assignments for the storage policy assignments route group.\",\n \"id\": \"storage_policy_assignments\",\n \"label\": \"storage policy assignments\",\n \"operation_ids\": [\n \"get_storage_policy_assignments\",\n \"post_storage_policy_assignments\",\n \"get_storage_policy_assignments_id\",\n \"put_storage_policy_assignments_id\",\n \"delete_storage_policy_assignments_id\"\n ],\n \"skill_dir\": \"storage-policy-assignments\",\n \"skill_name\": \"storage-policy-assignments-routes\",\n \"skill_path\": \"skills/storage-policy-assignments/SKILL.md\",\n \"subagent_name\": \"storage-policy-assignments-api\"\n },\n {\n \"common_prefix\": \"/zip_downloads\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /zip_downloads for the zip downloads route group.\",\n \"id\": \"zip_downloads\",\n \"label\": \"zip downloads\",\n \"operation_ids\": [\n \"post_zip_downloads\",\n \"get_zip_downloads_id_content\",\n \"get_zip_downloads_id_status\"\n ],\n \"skill_dir\": \"zip-downloads\",\n \"skill_name\": \"zip-downloads-routes\",\n \"skill_path\": \"skills/zip-downloads/SKILL.md\",\n \"subagent_name\": \"zip-downloads-api\"\n },\n {\n \"common_prefix\": \"/sign_requests\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /sign_requests for the sign requests route group.\",\n \"id\": \"sign_requests\",\n \"label\": \"sign requests\",\n \"operation_ids\": [\n \"post_sign_requests_id_cancel\",\n \"post_sign_requests_id_resend\",\n \"get_sign_requests_id\",\n \"get_sign_requests\",\n \"post_sign_requests\"\n ],\n \"skill_dir\": \"sign-requests\",\n \"skill_name\": \"sign-requests-routes\",\n \"skill_path\": \"skills/sign-requests/SKILL.md\",\n \"subagent_name\": \"sign-requests-api\"\n },\n {\n \"common_prefix\": \"/workflows\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /workflows for the workflows route group.\",\n \"id\": \"workflows\",\n \"label\": \"workflows\",\n \"operation_ids\": [\n \"get_workflows\",\n \"post_workflows_id_start\"\n ],\n \"skill_dir\": \"workflows\",\n \"skill_name\": \"workflows-routes\",\n \"skill_path\": \"skills/workflows/SKILL.md\",\n \"subagent_name\": \"workflows-api\"\n },\n {\n \"common_prefix\": \"/sign_templates\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /sign_templates for the sign templates route group.\",\n \"id\": \"sign_templates\",\n \"label\": \"sign templates\",\n \"operation_ids\": [\n \"get_sign_templates\",\n \"get_sign_templates_id\"\n ],\n \"skill_dir\": \"sign-templates\",\n \"skill_name\": \"sign-templates-routes\",\n \"skill_path\": \"skills/sign-templates/SKILL.md\",\n \"subagent_name\": \"sign-templates-api\"\n },\n {\n \"common_prefix\": \"/integration_mappings\",\n \"description\": \"Handle 8 OpenAPI operation(s) under /integration_mappings for the integration mappings route group.\",\n \"id\": \"integration_mappings\",\n \"label\": \"integration mappings\",\n \"operation_ids\": [\n \"get_integration_mappings_slack\",\n \"post_integration_mappings_slack\",\n \"put_integration_mappings_slack_id\",\n \"delete_integration_mappings_slack_id\",\n \"get_integration_mappings_teams\",\n \"post_integration_mappings_teams\",\n \"put_integration_mappings_teams_id\",\n \"delete_integration_mappings_teams_id\"\n ],\n \"skill_dir\": \"integration-mappings\",\n \"skill_name\": \"integration-mappings-routes\",\n \"skill_path\": \"skills/integration-mappings/SKILL.md\",\n \"subagent_name\": \"integration-mappings-api\"\n },\n {\n \"common_prefix\": \"/ai\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /ai for the ai route group.\",\n \"id\": \"ai\",\n \"label\": \"ai\",\n \"operation_ids\": [\n \"post_ai_ask\",\n \"post_ai_text_gen\",\n \"post_ai_extract\",\n \"post_ai_extract_structured\"\n ],\n \"skill_dir\": \"ai\",\n \"skill_name\": \"ai-routes\",\n \"skill_path\": \"skills/ai/SKILL.md\",\n \"subagent_name\": \"ai-api\"\n },\n {\n \"common_prefix\": \"/ai_agent_default\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /ai_agent_default for the ai agent default route group.\",\n \"id\": \"ai_agent_default\",\n \"label\": \"ai agent default\",\n \"operation_ids\": [\n \"get_ai_agent_default\"\n ],\n \"skill_dir\": \"ai-agent-default\",\n \"skill_name\": \"ai-agent-default-routes\",\n \"skill_path\": \"skills/ai-agent-default/SKILL.md\",\n \"subagent_name\": \"ai-agent-default-api\"\n },\n {\n \"common_prefix\": \"/ai_agents\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /ai_agents for the ai agents route group.\",\n \"id\": \"ai_agents\",\n \"label\": \"ai agents\",\n \"operation_ids\": [\n \"get_ai_agents\",\n \"post_ai_agents\",\n \"put_ai_agents_id\",\n \"get_ai_agents_id\",\n \"delete_ai_agents_id\"\n ],\n \"skill_dir\": \"ai-agents\",\n \"skill_name\": \"ai-agents-routes\",\n \"skill_path\": \"skills/ai-agents/SKILL.md\",\n \"subagent_name\": \"ai-agents-api\"\n },\n {\n \"common_prefix\": \"/metadata_taxonomies\",\n \"description\": \"Handle 14 OpenAPI operation(s) under /metadata_taxonomies for the metadata taxonomies route group.\",\n \"id\": \"metadata_taxonomies\",\n \"label\": \"metadata taxonomies\",\n \"operation_ids\": [\n \"post_metadata_taxonomies\",\n \"get_metadata_taxonomies_id\",\n \"get_metadata_taxonomies_id_id\",\n \"patch_metadata_taxonomies_id_id\",\n \"delete_metadata_taxonomies_id_id\",\n \"post_metadata_taxonomies_id_id_levels\",\n \"patch_metadata_taxonomies_id_id_levels_id\",\n \"post_metadata_taxonomies_id_id_levels_append\",\n \"post_metadata_taxonomies_id_id_levels_trim\",\n \"get_metadata_taxonomies_id_id_nodes\",\n \"post_metadata_taxonomies_id_id_nodes\",\n \"get_metadata_taxonomies_id_id_nodes_id\",\n \"patch_metadata_taxonomies_id_id_nodes_id\",\n \"delete_metadata_taxonomies_id_id_nodes_id\"\n ],\n \"skill_dir\": \"metadata-taxonomies\",\n \"skill_name\": \"metadata-taxonomies-routes\",\n \"skill_path\": \"skills/metadata-taxonomies/SKILL.md\",\n \"subagent_name\": \"metadata-taxonomies-api\"\n }\n]") ROOT_SECURITY = json.loads("[\n {\n \"OAuth2Security\": []\n }\n]") SECURITY_SCHEMES = json.loads("{\n \"OAuth2Security\": {\n \"flows\": {\n \"authorizationCode\": {\n \"authorizationUrl\": \"https://account.box.com/api/oauth2/authorize\",\n \"scopes\": {\n \"manage_app_users\": \"Provision and manage app users\",\n \"manage_data_retention\": \"Manage data retention polices\",\n \"manage_enterprise_properties\": \"Manage enterprise properties\",\n \"manage_groups\": \"Manage an enterprise's groups\",\n \"manage_legal_hold\": \"Manage Legal Holds\",\n \"manage_managed_users\": \"Provision and manage managed users\",\n \"manage_webhook\": \"Create webhooks programmatically through the API\",\n \"root_readonly\": \"Read all files and folders stored in Box\",\n \"root_readwrite\": \"Read and write all files and folders stored in Box\"\n },\n \"tokenUrl\": \"https://api.box.com/oauth2/token\"\n }\n },\n \"type\": \"oauth2\"\n }\n}") SECURITY_FIELDS = json.loads("{\n \"OAuth2Security\": {\n \"field\": \"OAUTH2SECURITY\",\n \"kind\": \"oauth2\",\n \"scheme\": \"Bearer\"\n }\n}") PATH_PARAMETER_RE = re.compile(r"{([^}/]+)}") SOURCE_ROOT = Path(globals().get("__file__", "agent.py")).resolve().parent SOURCE_SKILLS_DIR = SOURCE_ROOT / "skills" RUNTIME_SKILLS_DIR = ".deepagents/openapi-skills/" class OperationInput(BaseModel): parameters: dict[str, Any] = Field( default_factory=dict, description="Path, query, header, and cookie parameters keyed by OpenAPI parameter name.", ) body: Any | None = Field(default=None, description="JSON request body, when the operation accepts one.") class BoxPlatformOpenapiAgent(A2AAgent): name = "box-platform-openapi-agent" description = "Content cloud API for files, folders, metadata, governance, AI, and users." version = "2024.0" consumer_setup = ConsumerSetup.from_fields( ConsumerSetupField.config("OPENAPI_BASE_URL", label="API base URL", description="Override the default API server (https://api.box.com/2.0).", required=False, input_type="url"), ConsumerSetupField.secret("OAUTH2SECURITY", label="OAuth2Security access token", description="OAuth/OIDC access token.", required=True), ) llm_provisioning = LLMProvisioning.PLATFORM pricing = Pricing( price_per_call_usd=0.0, caller_pays_llm=True, notes="Uses the caller's saved LLM credential through ctx.llm.", ) resources = Resources(cpu="200m", memory="512Mi") egress = EgressPolicy( allow_hosts=('api.box.com',), deny_internet_by_default=True, ) tools_used = ("openapi", "deepagents") capabilities = { "openapi_auto_agent": { "operation_count": len(OPERATIONS), "default_base_url": DEFAULT_BASE_URL, "source_openapi_url": 'https://raw.githubusercontent.com/box/box-openapi/main/openapi.json', "source_openapi_urls": ['https://raw.githubusercontent.com/box/box-openapi/main/openapi.json'], "server_urls": ['https://api.box.com/2.0'], "regenerable": True, "security_schemes": list(SECURITY_SCHEMES), } } @skill( name="auto", description="Use the OpenAPI service to complete a natural-language goal.", tags=("openapi", "auto"), timeout_seconds=900, ) async def auto(self, ctx: RunContext, goal: str) -> dict[str, Any]: creds = ctx.llm if not creds.api_key: return { "error": "llm_credentials_missing", "final": ( "LLM key required. Add an LLM credential in Settings > " "LLM credentials before running this agent." ), "messages": [], } backend = ctx.workspace_backend() skills_root = _seed_runtime_skills(backend, ctx) graph = create_a2a_deep_agent( ctx, creds=creds, backend=backend, tools=[], subagents=self._operation_subagents(ctx, skills_root), system_prompt=self._system_prompt(), ) result = await graph.ainvoke({"messages": [{"role": "user", "content": goal}]}) messages = result.get("messages", []) if isinstance(result, dict) else [] final = _message_text(messages[-1]) if messages else result return { "final": final, "messages": [_message_to_dict(message) for message in messages[-8:]], } def _operation_subagents(self, ctx: RunContext, skills_root: str) -> list[dict[str, Any]]: subagents: list[dict[str, Any]] = [] for group in OPERATION_GROUPS: skill_path = ( f"{skills_root}{group['skill_dir']}/" if skills_root else "" ) subagent = { "name": group["subagent_name"], "description": group["description"], "system_prompt": self._subagent_prompt(group), "tools": self._operation_tools(ctx, set(group["operation_ids"])), } if skill_path: subagent["skills"] = [skill_path] subagents.append(subagent) return subagents def _operation_tools( self, ctx: RunContext, operation_ids: set[str] | None = None, ) -> list[StructuredTool]: tools: list[StructuredTool] = [] for operation_id, operation in OPERATIONS.items(): if operation_ids is not None and operation_id not in operation_ids: continue async def call( parameters: dict[str, Any] | None = None, body: Any | None = None, *, _operation_id: str = operation_id, ) -> dict[str, Any]: return await self._request( ctx, _operation_id, parameters=parameters or {}, body=body, ) tools.append( StructuredTool.from_function( coroutine=call, name=operation["skill_name"], description=self._tool_description(operation), args_schema=OperationInput, ) ) return tools def _system_prompt(self) -> str: if OPERATION_GROUPS: lines = [ "You coordinate route-specific OpenAPI subagents.", "Delegate API work to the matching subagent with the task tool.", "Do not invent API responses; ask subagents to call their tools for real results.", "If a subagent reports missing consumer setup, tell the user which setup field is required.", "If a subagent reports that the generated OpenAPI agent may be stale, ask whether the user wants to refresh it from the latest OpenAPI spec.", "", "Available route groups:", ] for group in OPERATION_GROUPS: lines.append( f"- {group['subagent_name']}: {group['description']}" ) return "\n".join(lines) lines = [ "You operate an API through generated OpenAPI tools.", "Call tools to get real results. Do not invent API responses.", "For write, update, or delete operations, explain the intended action before calling the tool.", "If an operation reports missing consumer setup, tell the user which setup field is required.", "If an operation returns 404, 405, 410, or a schema/validation error that suggests the live API no longer matches these tools, tell the user this generated agent may need to be refreshed from the latest OpenAPI spec and ask whether they want to refresh it.", "", "Available operations:", ] for operation in OPERATIONS.values(): marker = "WRITE" if operation.get("destructive") else "READ" lines.append( f"- {operation['skill_name']}: {marker} {operation['method']} {operation['path']} — {operation['summary']}" ) return "\n".join(lines) def _subagent_prompt(self, group: dict[str, Any]) -> str: lines = [ "You operate one route group from a generated OpenAPI API.", "Use the available operation tools to make real API calls. Do not invent API responses.", "Read the route group's SKILL.md when it applies; it lists every route you cover.", "For write, update, or delete operations, explain the intended action before calling the tool.", "If an operation reports missing consumer setup, return the exact setup field name.", "If an operation returns 404, 405, 410, or a schema/validation error that suggests the live API no longer matches these tools, say the generated agent may need to be refreshed from the latest OpenAPI spec.", "", f"Route group: {group['label']}", f"Common prefix: {group.get('common_prefix') or '/'}", "Available operation tools:", ] for operation_id in group["operation_ids"]: operation = OPERATIONS[operation_id] marker = "WRITE" if operation.get("destructive") else "READ" lines.append( f"- {operation['skill_name']}: {marker} {operation['method']} {operation['path']} - {operation['summary']}" ) return "\n".join(lines) def _tool_description(self, operation: dict[str, Any]) -> str: parts = [ f"{operation['method']} {operation['path']}", str(operation.get("description") or operation.get("summary") or ""), ] if operation.get("parameters"): parts.append( "Parameters: " + ", ".join( f"{p['name']} in {p['in']}{' required' if p.get('required') else ''}" for p in operation["parameters"] ) ) if operation.get("request_body") is not None: parts.append("Accepts a JSON request body.") return "\n".join(part for part in parts if part) async def _request( self, ctx: RunContext, operation_id: str, *, parameters: dict[str, Any], body: Any | None, ) -> dict[str, Any]: operation = OPERATIONS[operation_id] default_base_url = str(operation.get("base_url") or DEFAULT_BASE_URL).rstrip("/") base_url_field = str(operation.get("base_url_field") or "OPENAPI_BASE_URL") base_url = str(ctx.consumer_config(base_url_field, default_base_url) or default_base_url).rstrip("/") url, query, headers = self._request_parts(ctx, operation, parameters) request_kwargs: dict[str, Any] = { "params": query, "headers": headers, } if body is not None: if isinstance(body, (bytes, bytearray)): body = body.decode("utf-8", errors="replace") if isinstance(body, str): stripped = body.strip() if stripped and stripped[0] in "{[": try: body = json.loads(stripped) except ValueError: pass request_kwargs["json"] = body async with httpx.AsyncClient(timeout=60.0, follow_redirects=True) as client: response = await client.request( operation["method"], f"{base_url}{url}", **request_kwargs, ) content_type = response.headers.get("content-type", "") try: payload: Any = response.json() if "json" in content_type else response.text except ValueError: payload = response.text if response.status_code >= 400: out = { "ok": False, "status_code": response.status_code, "operation_id": operation_id, "error": payload, } if response.status_code in {404, 405, 410, 422}: out["stale_openapi_hint"] = ( "This generated OpenAPI agent may be stale. Ask the user " "whether they want to refresh it from the latest OpenAPI spec." ) return out return { "ok": True, "status_code": response.status_code, "operation_id": operation_id, "result": payload, } def _request_parts( self, ctx: RunContext, operation: dict[str, Any], parameters: dict[str, Any], ) -> tuple[str, dict[str, Any], dict[str, str]]: path = operation["path"] query: dict[str, Any] = {} headers: dict[str, str] = {} cookies: dict[str, Any] = {} for param in operation.get("parameters") or []: name = param["name"] if name not in parameters: if param.get("required"): raise ValueError(f"missing required parameter {name!r}") continue value = parameters[name] location = param["in"] if location == "path": path = path.replace("{" + name + "}", str(value)) elif location == "query": query[name] = value elif location == "header": headers[name] = str(value) elif location == "cookie": cookies[name] = value unresolved = PATH_PARAMETER_RE.findall(path) if unresolved: missing = ", ".join(sorted(set(unresolved))) raise ValueError("missing required path parameter(s): " + missing) if cookies: headers["cookie"] = "; ".join(f"{key}={value}" for key, value in cookies.items()) auth_headers, auth_query = self._auth_for_operation(ctx, operation) headers.update(auth_headers) query.update(auth_query) return path, query, headers def _auth_for_operation(self, ctx: RunContext, operation: dict[str, Any]) -> tuple[dict[str, str], dict[str, Any]]: requirements = operation.get("security") if requirements is None: requirements = ROOT_SECURITY if requirements == []: return {}, {} missing: list[str] = [] for requirement in requirements or []: if not isinstance(requirement, dict) or not requirement: return {}, {} headers: dict[str, str] = {} query: dict[str, Any] = {} ok = True for scheme_name in requirement: mapping = SECURITY_FIELDS.get(scheme_name) or {} secret_name = mapping.get("field") value = _consumer_secret_optional(ctx, secret_name) if secret_name else "" if not value: ok = False if secret_name: missing.append(secret_name) continue kind = mapping.get("kind") if kind == "apiKey": prefix = mapping.get("prefix") or "" sent_value = f"{prefix}{value}" if mapping.get("location") == "query": query[mapping.get("name") or scheme_name] = sent_value else: headers[mapping.get("name") or scheme_name] = sent_value elif kind in {"http", "oauth2"}: scheme = mapping.get("scheme") or "Bearer" if scheme.lower() == "basic": token = base64.b64encode(value.encode("utf-8")).decode("ascii") headers["authorization"] = f"Basic {token}" else: headers["authorization"] = f"{scheme} {value}" else: ok = False if ok: return headers, query if missing: raise ConsumerSetupMissing( "operation requires consumer setup secret(s): " + ", ".join(sorted(set(missing))) ) return {}, {} def _consumer_secret_optional(ctx: RunContext, name: str | None) -> str: if not name: return "" try: return ctx.consumer_secret(name) except ConsumerSetupMissing: return "" def _runtime_skills_root(ctx: RunContext) -> str: workspace = getattr(ctx, "_workspace", None) prefixes = tuple(getattr(workspace, "write_prefixes", ()) or ()) if not prefixes: outputs_prefix = getattr(workspace, "outputs_prefix", None) prefixes = (outputs_prefix or "outputs/",) prefix = str(prefixes[0]).strip("/") return f"/{prefix}/{RUNTIME_SKILLS_DIR}" if prefix else f"/{RUNTIME_SKILLS_DIR}" def _seed_runtime_skills(backend: Any, ctx: RunContext) -> str: if not SOURCE_SKILLS_DIR.exists(): return "" runtime_root = _runtime_skills_root(ctx) uploads: list[tuple[str, bytes]] = [] for path in SOURCE_SKILLS_DIR.rglob("*"): if not path.is_file(): continue rel = path.relative_to(SOURCE_SKILLS_DIR).as_posix() uploads.append((runtime_root + rel, path.read_bytes())) if not uploads: return "" backend.upload_files(uploads) return runtime_root def _message_text(message: Any) -> Any: content = getattr(message, "content", message) return content def _message_to_dict(message: Any) -> dict[str, Any]: if isinstance(message, BaseMessage): return message.model_dump(mode="json") if hasattr(message, "model_dump"): return message.model_dump(mode="json") if isinstance(message, dict): return message return {"content": str(message)} agent = BoxPlatformOpenapiAgent()