diff --git a/openapi.json b/openapi.json index 9a55cf5f..b412f81d 100644 --- a/openapi.json +++ b/openapi.json @@ -24347,4448 +24347,3096 @@ } } } - } - }, - "components": { - "securitySchemes": { - "OAuth2Security": { - "type": "oauth2", - "flows": { - "authorizationCode": { - "authorizationUrl": "https://account.box.com/api/oauth2/authorize", - "tokenUrl": "https://api.box.com/oauth2/token", - "scopes": { - "root_readonly": "Read all files and folders stored in Box", - "root_readwrite": "Read and write all files and folders stored in Box", - "manage_app_users": "Provision and manage app users", - "manage_managed_users": "Provision and manage managed users", - "manage_groups": "Manage an enterprise's groups", - "manage_webhook": "Create webhooks programmatically through the API", - "manage_enterprise_properties": "Manage enterprise properties", - "manage_data_retention": "Manage data retention polices", - "manage_legal_hold": "Manage Legal Holds" - } - } - } - } }, - "schemas": { - "AiAsk": { - "title": "AI ask request", - "type": "object", - "x-box-tag": "ai", - "required": [ - "prompt", - "items", - "mode" + "/docgen_templates": { + "post": { + "operationId": "post_docgen_templates", + "summary": "Add file with docgen template", + "tags": [ + "Docgen Template" ], - "properties": { - "mode": { - "type": "string", - "description": "The mode specifies if this request is for a single or multiple items. If you select `single_item_qa` the `items` array can have one element only. Selecting `multiple_item_qa` allows you to provide up to 25 items.", - "enum": [ - "multiple_item_qa", - "single_item_qa" - ], - "example": "multiple_item_qa", - "nullable": false - }, - "prompt": { - "type": "string", - "description": "The prompt provided by the client to be answered by the LLM. The prompt's length is limited to 10000 characters.", - "example": "What is the value provided by public APIs based on this document?" + "x-box-tag": "docgen_template", + "description": "Creates a Docgen template", + "requestBody": { + "description": "Docgen entity object to be marked as Docgen template", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenTemplateCreateRequest" + } + } + } + }, + "responses": { + "201": { + "description": "The file which has now been marked as a Docgen template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenTemplate--Base" + } + } + } }, - "items": { - "type": "array", - "description": "The items to be processed by the LLM, often files.\n\n**Note**: Box AI handles documents with text representations up to 1MB in size, or a maximum of 25 files, whichever comes first.\nIf the file size exceeds 1MB, the first 1MB of text representation will be processed.\nIf you set `mode` parameter to `single_item_qa`, the `items` array can have one element only. ", - "minItems": 1, - "maxItems": 25, - "uniqueItems": true, - "items": { - "$ref": "#/components/schemas/AiItem--Base" + "400": { + "description": "The server cannot or will not process the request due to an apparent client error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } } }, - "dialogue_history": { - "type": "array", - "description": "The history of prompts and answers previously passed to the LLM. This provides additional context to the LLM in generating the response.", - "items": { - "$ref": "#/components/schemas/AiDialogueHistory" + "403": { + "description": "The client does not have access rights to the content or resource requested.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } } }, - "include_citations": { - "type": "boolean", - "description": "A flag to indicate whether citations should be returned.", - "example": true + "429": { + "description": "The user has sent too many requests in a given amount of time.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "ai_agent": { - "$ref": "#/components/schemas/AiAgentAsk" + "default": { + "description": "An unexpected condition was encountered on the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } } - }, - "description": "AI ask request object" + } }, - "AiTextGen": { - "title": "AI text gen request", - "type": "object", - "x-box-tag": "ai", - "required": [ - "prompt", - "items" + "get": { + "operationId": "get_docgen_templates", + "summary": "List docgen templates", + "tags": [ + "Docgen Template" ], - "properties": { - "prompt": { - "type": "string", - "description": "The prompt provided by the client to be answered by the LLM. The prompt's length is limited to 10000 characters.", - "example": "Write an email to a client about the importance of public APIs." - }, - "items": { - "type": "array", - "description": "The items to be processed by the LLM, often files.\nThe array can include **exactly one** element.\n\n**Note**: Box AI handles documents with text representations up to 1MB in size.\nIf the file size exceeds 1MB, the first 1MB of text representation will be processed.", - "minItems": 1, - "maxItems": 1, - "uniqueItems": true, - "items": { - "required": [ - "id", - "type" - ], - "type": "object", - "description": "The item to be processed by the LLM.", - "properties": { - "id": { - "type": "string", - "description": "The ID of the item.", - "example": "123" - }, - "type": { - "type": "string", - "description": "The type of the item.", - "enum": [ - "file" - ], - "example": "file" - }, - "content": { - "type": "string", - "description": "The content to use as context for generating new text or editing existing text.", - "example": "This is file content that is relevant to the text gen request." - } - } + "x-box-tag": "docgen_template", + "description": "Lists docgen templates created by a user.", + "parameters": [ + { + "name": "marker", + "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`.", + "in": "query", + "required": false, + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "schema": { + "type": "string" } }, - "dialogue_history": { - "type": "array", - "description": "The history of prompts and answers previously passed to the LLM. This parameter provides the additional context to the LLM when generating the response.", - "items": { - "$ref": "#/components/schemas/AiDialogueHistory" + { + "name": "limit", + "description": "The maximum number of items to return per page.", + "in": "query", + "required": false, + "example": 1000, + "schema": { + "type": "integer", + "format": "int64", + "maximum": 1000 } - }, - "ai_agent": { - "$ref": "#/components/schemas/AiAgentTextGen" } - }, - "description": "AI text gen request object" - }, - "AiExtractStructured": { - "title": "AI Extract Structured Request", - "type": "object", - "x-box-tag": "ai", - "required": [ - "items" ], - "properties": { - "items": { - "type": "array", - "description": "The items to be processed by the LLM. Currently you can use files only.", - "minItems": 1, - "maxItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/components/schemas/AiItem--Base" + "responses": { + "200": { + "description": "Returns a collection of templates.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenTemplates" + } + } } }, - "metadata_template": { - "type": "object", - "description": "The metadata template containing the fields to extract.\nFor your request to work, you must provide either `metadata_template` or `fields`, but not both.", - "properties": { - "template_key": { - "type": "string", - "description": "The name of the metadata template.", - "example": "invoiceTemplate" - }, - "type": { - "type": "string", - "enum": [ - "metadata_template" - ], - "description": "Value is always `metadata_template`.", - "example": "metadata_template" - }, - "scope": { - "type": "string", - "description": "The scope of the metadata template that can either be global or\nenterprise. \n* The **global** scope is used for templates that are\navailable to any Box enterprise. \n* The **enterprise** scope represents templates created within a specific enterprise,\n containing the ID of that enterprise.", - "example": "enterprise_12345", - "maxLength": 40 + "401": { + "description": "Returned when the access token provided in the `Authorization` header\nis not recognized or not provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } } } }, - "fields": { - "type": "array", - "description": "The fields to be extracted from the provided items.\nFor your request to work, you must provide either `metadata_template` or `fields`, but not both.", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "description": "The fields to be extracted from the provided items.", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string", - "description": "A unique identifier for the field.", - "example": "name" - }, - "description": { - "type": "string", - "description": "A description of the field.", - "example": "The name of the person." - }, - "displayName": { - "type": "string", - "description": "The display name of the field.", - "example": "Name" - }, - "prompt": { - "type": "string", - "description": "The context about the key that may include how to find and format it.", - "example": "Name is the first and last name from the email address" - }, - "type": { - "type": "string", - "description": "The type of the field. It include but is not limited to string, float, date, enum, and multiSelect.", - "example": "enum" - }, - "options": { - "type": "array", - "description": "A list of options for this field. This is most often used in combination with the enum and multiSelect field types.", - "items": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string", - "description": "A unique identifier for the field.", - "example": "First Name" - } - } - }, - "example": [ - { - "key": "First Name" - }, - { - "key": "Last Name" - } - ] + "default": { + "description": "An unexpected client error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" } } } - }, - "ai_agent": { - "$ref": "#/components/schemas/AiAgentExtractStructured" } - }, - "description": "AI Extract Structured Request object." - }, - "AiExtract": { - "title": "AI metadata freeform extraction request", - "type": "object", - "x-box-tag": "ai", - "required": [ - "prompt", - "items" + } + } + }, + "/docgen_templates/{template_id}": { + "delete": { + "operationId": "delete_docgen_templates_id", + "summary": "Delete file as docgen template", + "tags": [ + "Docgen Template" ], - "properties": { - "prompt": { - "type": "string", - "description": "The prompt provided to a Large Language Model (LLM) in the request. The prompt can be up to 10000 characters long and it can be an XML or a JSON schema.", - "example": "\\\"fields\\\":[{\\\"type\\\":\\\"string\\\",\\\"key\\\":\\\"name\\\",\\\"displayName\\\":\\\"Name\\\",\\\"description\\\":\\\"The customer name\\\",\\\"prompt\\\":\\\"Name is always the first word in the document\\\"},{\\\"type\\\":\\\"date\\\",\\\"key\\\":\\\"last_contacted_at\\\",\\\"displayName\\\":\\\"Last Contacted At\\\",\\\"description\\\":\\\"When this customer was last contacted at\\\"}]" - }, - "items": { - "type": "array", - "description": "The items that LLM will process. Currently, you can use files only.", - "minItems": 1, - "maxItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/components/schemas/AiItem--Base" - } - }, - "ai_agent": { - "$ref": "#/components/schemas/AiAgentExtract" + "x-box-tag": "docgen_template", + "description": "Unmarks file as Docgen template", + "parameters": [ + { + "name": "template_id", + "in": "path", + "description": "Id of file which will be unmarked as a docgen template", + "required": true, + "schema": { + "type": "string" + }, + "example": "123" } - }, - "description": "AI metadata freeform extraction request object" - }, - "PostOAuth2Token": { - "title": "Token request", - "type": "object", - "description": "A request for a new OAuth 2.0 token", - "required": [ - "grant_type" ], - "properties": { - "grant_type": { - "type": "string", - "format": "urn", - "example": "authorization_code", - "description": "The type of request being made, either using a client-side obtained\nauthorization code, a refresh token, a JWT assertion, client credentials\ngrant or another access token for the purpose of downscoping a token.", - "enum": [ - "authorization_code", - "refresh_token", - "client_credentials", - "urn:ietf:params:oauth:grant-type:jwt-bearer", - "urn:ietf:params:oauth:grant-type:token-exchange" - ] - }, - "client_id": { - "type": "string", - "description": "The Client ID of the application requesting an access token.\n\nUsed in combination with `authorization_code`, `client_credentials`, or\n`urn:ietf:params:oauth:grant-type:jwt-bearer` as the `grant_type`.", - "example": "ly1nj6n11vionaie65emwzk575hnnmrk" - }, - "client_secret": { - "type": "string", - "description": "The client secret of the application requesting an access token.\n\nUsed in combination with `authorization_code`, `client_credentials`, or\n`urn:ietf:params:oauth:grant-type:jwt-bearer` as the `grant_type`.", - "example": "hOzsTeFlT6ko0dme22uGbQal04SBPYc1" - }, - "code": { - "type": "string", - "format": "token", - "description": "The client-side authorization code passed to your application by\nBox in the browser redirect after the user has successfully\ngranted your application permission to make API calls on their\nbehalf.\n\nUsed in combination with `authorization_code` as the `grant_type`.", - "example": "n22JPxrh18m4Y0wIZPIqYZK7VRrsMTWW" - }, - "refresh_token": { - "type": "string", - "format": "token", - "description": "A refresh token used to get a new access token with.\n\nUsed in combination with `refresh_token` as the `grant_type`.", - "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ" - }, - "assertion": { - "type": "string", - "format": "jwt", - "description": "A JWT assertion for which to request a new access token.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:jwt-bearer`\nas the `grant_type`.", - "example": "xxxxx.yyyyy.zzzzz" - }, - "subject_token": { - "type": "string", - "format": "token", - "description": "The token to exchange for a downscoped token. This can be a regular\naccess token, a JWT assertion, or an app token.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:token-exchange`\nas the `grant_type`.", - "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ" - }, - "subject_token_type": { - "type": "string", - "example": "urn:ietf:params:oauth:token-type:access_token", - "description": "The type of `subject_token` passed in.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:token-exchange`\nas the `grant_type`.", - "enum": [ - "urn:ietf:params:oauth:token-type:access_token" - ] - }, - "actor_token": { - "type": "string", - "format": "token", - "description": "The token used to create an annotator token.\nThis is a JWT assertion.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:token-exchange`\nas the `grant_type`.", - "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ" - }, - "actor_token_type": { - "type": "string", - "format": "urn", - "example": "urn:ietf:params:oauth:token-type:id_token", - "description": "The type of `actor_token` passed in.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:token-exchange`\nas the `grant_type`.", - "enum": [ - "urn:ietf:params:oauth:token-type:id_token" - ] + "responses": { + "204": { + "description": "Returns an empty response when the docgen template has been deleted." }, - "scope": { - "type": "string", - "format": "space_delimited_list", - "description": "The space-delimited list of scopes that you want apply to the\nnew access token.\n\nThe `subject_token` will need to have all of these scopes or\nthe call will error with **401 Unauthorized**.", - "example": "item_upload item_preview base_explorer" + "400": { + "description": "The server cannot or will not process the request due to an apparent client error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "resource": { - "type": "string", - "format": "url", - "description": "Full URL for the file that the token should be generated for.", - "example": "https://api.box.com/2.0/files/123456" + "403": { + "description": "The client does not have access rights to the content or resource requested.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "box_subject_type": { - "type": "string", - "example": "enterprise", - "description": "Used in combination with `client_credentials` as the `grant_type`.", - "enum": [ - "enterprise", - "user" - ] + "404": { + "description": "Returned if the template is not found or the user does not\nhave access to the associated template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "box_subject_id": { - "type": "string", - "example": "123456789", - "description": "Used in combination with `client_credentials` as the `grant_type`.\nValue is determined by `box_subject_type`. If `user` use user ID and if\n`enterprise` use enterprise ID." + "429": { + "description": "The user has sent too many requests in a given amount of time.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "box_shared_link": { - "type": "string", - "format": "url", - "description": "Full URL of the shared link on the file or folder\nthat the token should be generated for.", - "example": "https://cloud.box.com/s/123456" + "default": { + "description": "An unexpected condition was encountered on the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } } } }, - "PostOAuth2Token--RefreshAccessToken": { - "title": "Refresh access token", - "type": "object", - "description": "A request to refresh an Access Token. Use this API to refresh an expired\nAccess Token using a valid Refresh Token.", - "required": [ - "grant_type", - "client_id", - "client_secret", - "refresh_token" + "get": { + "operationId": "get_docgen_templates_id", + "summary": "Get docgen template by id.", + "tags": [ + "Docgen Template" ], - "properties": { - "grant_type": { - "type": "string", - "format": "urn", - "example": "refresh_token", - "description": "The type of request being made, in this case a refresh request.", - "enum": [ - "refresh_token" - ] - }, - "client_id": { - "type": "string", - "description": "The client ID of the application requesting to refresh the token.", - "example": "ly1nj6n11vionaie65emwzk575hnnmrk" - }, - "client_secret": { - "type": "string", - "description": "The client secret of the application requesting to refresh the token.", - "example": "hOzsTeFlT6ko0dme22uGbQal04SBPYc1" - }, - "refresh_token": { - "type": "string", - "format": "token", - "description": "The refresh token to refresh.", - "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ" + "x-box-tag": "docgen_template", + "description": "Lists details of a specific docgen template.", + "parameters": [ + { + "name": "template_id", + "description": "The ID of a docgen template.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": 123 } - } - }, - "PostOAuth2Revoke": { - "title": "Token revocation request", - "type": "object", - "description": "A request to revoke an OAuth 2.0 token", - "required": [ - "grant_type" ], - "properties": { - "client_id": { - "type": "string", - "description": "The Client ID of the application requesting to revoke the\naccess token.", - "example": "ly1nj6n11vionaie65emwzk575hnnmrk" + "responses": { + "200": { + "description": "Returns details of a template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenTemplate" + } + } + } }, - "client_secret": { - "type": "string", - "description": "The client secret of the application requesting to revoke\nan access token.", - "example": "hOzsTeFlT6ko0dme22uGbQal04SBPYc1" + "401": { + "description": "Returned when the access token provided in the `Authorization` header\nis not recognized or not provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "token": { - "type": "string", - "format": "token", - "description": "The access token to revoke.", - "example": "n22JPxrh18m4Y0wIZPIqYZK7VRrsMTWW" - } - } - }, - "ZipDownloadRequest": { - "title": "Create a `zip` archive", - "type": "object", - "description": "A request to create a `zip` archive to download", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "description": "A list of items to add to the `zip` archive. These can\nbe folders or files.", - "items": { - "type": "object", - "description": "An item to add to the `zip` archive. This can be a file or a folder.", - "required": [ - "type", - "id" - ], - "properties": { - "type": { - "type": "string", - "description": "The type of the item to add to the archive.", - "example": "file", - "enum": [ - "file", - "folder" - ] - }, - "id": { - "type": "string", - "description": "The identifier of the item to add to the archive. When this item is\na folder then this can not be the root folder with ID `0`.", - "example": "12345" + "404": { + "description": "Returned if the template is not found or the user does not\nhave access to the associated template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" } } } }, - "download_file_name": { - "type": "string", - "description": "The optional name of the `zip` archive. This name will be appended by the\n`.zip` file extension, for example `January Financials.zip`.", - "example": "January Financials" + "default": { + "description": "An unexpected client error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } } } - }, - "MetadataQuery": { - "title": "Metadata query search request", - "type": "object", - "description": "Create a search using SQL-like syntax to return items that match specific\nmetadata.", - "required": [ - "from", - "ancestor_folder_id" + } + }, + "/docgen_jobs/{job_id}": { + "get": { + "operationId": "get_docgen_jobs_id", + "summary": "Get docgen job by id", + "tags": [ + "Docgen" ], - "properties": { - "from": { - "type": "string", - "description": "Specifies the template used in the query. Must be in the form\n`scope.templateKey`. Not all templates can be used in this field,\nmost notably the built-in, Box-provided classification templates\ncan not be used in a query.", - "example": "enterprise_123456.someTemplate" - }, - "query": { - "type": "string", - "description": "The query to perform. A query is a logical expression that is very similar\nto a SQL `SELECT` statement. Values in the search query can be turned into\nparameters specified in the `query_param` arguments list to prevent having\nto manually insert search values into the query string.\n\nFor example, a value of `:amount` would represent the `amount` value in\n`query_params` object.", - "example": "value >= :amount" - }, - "query_params": { - "type": "object", - "description": "Set of arguments corresponding to the parameters specified in the\n`query`. The type of each parameter used in the `query_params` must match\nthe type of the corresponding metadata template field.", - "example": { - "amount": "100" + "x-box-tag": "docgen", + "description": "List status of job.", + "parameters": [ + { + "name": "job_id", + "in": "path", + "required": true, + "description": "Document generation job id.", + "schema": { + "type": "string" }, - "additionalProperties": { - "type": "string", - "description": "The value for the argument being used in the metadata search.\n\nThe type of this parameter must match the type of the corresponding\nmetadata template field.", - "example": "100", - "x-box-example-key": "amount" + "example": 123 + } + ], + "responses": { + "200": { + "description": "Status of the document generation job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenJob" + } + } } }, - "ancestor_folder_id": { - "type": "string", - "description": "The ID of the folder that you are restricting the query to. A\nvalue of zero will return results from all folders you have access\nto. A non-zero value will only return results found in the folder\ncorresponding to the ID or in any of its subfolders.", - "example": "0" - }, - "order_by": { - "type": "array", - "description": "A list of template fields and directions to sort the metadata query\nresults by.\n\nThe ordering `direction` must be the same for each item in the array.", - "items": { - "type": "object", - "description": "An object representing one of the metadata template fields to sort the\nmetadata query results by.", - "properties": { - "field_key": { - "type": "string", - "description": "The metadata template field to order by.\n\nThe `field_key` represents the `key` value of a field from the\nmetadata template being searched for.", - "example": "amount" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending.\n\nThe `ordering` direction must be the same for each item in the\narray.", - "example": "asc", - "enum": [ - "ASC", - "DESC", - "asc", - "desc" - ] + "403": { + "description": "The client does not have access rights to the content or resource requested.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" } } } }, - "limit": { - "type": "integer", - "description": "A value between 0 and 100 that indicates the maximum number of results\nto return for a single request. This only specifies a maximum\nboundary and will not guarantee the minimum number of results\nreturned.", - "default": 100, - "minimum": 0, - "maximum": 100, - "example": 50 + "404": { + "description": "Returned if the job is not found or the user does not\nhave access to the associated job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "marker": { - "type": "string", - "description": "Marker to use for requesting the next page.", - "example": "AAAAAmVYB1FWec8GH6yWu2nwmanfMh07IyYInaa7DZDYjgO1H4KoLW29vPlLY173OKsci6h6xGh61gG73gnaxoS+o0BbI1/h6le6cikjlupVhASwJ2Cj0tOD9wlnrUMHHw3/ISf+uuACzrOMhN6d5fYrbidPzS6MdhJOejuYlvsg4tcBYzjauP3+VU51p77HFAIuObnJT0ff" + "429": { + "description": "The user has sent too many requests in a given amount of time.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "fields": { - "type": "array", - "items": { - "type": "string" - }, - "description": "By default, this endpoint returns only the most basic info about the items for\nwhich the query matches. This attribute can be used to specify a list of\nadditional attributes to return for any item, including its metadata.\n\nThis attribute takes a list of item fields, metadata template identifiers,\nor metadata template field identifiers.\n\nFor example:\n\n* `created_by` will add the details of the user who created the item to\nthe response.\n* `metadata..` will return the mini-representation\nof the metadata instance identified by the `scope` and `templateKey`.\n* `metadata...` will return all the mini-representation\nof the metadata instance identified by the `scope` and `templateKey` plus\nthe field specified by the `field` name. Multiple fields for the same\n`scope` and `templateKey` can be defined.", - "example": [ - "extension", - "created_at", - "item_status", - "metadata.enterprise_1234.contracts", - "metadata.enterprise_1234.regions.location" - ] - } + "default": { + "description": "An unexpected condition was encountered on the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } + } } - }, - "FileRequestUpdateRequest": { - "title": "File Request (Update)", - "type": "object", - "description": "The request body to update a file request.", - "properties": { - "title": { - "type": "string", - "description": "An optional new title for the file request. This can be\nused to change the title of the file request.\n\nThis will default to the value on the existing file request.", - "example": "Please upload required documents" - }, - "description": { - "type": "string", - "description": "An optional new description for the file request. This can be\nused to change the description of the file request.\n\nThis will default to the value on the existing file request.", - "example": "Please upload required documents" + } + }, + "/docgen_jobs": { + "get": { + "operationId": "get_docgen_jobs", + "summary": "List all docgen jobs", + "tags": [ + "Docgen" + ], + "x-box-tag": "docgen", + "description": "List of all document generation jobs for a user.", + "parameters": [ + { + "name": "marker", + "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`.", + "in": "query", + "required": false, + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "schema": { + "type": "string" + } }, - "status": { - "type": "string", - "description": "An optional new status of the file request.\n\nWhen the status is set to `inactive`, the file request\nwill no longer accept new submissions, and any visitor\nto the file request URL will receive a `HTTP 404` status\ncode.\n\nThis will default to the value on the existing file request.", - "example": "active", - "enum": [ - "active", - "inactive" - ] + { + "name": "limit", + "description": "The maximum number of items to return per page.", + "in": "query", + "required": false, + "example": 1000, + "schema": { + "type": "integer", + "format": "int64", + "maximum": 1000 + } + } + ], + "responses": { + "200": { + "description": "A list of document generation jobs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenJobs--Full" + } + } + } }, - "is_email_required": { - "type": "boolean", - "example": true, - "description": "Whether a file request submitter is required to provide\ntheir email address.\n\nWhen this setting is set to true, the Box UI will show\nan email field on the file request form.\n\nThis will default to the value on the existing file request." + "403": { + "description": "The client does not have access rights to the content or resource requested.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "is_description_required": { - "type": "boolean", - "example": true, - "description": "Whether a file request submitter is required to provide\na description of the files they are submitting.\n\nWhen this setting is set to true, the Box UI will show\na description field on the file request form.\n\nThis will default to the value on the existing file request." + "429": { + "description": "The user has sent too many requests in a given amount of time.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } }, - "expires_at": { - "type": "string", - "format": "date-time", - "description": "The date after which a file request will no longer accept new\nsubmissions.\n\nAfter this date, the `status` will automatically be set to\n`inactive`.\n\nThis will default to the value on the existing file request.", - "example": "2020-09-28T10:53:43-08:00" + "default": { + "description": "An unexpected condition was encountered on the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } } } - }, - "FileRequestCopyRequest": { - "title": "File Request (Copy)", - "type": "object", - "description": "The request body to copy a file request.", - "required": [ - "folder" + } + }, + "/v2/docgen_template_jobs/{template_id}": { + "get": { + "operationId": "get_docgen_template_jobs_id", + "summary": "Get list of all docgen jobs for template.", + "tags": [ + "Docgen Template" ], - "allOf": [ + "x-box-tag": "docgen_template", + "description": "Lists details of a document generation template including associated jobs list for a user", + "parameters": [ { - "$ref": "#/components/schemas/FileRequestUpdateRequest" + "name": "template_id", + "in": "path", + "description": "Id of template to fetch jobs for", + "required": true, + "schema": { + "type": "string" + }, + "example": 123 }, { - "properties": { - "folder": { - "type": "object", - "description": "The folder to associate the new file request to.", - "required": [ - "id" - ], - "properties": { - "type": { - "type": "string", - "example": "folder", - "description": "`folder`", - "enum": [ - "folder" - ] - }, - "id": { - "type": "string", - "example": "42037322", - "description": "The ID of the folder to associate the new\nfile request to." - } + "name": "marker", + "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`.", + "in": "query", + "required": false, + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "description": "The maximum number of items to return per page.", + "in": "query", + "required": false, + "example": 1000, + "schema": { + "type": "integer", + "format": "int64", + "maximum": 1000 + } + } + ], + "responses": { + "200": { + "description": "A single document generation template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenJobs" + } + } + } + }, + "403": { + "description": "The client does not have access rights to the content or resource requested.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } + }, + "404": { + "description": "Returned if the template is not found or the user does not\nhave access to the associated template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } + }, + "429": { + "description": "The user has sent too many requests in a given amount of time.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } + }, + "default": { + "description": "An unexpected condition was encountered on the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" } } } } - ] - }, - "SignRequestCreateRequest": { - "title": "Create a Box Sign request", - "type": "object", - "description": "Creates a Box Sign request object.", - "required": [ - "signers" + } + } + }, + "/docgen_batch_jobs/{batch_id}": { + "get": { + "operationId": "get_docgen_batch_jobs_id", + "summary": "Get docgen jobs for batch id", + "tags": [ + "Docgen" ], - "allOf": [ + "x-box-tag": "docgen", + "description": "List docgen jobs in a batch", + "parameters": [ { - "$ref": "#/components/schemas/SignRequest--Base" + "name": "batch_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "Document generation batch id.", + "example": 123 }, { - "properties": { - "source_files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/File--Base" - }, - "description": "List of files to create a signing document from. This is currently limited to ten files. Only the ID and type fields are required for each file.", - "maxItems": 10, - "nullable": true - }, - "signature_color": { - "type": "string", - "example": "blue", - "description": "Force a specific color for the signature (blue, black, or red)", - "enum": [ - "blue", - "black", - "red" - ], - "nullable": true - }, - "signers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SignRequestCreateSigner" - }, - "description": "Array of signers for the signature request. 35 is the\nmax number of signers permitted.\n\n**Note**: It may happen that some signers belong to conflicting [segments](r://shield-information-barrier-segment-member) (user groups).\nThis means that due to the security policies, users are assigned to segments to prevent exchanges or communication that could lead to ethical conflicts.\nIn such a case, an attempt to send the sign request will result in an error.\n\nRead more about [segments and ethical walls](https://support.box.com/hc/en-us/articles/9920431507603-Understanding-Information-Barriers#h_01GFVJEHQA06N7XEZ4GCZ9GFAQ)." - }, - "parent_folder": { - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" - }, - { - "description": "The destination folder to place final, signed document and signing\nlog. Only `ID` and `type` fields are required. The root folder,\nfolder ID `0`, cannot be used and can also not be null.\n\nWhen this value is not passed in when the signature request, then\nwe will use a default folder which is either the parent folder of\nthe first source file in the payload if we have the permission to\nupload to that folder or a folder called \"My Sign Requests\"." - } - ] - } + "name": "marker", + "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`.", + "in": "query", + "required": false, + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "description": "The maximum number of items to return per page.", + "in": "query", + "required": false, + "example": 1000, + "schema": { + "type": "integer", + "format": "int64", + "maximum": 1000 } } - ] - }, - "DocgenTemplateCreateRequest": { - "title": "Marking file as Docgen Template", - "type": "object", - "description": "The schema for marking document as Docgen Template.", - "required": [ - "file" ], - "properties": { - "file": { - "allOf": [ - { - "title": "File reference", - "type": "object", - "description": "File reference", - "required": [ - "type", - "id" - ], - "properties": { - "type": { - "type": "string", - "description": "`file`", - "example": "file", - "enum": [ - "file" - ], - "nullable": false - }, - "id": { - "description": "ID of the object", - "type": "string", - "example": "42037322" - } + "responses": { + "200": { + "description": "List of docgen jobs in to a docgen batch", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenJobs" } - }, - { - "description": "Enable the file to create a docgen document from." } - ] - } - } - }, - "DocgenBatchCreateRequest": { - "title": "Create batch request", - "type": "object", - "description": "The schema for Docgen Document Generation post job request.", - "required": [ - "file", - "input_source", - "destination_folder", - "output_type", - "document_generation_data" - ], - "properties": { - "file": { - "allOf": [ - { - "title": "File reference", - "type": "object", - "description": "File reference", - "required": [ - "type", - "id" - ], - "properties": { - "type": { - "type": "string", - "description": "`file`", - "example": "file", - "enum": [ - "file" - ], - "nullable": false - }, - "id": { - "description": "ID of the object", - "type": "string", - "example": "42037322" - } + } + }, + "403": { + "description": "The client does not have access rights to the content or resource requested.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" } - }, - { - "description": "Template file." } - ] + } }, - "file_version": { - "allOf": [ - { - "$ref": "#/components/schemas/FileVersion--Base" - }, - { - "description": "File version of a template." + "404": { + "description": "Returned if the batch is not found or the user does not\nhave access to the associated batch.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } } - ] - }, - "input_source": { - "type": "string", - "description": "source of input.", - "example": "api" + } }, - "destination_folder": { - "allOf": [ - { - "title": "Folder reference", - "type": "object", - "description": "Folder reference", - "required": [ - "type", - "id" - ], - "properties": { - "type": { - "type": "string", - "description": "`folder`", - "example": "folder", - "enum": [ - "folder" - ], - "nullable": false - }, - "id": { - "description": "ID of the folder", - "type": "string", - "example": "42037322" - } + "429": { + "description": "The user has sent too many requests in a given amount of time.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" } - }, - { - "description": "Destination folder for generated files." } - ] - }, - "output_type": { - "type": "string", - "description": "Type of the output file.", - "example": "docx" + } }, - "document_generation_data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DocgenDocumentGenerationData" + "default": { + "description": "An unexpected condition was encountered on the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } } } } - }, - "DocgenDocumentGenerationData": { - "title": "Document generation data", - "type": "object", - "description": "The schema for Docgen Document Generation post job request.", - "required": [ - "generated_file_name", - "user_input" + } + }, + "/docgen_batches": { + "post": { + "operationId": "post_docgen_batches", + "summary": "Create document using template", + "tags": [ + "Docgen" ], - "properties": { - "generated_file_name": { - "type": "string", - "example": "New_Template", - "description": "File name of the output file" - }, - "user_input": { - "type": "object", - "example": { - "name": "Aaron Levie" + "x-box-tag": "docgen", + "description": "API to submit document generation jobs.", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenBatchCreateRequest" + } } } - } - }, - "IntegrationMappingSlackCreateRequest": { - "title": "Create Slack integration mapping request", - "type": "object", - "x-box-resource-id": "integration_mapping_slack_create_request", - "description": "A request to create a\nSlack Integration Mapping object", - "allOf": [ - { - "properties": { - "partner_item": { - "allOf": [ - { - "$ref": "#/components/schemas/IntegrationMappingPartnerItemSlack" - } - ], - "nullable": false + }, + "responses": { + "202": { + "description": "The created Batch ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocgenBatch--Base" + } } } }, - { - "type": "object", - "properties": { - "box_item": { - "allOf": [ - { - "$ref": "#/components/schemas/IntegrationMappingBoxItemSlack" - } - ], - "nullable": false - }, - "options": { - "allOf": [ - { - "$ref": "#/components/schemas/IntegrationMappingSlackOptions" - } - ], - "nullable": false + "403": { + "description": "The client does not have access rights to the content or resource requested.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } } - }, - "required": [ - "box_item" - ] + } + }, + "429": { + "description": "The user has sent too many requests in a given amount of time.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } + }, + "default": { + "description": "An unexpected condition was encountered on the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientError" + } + } + } } - ], - "required": [ - "partner_item" - ] - }, - "ClientError": { - "title": "Client error", + } + } + } + }, + "components": { + "securitySchemes": { + "OAuth2Security": { + "type": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://account.box.com/api/oauth2/authorize", + "tokenUrl": "https://api.box.com/oauth2/token", + "scopes": { + "root_readonly": "Read all files and folders stored in Box", + "root_readwrite": "Read and write all files and folders stored in Box", + "manage_app_users": "Provision and manage app users", + "manage_managed_users": "Provision and manage managed users", + "manage_groups": "Manage an enterprise's groups", + "manage_webhook": "Create webhooks programmatically through the API", + "manage_enterprise_properties": "Manage enterprise properties", + "manage_data_retention": "Manage data retention polices", + "manage_legal_hold": "Manage Legal Holds" + } + } + } + } + }, + "schemas": { + "AiAsk": { + "title": "AI ask request", "type": "object", - "x-box-resource-id": "client_error", - "description": "A generic error", + "x-box-tag": "ai", + "required": [ + "prompt", + "items", + "mode" + ], "properties": { - "type": { - "description": "error", - "example": "error", + "mode": { "type": "string", + "description": "The mode specifies if this request is for a single or multiple items. If you select `single_item_qa` the `items` array can have one element only. Selecting `multiple_item_qa` allows you to provide up to 25 items.", "enum": [ - "error" + "multiple_item_qa", + "single_item_qa" ], + "example": "multiple_item_qa", "nullable": false }, - "status": { - "description": "The HTTP status of the response.", - "example": 400, - "type": "integer", - "format": "int32", - "nullable": false - }, - "code": { - "description": "A Box-specific error code", - "example": "item_name_invalid", + "prompt": { "type": "string", - "enum": [ - "created", - "accepted", - "no_content", - "redirect", - "not_modified", - "bad_request", - "unauthorized", - "forbidden", - "not_found", - "method_not_allowed", - "conflict", - "precondition_failed", - "too_many_requests", - "internal_server_error", - "unavailable", - "item_name_invalid", - "insufficient_scope" - ] + "description": "The prompt provided by the client to be answered by the LLM. The prompt's length is limited to 10000 characters.", + "example": "What is the value provided by public APIs based on this document?" }, - "message": { - "description": "A short message describing the error.", - "example": "Method Not Allowed", - "type": "string", - "nullable": false + "items": { + "type": "array", + "description": "The items to be processed by the LLM, often files.\n\n**Note**: Box AI handles documents with text representations up to 1MB in size, or a maximum of 25 files, whichever comes first.\nIf the file size exceeds 1MB, the first 1MB of text representation will be processed.\nIf you set `mode` parameter to `single_item_qa`, the `items` array can have one element only. ", + "minItems": 1, + "maxItems": 25, + "uniqueItems": true, + "items": { + "$ref": "#/components/schemas/AiItem--Base" + } }, - "context_info": { - "description": "A free-form object that contains additional context\nabout the error. The possible fields are defined on\na per-endpoint basis. `message` is only one example.", - "type": "object", - "nullable": true, - "properties": { - "message": { - "type": "string", - "description": "More details on the error.", - "example": "Something went wrong." - } + "dialogue_history": { + "type": "array", + "description": "The history of prompts and answers previously passed to the LLM. This provides additional context to the LLM in generating the response.", + "items": { + "$ref": "#/components/schemas/AiDialogueHistory" } }, - "help_url": { - "description": "A URL that links to more information about why this error occurred.", - "example": "https://developer.box.com/guides/api-calls/permissions-and-errors/common-errors/", - "type": "string", - "nullable": false + "include_citations": { + "type": "boolean", + "description": "A flag to indicate whether citations should be returned.", + "example": true }, - "request_id": { - "description": "A unique identifier for this response, which can be used\nwhen contacting Box support.", - "type": "string", - "example": "abcdef123456", - "nullable": false + "ai_agent": { + "$ref": "#/components/schemas/AiAgentAsk" } - } + }, + "description": "AI ask request object" }, - "ConflictError": { - "title": "Conflict error", + "AiTextGen": { + "title": "AI text gen request", "type": "object", - "x-box-resource-id": "conflict_error", - "x-box-tag": "uploads", - "description": "The error that occurs when a file can not be created due\nto a conflict.", - "allOf": [ - { - "$ref": "#/components/schemas/ClientError" + "x-box-tag": "ai", + "required": [ + "prompt", + "items" + ], + "properties": { + "prompt": { + "type": "string", + "description": "The prompt provided by the client to be answered by the LLM. The prompt's length is limited to 10000 characters.", + "example": "Write an email to a client about the importance of public APIs." }, - { - "properties": { - "context_info": { - "type": "object", - "properties": { - "conflicts": { - "type": "array", - "description": "A list of the file conflicts that caused this error.", - "items": { - "$ref": "#/components/schemas/FileConflict" - } - } + "items": { + "type": "array", + "description": "The items to be processed by the LLM, often files.\nThe array can include **exactly one** element.\n\n**Note**: Box AI handles documents with text representations up to 1MB in size.\nIf the file size exceeds 1MB, the first 1MB of text representation will be processed.", + "minItems": 1, + "maxItems": 1, + "uniqueItems": true, + "items": { + "required": [ + "id", + "type" + ], + "type": "object", + "description": "The item to be processed by the LLM.", + "properties": { + "id": { + "type": "string", + "description": "The ID of the item.", + "example": "123" + }, + "type": { + "type": "string", + "description": "The type of the item.", + "enum": [ + "file" + ], + "example": "file" + }, + "content": { + "type": "string", + "description": "The content to use as context for generating new text or editing existing text.", + "example": "This is file content that is relevant to the text gen request." } } } + }, + "dialogue_history": { + "type": "array", + "description": "The history of prompts and answers previously passed to the LLM. This parameter provides the additional context to the LLM when generating the response.", + "items": { + "$ref": "#/components/schemas/AiDialogueHistory" + } + }, + "ai_agent": { + "$ref": "#/components/schemas/AiAgentTextGen" } - ] + }, + "description": "AI text gen request object" }, - "OAuth2Error": { - "title": "OAuth 2.0 error", + "AiExtractStructured": { + "title": "AI Extract Structured Request", "type": "object", - "x-box-resource-id": "oauth2_error", - "x-box-tag": "authorization", - "description": "An OAuth 2.0 error", + "x-box-tag": "ai", + "required": [ + "items" + ], "properties": { - "error": { - "type": "string", - "example": "invalid_client", - "description": "The type of the error returned." + "items": { + "type": "array", + "description": "The items to be processed by the LLM. Currently you can use files only.", + "minItems": 1, + "maxItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/components/schemas/AiItem--Base" + } }, - "error_description": { + "metadata_template": { + "type": "object", + "description": "The metadata template containing the fields to extract.\nFor your request to work, you must provide either `metadata_template` or `fields`, but not both.", + "properties": { + "template_key": { + "type": "string", + "description": "The name of the metadata template.", + "example": "invoiceTemplate" + }, + "type": { + "type": "string", + "enum": [ + "metadata_template" + ], + "description": "Value is always `metadata_template`.", + "example": "metadata_template" + }, + "scope": { + "type": "string", + "description": "The scope of the metadata template that can either be global or\nenterprise. \n* The **global** scope is used for templates that are\navailable to any Box enterprise. \n* The **enterprise** scope represents templates created within a specific enterprise,\n containing the ID of that enterprise.", + "example": "enterprise_12345", + "maxLength": 40 + } + } + }, + "fields": { + "type": "array", + "description": "The fields to be extracted from the provided items.\nFor your request to work, you must provide either `metadata_template` or `fields`, but not both.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "The fields to be extracted from the provided items.", + "required": [ + "key" + ], + "properties": { + "key": { + "type": "string", + "description": "A unique identifier for the field.", + "example": "name" + }, + "description": { + "type": "string", + "description": "A description of the field.", + "example": "The name of the person." + }, + "displayName": { + "type": "string", + "description": "The display name of the field.", + "example": "Name" + }, + "prompt": { + "type": "string", + "description": "The context about the key that may include how to find and format it.", + "example": "Name is the first and last name from the email address" + }, + "type": { + "type": "string", + "description": "The type of the field. It include but is not limited to string, float, date, enum, and multiSelect.", + "example": "enum" + }, + "options": { + "type": "array", + "description": "A list of options for this field. This is most often used in combination with the enum and multiSelect field types.", + "items": { + "type": "object", + "required": [ + "key" + ], + "properties": { + "key": { + "type": "string", + "description": "A unique identifier for the field.", + "example": "First Name" + } + } + }, + "example": [ + { + "key": "First Name" + }, + { + "key": "Last Name" + } + ] + } + } + } + }, + "ai_agent": { + "$ref": "#/components/schemas/AiAgentExtractStructured" + } + }, + "description": "AI Extract Structured Request object." + }, + "AiExtract": { + "title": "AI metadata freeform extraction request", + "type": "object", + "x-box-tag": "ai", + "required": [ + "prompt", + "items" + ], + "properties": { + "prompt": { "type": "string", - "example": "The client credentials are not valid", - "description": "The type of the error returned." + "description": "The prompt provided to a Large Language Model (LLM) in the request. The prompt can be up to 10000 characters long and it can be an XML or a JSON schema.", + "example": "\\\"fields\\\":[{\\\"type\\\":\\\"string\\\",\\\"key\\\":\\\"name\\\",\\\"displayName\\\":\\\"Name\\\",\\\"description\\\":\\\"The customer name\\\",\\\"prompt\\\":\\\"Name is always the first word in the document\\\"},{\\\"type\\\":\\\"date\\\",\\\"key\\\":\\\"last_contacted_at\\\",\\\"displayName\\\":\\\"Last Contacted At\\\",\\\"description\\\":\\\"When this customer was last contacted at\\\"}]" + }, + "items": { + "type": "array", + "description": "The items that LLM will process. Currently, you can use files only.", + "minItems": 1, + "maxItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/components/schemas/AiItem--Base" + } + }, + "ai_agent": { + "$ref": "#/components/schemas/AiAgentExtract" } - } + }, + "description": "AI metadata freeform extraction request object" }, - "SkillInvocation": { - "title": "Skill webhook payload", + "PostOAuth2Token": { + "title": "Token request", "type": "object", - "x-box-resource-id": "skill_invocation", - "x-box-tag": "skills", - "description": "The payload of a Box skill as sent to a skill's\n`invocation_url`.", + "description": "A request for a new OAuth 2.0 token", + "required": [ + "grant_type" + ], "properties": { - "type": { + "grant_type": { "type": "string", - "description": "`skill_invocation`", - "example": "skill_invocation", + "format": "urn", + "example": "authorization_code", + "description": "The type of request being made, either using a client-side obtained\nauthorization code, a refresh token, a JWT assertion, client credentials\ngrant or another access token for the purpose of downscoping a token.", "enum": [ - "skill_invocation" + "authorization_code", + "refresh_token", + "client_credentials", + "urn:ietf:params:oauth:grant-type:jwt-bearer", + "urn:ietf:params:oauth:grant-type:token-exchange" ] }, - "id": { + "client_id": { "type": "string", - "description": "Unique identifier for the invocation request.", - "example": "fd1d2e53-35f5-41fb-9c25-4ba326daf2f9_341016304" + "description": "The Client ID of the application requesting an access token.\n\nUsed in combination with `authorization_code`, `client_credentials`, or\n`urn:ietf:params:oauth:grant-type:jwt-bearer` as the `grant_type`.", + "example": "ly1nj6n11vionaie65emwzk575hnnmrk" }, - "skill": { - "allOf": [ - { - "title": "Skill", - "type": "object", - "description": "An object representing a skill", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this skill", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`skill`", - "example": "skill", - "enum": [ - "skill" - ] - }, - "name": { - "type": "string", - "description": "The name of the skill", - "example": "Hello World Skill" - }, - "api_key": { - "type": "string", - "description": "The client ID of the application", - "example": "hxel2s12wd2h9r8ne103c4gjbqefofih" - } - } - }, - { - "description": "The skill that triggered this invocation" - } + "client_secret": { + "type": "string", + "description": "The client secret of the application requesting an access token.\n\nUsed in combination with `authorization_code`, `client_credentials`, or\n`urn:ietf:params:oauth:grant-type:jwt-bearer` as the `grant_type`.", + "example": "hOzsTeFlT6ko0dme22uGbQal04SBPYc1" + }, + "code": { + "type": "string", + "format": "token", + "description": "The client-side authorization code passed to your application by\nBox in the browser redirect after the user has successfully\ngranted your application permission to make API calls on their\nbehalf.\n\nUsed in combination with `authorization_code` as the `grant_type`.", + "example": "n22JPxrh18m4Y0wIZPIqYZK7VRrsMTWW" + }, + "refresh_token": { + "type": "string", + "format": "token", + "description": "A refresh token used to get a new access token with.\n\nUsed in combination with `refresh_token` as the `grant_type`.", + "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ" + }, + "assertion": { + "type": "string", + "format": "jwt", + "description": "A JWT assertion for which to request a new access token.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:jwt-bearer`\nas the `grant_type`.", + "example": "xxxxx.yyyyy.zzzzz" + }, + "subject_token": { + "type": "string", + "format": "token", + "description": "The token to exchange for a downscoped token. This can be a regular\naccess token, a JWT assertion, or an app token.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:token-exchange`\nas the `grant_type`.", + "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ" + }, + "subject_token_type": { + "type": "string", + "example": "urn:ietf:params:oauth:token-type:access_token", + "description": "The type of `subject_token` passed in.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:token-exchange`\nas the `grant_type`.", + "enum": [ + "urn:ietf:params:oauth:token-type:access_token" ] }, - "token": { - "type": "object", - "description": "The read-only and read-write access tokens for this item", - "properties": { - "read": { - "type": "object", - "description": "The basics of an access token", - "properties": { - "access_token": { - "type": "string", - "format": "token", - "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", - "description": "The requested access token." - }, - "expires_in": { - "type": "integer", - "format": "int64", - "example": 3600, - "description": "The time in seconds by which this token will expire." - }, - "token_type": { - "type": "string", - "enum": [ - "bearer" - ], - "example": "bearer", - "description": "The type of access token returned." - }, - "restricted_to": { - "type": "string", - "description": "The permissions that this access token permits,\nproviding a list of resources (files, folders, etc)\nand the scopes permitted for each of those resources.", - "example": "[{\"scope\":\"gcm\"}, {\"scope\":\"item_upload\",\"object_id\":933941692081,\"object_type\":\"file\"}, {\"scope\":\"manage_skill_invocations\"}]" - } - } - }, - "write": { - "type": "object", - "description": "The basics of an access token", - "properties": { - "access_token": { - "type": "string", - "format": "token", - "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", - "description": "The requested access token." - }, - "expires_in": { - "type": "integer", - "format": "int64", - "example": 3600, - "description": "The time in seconds by which this token will expire." - }, - "token_type": { - "type": "string", - "enum": [ - "bearer" - ], - "example": "bearer", - "description": "The type of access token returned." - }, - "restricted_to": { - "type": "string", - "description": "The permissions that this access token permits,\nproviding a list of resources (files, folders, etc)\nand the scopes permitted for each of those resources.", - "example": "[{\"scope\":\"gcm\"}, {\"scope\":\"item_upload\",\"object_id\":933941692081,\"object_type\":\"file\"}, {\"scope\":\"manage_skill_invocations\"}]" - } - } - } - } + "actor_token": { + "type": "string", + "format": "token", + "description": "The token used to create an annotator token.\nThis is a JWT assertion.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:token-exchange`\nas the `grant_type`.", + "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ" }, - "status": { - "type": "object", - "description": "The details status of this event.", - "properties": { - "state": { - "type": "string", - "example": "invoked", - "description": "The state of this event.\n\n* `invoked` - Triggered the skill with event details to start\n applying skill on the file.\n* `processing` - Currently processing.\n* `success` - Completed processing with a success.\n* `transient_failure` - Encountered an issue which can be\n retried.\n* `permanent_failure` - Encountered a permanent issue and\n retry would not help.", - "enum": [ - "invoked", - "processing", - "success", - "transient_failure", - "permanent_failure" - ] - }, - "message": { - "type": "string", - "example": "Example", - "description": "Status information" - }, - "error_code": { - "type": "string", - "example": "400", - "description": "Error code information, if error occurred." - }, - "additional_info": { - "type": "string", - "example": "Example", - "description": "Additional status information." - } - } + "actor_token_type": { + "type": "string", + "format": "urn", + "example": "urn:ietf:params:oauth:token-type:id_token", + "description": "The type of `actor_token` passed in.\n\nUsed in combination with `urn:ietf:params:oauth:grant-type:token-exchange`\nas the `grant_type`.", + "enum": [ + "urn:ietf:params:oauth:token-type:id_token" + ] }, - "created_at": { + "scope": { "type": "string", - "format": "date-time", - "description": "The time this invocation was created.", - "example": "2012-12-12T10:53:43-08:00" + "format": "space_delimited_list", + "description": "The space-delimited list of scopes that you want apply to the\nnew access token.\n\nThe `subject_token` will need to have all of these scopes or\nthe call will error with **401 Unauthorized**.", + "example": "item_upload item_preview base_explorer" }, - "trigger": { + "resource": { "type": "string", - "example": "FILE_CONTENT", - "description": "Action that triggered the invocation" + "format": "url", + "description": "Full URL for the file that the token should be generated for.", + "example": "https://api.box.com/2.0/files/123456" }, - "enterprise": { - "allOf": [ - { - "title": "Enterprise", - "type": "object", - "description": "A representation of a Box enterprise", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this enterprise.", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`enterprise`", - "example": "enterprise", - "enum": [ - "enterprise" - ] - }, - "name": { - "description": "The name of the enterprise", - "example": "Acme Inc.", - "type": "string" - } - } - }, - { - "description": "The enterprise that this invocation was triggered for" - } + "box_subject_type": { + "type": "string", + "example": "enterprise", + "description": "Used in combination with `client_credentials` as the `grant_type`.", + "enum": [ + "enterprise", + "user" ] }, - "source": { - "allOf": [ - { - "oneOf": [ - { - "$ref": "#/components/schemas/File" - }, - { - "$ref": "#/components/schemas/Folder" - } - ] - }, - { - "description": "The item that caused the invocation to trigger" - } - ] + "box_subject_id": { + "type": "string", + "example": "123456789", + "description": "Used in combination with `client_credentials` as the `grant_type`.\nValue is determined by `box_subject_type`. If `user` use user ID and if\n`enterprise` use enterprise ID." }, - "event": { - "allOf": [ - { - "$ref": "#/components/schemas/Event" - }, - { - "description": "The event that triggered this invocation" - } - ] + "box_shared_link": { + "type": "string", + "format": "url", + "description": "Full URL of the shared link on the file or folder\nthat the token should be generated for.", + "example": "https://cloud.box.com/s/123456" } } }, - "WebhookInvocation": { - "title": "Webhook (V2) payload", + "PostOAuth2Token--RefreshAccessToken": { + "title": "Refresh access token", "type": "object", - "x-box-resource-id": "webhook_invocation", - "x-box-tag": "webhooks", - "description": "The event that is sent to a webhook address when an event happens.", + "description": "A request to refresh an Access Token. Use this API to refresh an expired\nAccess Token using a valid Refresh Token.", + "required": [ + "grant_type", + "client_id", + "client_secret", + "refresh_token" + ], "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this webhook invocation", - "example": "11446498" - }, - "type": { + "grant_type": { "type": "string", - "description": "`webhook_event`", - "example": "webhook_event", + "format": "urn", + "example": "refresh_token", + "description": "The type of request being made, in this case a refresh request.", "enum": [ - "webhook_event" - ] - }, - "webhook": { - "allOf": [ - { - "$ref": "#/components/schemas/Webhook" - }, - { - "description": "The webhook object that triggered this event" - } + "refresh_token" ] }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user that triggered this event" - } - ] + "client_id": { + "type": "string", + "description": "The client ID of the application requesting to refresh the token.", + "example": "ly1nj6n11vionaie65emwzk575hnnmrk" }, - "created_at": { + "client_secret": { "type": "string", - "format": "date-time", - "description": "A timestamp identifying the time that\nthe webhook event was triggered.", - "example": "2012-12-12T10:53:43-08:00" - }, - "trigger": { - "allOf": [ - { - "title": "Webhook Trigger", - "example": "FILE.UPLOADED", - "type": "string", - "description": "The event name that triggered this webhook", - "enum": [ - "FILE.UPLOADED", - "FILE.PREVIEWED", - "FILE.DOWNLOADED", - "FILE.TRASHED", - "FILE.DELETED", - "FILE.RESTORED", - "FILE.COPIED", - "FILE.MOVED", - "FILE.LOCKED", - "FILE.UNLOCKED", - "FILE.RENAMED", - "COMMENT.CREATED", - "COMMENT.UPDATED", - "COMMENT.DELETED", - "TASK_ASSIGNMENT.CREATED", - "TASK_ASSIGNMENT.UPDATED", - "METADATA_INSTANCE.CREATED", - "METADATA_INSTANCE.UPDATED", - "METADATA_INSTANCE.DELETED", - "FOLDER.CREATED", - "FOLDER.RENAMED", - "FOLDER.DOWNLOADED", - "FOLDER.RESTORED", - "FOLDER.DELETED", - "FOLDER.COPIED", - "FOLDER.MOVED", - "FOLDER.TRASHED", - "WEBHOOK.DELETED", - "COLLABORATION.CREATED", - "COLLABORATION.ACCEPTED", - "COLLABORATION.REJECTED", - "COLLABORATION.REMOVED", - "COLLABORATION.UPDATED", - "SHARED_LINK.DELETED", - "SHARED_LINK.CREATED", - "SHARED_LINK.UPDATED", - "SIGN_REQUEST.COMPLETED", - "SIGN_REQUEST.DECLINED", - "SIGN_REQUEST.EXPIRED", - "SIGN_REQUEST.SIGNER_EMAIL_BOUNCED" - ] - }, - { - "description": "The event name that triggered this webhook" - } - ] - }, - "source": { - "allOf": [ - { - "oneOf": [ - { - "$ref": "#/components/schemas/File" - }, - { - "$ref": "#/components/schemas/Folder" - } - ] - }, - { - "description": "The item that caused the event to trigger" - } - ] - } - } - }, - "AccessToken": { - "title": "Access token", - "type": "object", - "x-box-resource-id": "access_token", - "x-box-tag": "authorization", - "description": "A token that can be used to make authenticated API calls.", - "properties": { - "access_token": { - "type": "string", - "format": "token", - "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", - "description": "The requested access token." - }, - "expires_in": { - "type": "integer", - "format": "int64", - "example": 3600, - "description": "The time in seconds by which this token will expire." - }, - "token_type": { - "type": "string", - "enum": [ - "bearer" - ], - "example": "bearer", - "description": "The type of access token returned." - }, - "restricted_to": { - "type": "array", - "description": "The permissions that this access token permits,\nproviding a list of resources (files, folders, etc)\nand the scopes permitted for each of those resources.", - "items": { - "$ref": "#/components/schemas/FileOrFolderScope" - } + "description": "The client secret of the application requesting to refresh the token.", + "example": "hOzsTeFlT6ko0dme22uGbQal04SBPYc1" }, "refresh_token": { "type": "string", "format": "token", - "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", - "description": "The refresh token for this access token, which can be used\nto request a new access token when the current one expires." - }, - "issued_token_type": { - "type": "string", - "format": "urn", - "example": "urn:ietf:params:oauth:token-type:access_token", - "enum": [ - "urn:ietf:params:oauth:token-type:access_token" - ], - "description": "The type of downscoped access token returned. This is only\nreturned if an access token has been downscoped." + "description": "The refresh token to refresh.", + "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ" } } }, - "AiResponse": { - "title": "AI response", + "PostOAuth2Revoke": { + "title": "Token revocation request", "type": "object", - "x-box-resource-id": "ai_response", - "x-box-tag": "ai", - "x-box-variant": "standard", - "x-box-variants": [ - "standard", - "full" - ], + "description": "A request to revoke an OAuth 2.0 token", "required": [ - "answer", - "created_at" + "grant_type" ], "properties": { - "answer": { + "client_id": { "type": "string", - "description": "The answer provided by the LLM.", - "example": "Public APIs are important because of key and important reasons." + "description": "The Client ID of the application requesting to revoke the\naccess token.", + "example": "ly1nj6n11vionaie65emwzk575hnnmrk" }, - "created_at": { + "client_secret": { "type": "string", - "format": "date-time", - "description": "The ISO date formatted timestamp of when the answer to the prompt was created.", - "example": "2012-12-12T10:53:43-08:00" + "description": "The client secret of the application requesting to revoke\nan access token.", + "example": "hOzsTeFlT6ko0dme22uGbQal04SBPYc1" }, - "completion_reason": { + "token": { "type": "string", - "description": "The reason the response finishes.", - "example": "done" + "format": "token", + "description": "The access token to revoke.", + "example": "n22JPxrh18m4Y0wIZPIqYZK7VRrsMTWW" } - }, - "description": "AI response" + } }, - "AiResponse--Full": { - "title": "AI response (Full)", - "x-box-resource-id": "ai_response--full", - "x-box-tag": "ai", - "x-box-variant": "full", - "x-box-variants": [ - "standard", - "full" - ], + "ZipDownloadRequest": { + "title": "Create a `zip` archive", "type": "object", + "description": "A request to create a `zip` archive to download", "required": [ - "answer", - "created_at" + "items" ], - "allOf": [ - { - "$ref": "#/components/schemas/AiResponse" - }, - { - "properties": { - "citations": { - "type": "array", - "description": "The citations of the LLM's answer reference.", - "items": { - "$ref": "#/components/schemas/AiCitation" + "properties": { + "items": { + "type": "array", + "description": "A list of items to add to the `zip` archive. These can\nbe folders or files.", + "items": { + "type": "object", + "description": "An item to add to the `zip` archive. This can be a file or a folder.", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of the item to add to the archive.", + "example": "file", + "enum": [ + "file", + "folder" + ] + }, + "id": { + "type": "string", + "description": "The identifier of the item to add to the archive. When this item is\na folder then this can not be the root folder with ID `0`.", + "example": "12345" } } } + }, + "download_file_name": { + "type": "string", + "description": "The optional name of the `zip` archive. This name will be appended by the\n`.zip` file extension, for example `January Financials.zip`.", + "example": "January Financials" } - ], - "description": "AI ask response" - }, - "AiExtractResponse": { - "title": "AI extract response", - "type": "object", - "x-box-resource-id": "ai_extract_response", - "x-box-tag": "ai", - "description": "AI extract response.\nThe content of this response may vary depending on\nthe requested configuration." + } }, - "AiAgentAsk": { - "title": "AI agent for question requests", + "MetadataQuery": { + "title": "Metadata query search request", "type": "object", - "x-box-resource-id": "ai_agent_ask", - "x-box-tag": "ai", + "description": "Create a search using SQL-like syntax to return items that match specific\nmetadata.", "required": [ - "type" + "from", + "ancestor_folder_id" ], "properties": { - "type": { + "from": { "type": "string", - "enum": [ - "ai_agent_ask" - ], - "description": "The type of AI agent used to handle queries.", - "example": "ai_agent_ask", - "nullable": false + "description": "Specifies the template used in the query. Must be in the form\n`scope.templateKey`. Not all templates can be used in this field,\nmost notably the built-in, Box-provided classification templates\ncan not be used in a query.", + "example": "enterprise_123456.someTemplate" }, - "long_text": { - "$ref": "#/components/schemas/AiAgentLongTextTool" + "query": { + "type": "string", + "description": "The query to perform. A query is a logical expression that is very similar\nto a SQL `SELECT` statement. Values in the search query can be turned into\nparameters specified in the `query_param` arguments list to prevent having\nto manually insert search values into the query string.\n\nFor example, a value of `:amount` would represent the `amount` value in\n`query_params` object.", + "example": "value >= :amount" }, - "basic_text": { - "$ref": "#/components/schemas/AiAgentBasicTextTool" + "query_params": { + "type": "object", + "description": "Set of arguments corresponding to the parameters specified in the\n`query`. The type of each parameter used in the `query_params` must match\nthe type of the corresponding metadata template field.", + "example": { + "amount": "100" + }, + "additionalProperties": { + "type": "string", + "description": "The value for the argument being used in the metadata search.\n\nThe type of this parameter must match the type of the corresponding\nmetadata template field.", + "example": "100", + "x-box-example-key": "amount" + } }, - "long_text_multi": { - "$ref": "#/components/schemas/AiAgentLongTextTool" - }, - "basic_text_multi": { - "$ref": "#/components/schemas/AiAgentBasicTextTool" - } - }, - "description": "The AI agent used to handle queries." - }, - "AiAgentTextGen": { - "title": "AI agent for text generation requests", - "type": "object", - "x-box-tag": "ai", - "x-box-resource-id": "ai_agent_text_gen", - "required": [ - "type" - ], - "properties": { - "type": { + "ancestor_folder_id": { "type": "string", - "enum": [ - "ai_agent_text_gen" - ], - "description": "The type of AI agent used for generating text.", - "example": "ai_agent_text_gen", - "nullable": false + "description": "The ID of the folder that you are restricting the query to. A\nvalue of zero will return results from all folders you have access\nto. A non-zero value will only return results found in the folder\ncorresponding to the ID or in any of its subfolders.", + "example": "0" }, - "basic_gen": { - "$ref": "#/components/schemas/AiAgentBasicGenTool" - } - }, - "description": "The AI agent used for generating text." - }, - "AiAgentExtract": { - "title": "AI agent for extract requests", - "type": "object", - "x-box-tag": "ai", - "x-box-resource-id": "ai_agent_extract", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "ai_agent_extract" - ], - "description": "The type of AI agent to be used for extraction.", - "example": "ai_agent_extract", - "nullable": false + "order_by": { + "type": "array", + "description": "A list of template fields and directions to sort the metadata query\nresults by.\n\nThe ordering `direction` must be the same for each item in the array.", + "items": { + "type": "object", + "description": "An object representing one of the metadata template fields to sort the\nmetadata query results by.", + "properties": { + "field_key": { + "type": "string", + "description": "The metadata template field to order by.\n\nThe `field_key` represents the `key` value of a field from the\nmetadata template being searched for.", + "example": "amount" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending.\n\nThe `ordering` direction must be the same for each item in the\narray.", + "example": "asc", + "enum": [ + "ASC", + "DESC", + "asc", + "desc" + ] + } + } + } }, - "long_text": { - "$ref": "#/components/schemas/AiAgentLongTextTool" + "limit": { + "type": "integer", + "description": "A value between 0 and 100 that indicates the maximum number of results\nto return for a single request. This only specifies a maximum\nboundary and will not guarantee the minimum number of results\nreturned.", + "default": 100, + "minimum": 0, + "maximum": 100, + "example": 50 }, - "basic_text": { - "$ref": "#/components/schemas/AiAgentBasicTextTool" - } - }, - "description": "The AI agent to be used for extraction." - }, - "AiAgentExtractStructured": { - "title": "AI agent for structured extract request", - "type": "object", - "x-box-tag": "ai", - "x-box-resource-id": "ai_agent_extract_structured", - "required": [ - "type" - ], - "properties": { - "type": { + "marker": { "type": "string", - "enum": [ - "ai_agent_extract_structured" - ], - "description": "The type of AI agent to be used for extraction.", - "example": "ai_agent_extract_structured", - "nullable": false - }, - "long_text": { - "$ref": "#/components/schemas/AiAgentLongTextTool" + "description": "Marker to use for requesting the next page.", + "example": "AAAAAmVYB1FWec8GH6yWu2nwmanfMh07IyYInaa7DZDYjgO1H4KoLW29vPlLY173OKsci6h6xGh61gG73gnaxoS+o0BbI1/h6le6cikjlupVhASwJ2Cj0tOD9wlnrUMHHw3/ISf+uuACzrOMhN6d5fYrbidPzS6MdhJOejuYlvsg4tcBYzjauP3+VU51p77HFAIuObnJT0ff" }, - "basic_text": { - "$ref": "#/components/schemas/AiAgentBasicTextTool" + "fields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "By default, this endpoint returns only the most basic info about the items for\nwhich the query matches. This attribute can be used to specify a list of\nadditional attributes to return for any item, including its metadata.\n\nThis attribute takes a list of item fields, metadata template identifiers,\nor metadata template field identifiers.\n\nFor example:\n\n* `created_by` will add the details of the user who created the item to\nthe response.\n* `metadata..` will return the mini-representation\nof the metadata instance identified by the `scope` and `templateKey`.\n* `metadata...` will return all the mini-representation\nof the metadata instance identified by the `scope` and `templateKey` plus\nthe field specified by the `field` name. Multiple fields for the same\n`scope` and `templateKey` can be defined.", + "example": [ + "extension", + "created_at", + "item_status", + "metadata.enterprise_1234.contracts", + "metadata.enterprise_1234.regions.location" + ] } - }, - "description": "The AI agent to be used for structured extraction." + } }, - "AppItem": { - "title": "App item", + "FileRequestUpdateRequest": { + "title": "File Request (Update)", "type": "object", - "x-box-tag": "app_item_associations", - "x-box-resource-id": "app_item", - "description": "An app item represents an content object owned by an application. It can\ngroup files and folders together from different paths. That set can be shared\nvia a collaboration.", - "required": [ - "id", - "type", - "application_type" - ], + "description": "The request body to update a file request.", "properties": { - "id": { + "title": { "type": "string", - "description": "The unique identifier for this app item.", - "example": "12345678" + "description": "An optional new title for the file request. This can be\nused to change the title of the file request.\n\nThis will default to the value on the existing file request.", + "example": "Please upload required documents" }, - "type": { + "description": { "type": "string", - "description": "`app_item`", - "example": "app_item", + "description": "An optional new description for the file request. This can be\nused to change the description of the file request.\n\nThis will default to the value on the existing file request.", + "example": "Please upload required documents" + }, + "status": { + "type": "string", + "description": "An optional new status of the file request.\n\nWhen the status is set to `inactive`, the file request\nwill no longer accept new submissions, and any visitor\nto the file request URL will receive a `HTTP 404` status\ncode.\n\nThis will default to the value on the existing file request.", + "example": "active", "enum": [ - "app_item" + "active", + "inactive" ] }, - "application_type": { + "is_email_required": { + "type": "boolean", + "example": true, + "description": "Whether a file request submitter is required to provide\ntheir email address.\n\nWhen this setting is set to true, the Box UI will show\nan email field on the file request form.\n\nThis will default to the value on the existing file request." + }, + "is_description_required": { + "type": "boolean", + "example": true, + "description": "Whether a file request submitter is required to provide\na description of the files they are submitting.\n\nWhen this setting is set to true, the Box UI will show\na description field on the file request form.\n\nThis will default to the value on the existing file request." + }, + "expires_at": { "type": "string", - "description": "The type of the app that owns this app item.", - "example": "hubs" + "format": "date-time", + "description": "The date after which a file request will no longer accept new\nsubmissions.\n\nAfter this date, the `status` will automatically be set to\n`inactive`.\n\nThis will default to the value on the existing file request.", + "example": "2020-09-28T10:53:43-08:00" } } }, - "AppItemAssociation": { - "title": "App item association", + "FileRequestCopyRequest": { + "title": "File Request (Copy)", "type": "object", - "x-box-tag": "app_item_associations", - "x-box-resource-id": "app_item_association", - "description": "An app item association represents an association between a file or\nfolder and an app item. Associations between a folder and an app item\ncascade down to all descendants of the folder.", + "description": "The request body to copy a file request.", "required": [ - "id", - "type", - "app_item", - "item" + "folder" ], - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this app item association.", - "example": "12345678", - "nullable": false - }, - "type": { - "type": "string", - "description": "`app_item_association`", - "example": "app_item_association", - "enum": [ - "app_item_association" - ], - "nullable": false - }, - "app_item": { - "allOf": [ - { - "$ref": "#/components/schemas/AppItem" - }, - { - "description": "The app item which is associated with the file or folder." - } - ], - "nullable": false - }, - "item": { - "allOf": [ - { - "oneOf": [ - { - "$ref": "#/components/schemas/File--Base" - }, - { - "$ref": "#/components/schemas/Folder--Base" - }, - { - "$ref": "#/components/schemas/WebLink--Base" - } - ] - }, - { - "description": "The file or folder which is associated with the app item." - } - ], - "nullable": false - } - } - }, - "AppItemAssociations": { - "title": "App item associations", - "type": "object", - "x-box-tag": "app_item_associations", - "x-box-resource-id": "app_item_associations", - "description": "A list of app item associations", "allOf": [ { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", + "$ref": "#/components/schemas/FileRequestUpdateRequest" + }, + { "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true - }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true + "folder": { + "type": "object", + "description": "The folder to associate the new file request to.", + "required": [ + "id" + ], + "properties": { + "type": { + "type": "string", + "example": "folder", + "description": "`folder`", + "enum": [ + "folder" + ] + }, + "id": { + "type": "string", + "example": "42037322", + "description": "The ID of the folder to associate the new\nfile request to." + } + } } } + } + ] + }, + "SignRequestCreateRequest": { + "title": "Create a Box Sign request", + "type": "object", + "description": "Creates a Box Sign request object.", + "required": [ + "signers" + ], + "allOf": [ + { + "$ref": "#/components/schemas/SignRequest--Base" }, { "properties": { - "entries": { + "source_files": { "type": "array", "items": { - "$ref": "#/components/schemas/AppItemAssociation" - } + "$ref": "#/components/schemas/File--Base" + }, + "description": "List of files to create a signing document from. This is currently limited to ten files. Only the ID and type fields are required for each file.", + "maxItems": 10, + "nullable": true + }, + "signature_color": { + "type": "string", + "example": "blue", + "description": "Force a specific color for the signature (blue, black, or red)", + "enum": [ + "blue", + "black", + "red" + ], + "nullable": true + }, + "signers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SignRequestCreateSigner" + }, + "description": "Array of signers for the signature request. 35 is the\nmax number of signers permitted.\n\n**Note**: It may happen that some signers belong to conflicting [segments](r://shield-information-barrier-segment-member) (user groups).\nThis means that due to the security policies, users are assigned to segments to prevent exchanges or communication that could lead to ethical conflicts.\nIn such a case, an attempt to send the sign request will result in an error.\n\nRead more about [segments and ethical walls](https://support.box.com/hc/en-us/articles/9920431507603-Understanding-Information-Barriers#h_01GFVJEHQA06N7XEZ4GCZ9GFAQ)." + }, + "parent_folder": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "description": "The destination folder to place final, signed document and signing\nlog. Only `ID` and `type` fields are required. The root folder,\nfolder ID `0`, cannot be used and can also not be null.\n\nWhen this value is not passed in when the signature request, then\nwe will use a default folder which is either the parent folder of\nthe first source file in the payload if we have the permission to\nupload to that folder or a folder called \"My Sign Requests\"." + } + ] } } } ] }, - "Classification": { - "title": "Classification", + "DocgenTemplateCreateRequest": { + "title": "Marking file as Docgen Template", "type": "object", - "x-box-resource-id": "classification", - "x-box-tag": "classifications", - "description": "An instance of the classification metadata template, containing\nthe classification applied to the file or folder.\n\nTo get more details about the classification applied to an item,\nrequest the classification metadata template.", + "description": "The schema for marking document as Docgen Template.", + "required": [ + "file" + ], "properties": { - "Box__Security__Classification__Key": { - "type": "string", - "example": "Sensitive", - "description": "The name of the classification applied to the item." - }, - "$parent": { - "type": "string", - "example": "folder_59449484661,", - "description": "The identifier of the item that this metadata instance\nhas been attached to. This combines the `type` and the `id`\nof the parent in the form `{type}_{id}`." - }, - "$template": { - "type": "string", - "example": "securityClassification-6VMVochwUWo", - "description": "`securityClassification-6VMVochwUWo`", - "enum": [ - "securityClassification-6VMVochwUWo" + "file": { + "allOf": [ + { + "title": "File reference", + "type": "object", + "description": "File reference", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "type": "string", + "description": "`file`", + "example": "file", + "enum": [ + "file" + ], + "nullable": false + }, + "id": { + "description": "ID of the object", + "type": "string", + "example": "42037322" + } + } + }, + { + "description": "Enable the file to create a docgen document from." + } ] - }, - "$scope": { - "type": "string", - "example": "enterprise_27335", - "description": "The scope of the enterprise that this classification has been\napplied for.\n\nThis will be in the format `enterprise_{enterprise_id}`." - }, - "$version": { - "type": "integer", - "example": 1, - "description": "The version of the metadata instance. This version starts at 0 and\nincreases every time a classification is updated." - }, - "$type": { - "type": "string", - "example": "securityClassification-6VMVochwUWo-fd31537a-0f95-4d86-9f2b-5974a29978f8", - "description": "The unique ID of this classification instance. This will be include\nthe name of the classification template and a unique ID." - }, - "$typeVersion": { - "type": "number", - "example": 5, - "description": "The version of the metadata template. This version starts at 0 and\nincreases every time the template is updated. This is mostly for internal\nuse." - }, - "$canEdit": { - "type": "boolean", - "example": true, - "description": "Whether an end user can change the classification." } } }, - "ClassificationTemplate": { - "title": "Classification Template", + "DocgenBatchCreateRequest": { + "title": "Create batch request", "type": "object", - "x-box-resource-id": "classification_template", - "x-box-tag": "classifications", - "description": "A metadata template that holds the security classifications\ndefined by an enterprise.", + "description": "The schema for Docgen Document Generation post job request.", "required": [ - "id", - "type", - "scope", - "displayName", - "fields", - "templateKey" + "file", + "input_source", + "destination_folder", + "output_type", + "document_generation_data" ], "properties": { - "id": { - "type": "string", - "example": "58063d82-4128-7b43-bba9-92f706befcdf", - "description": "The ID of the classification template." - }, - "type": { - "type": "string", - "description": "`metadata_template`", - "example": "metadata_template", - "enum": [ - "metadata_template" - ], - "nullable": false - }, - "scope": { - "type": "string", - "description": "The scope of the classification template. This is in the format\n`enterprise_{id}` where the `id` is the enterprise ID.", - "example": "enterprise_123456" - }, - "templateKey": { - "type": "string", - "example": "securityClassification-6VMVochwUWo", - "description": "`securityClassification-6VMVochwUWo`", - "enum": [ - "securityClassification-6VMVochwUWo" + "file": { + "allOf": [ + { + "title": "File reference", + "type": "object", + "description": "File reference", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "type": "string", + "description": "`file`", + "example": "file", + "enum": [ + "file" + ], + "nullable": false + }, + "id": { + "description": "ID of the object", + "type": "string", + "example": "42037322" + } + } + }, + { + "description": "Template file." + } ] }, - "displayName": { - "type": "string", - "example": "Classification", - "description": "The name of this template as shown in web and mobile interfaces.", - "enum": [ - "Classification" + "file_version": { + "allOf": [ + { + "$ref": "#/components/schemas/FileVersion--Base" + }, + { + "description": "File version of a template." + } ] }, - "hidden": { - "type": "boolean", - "example": false, - "description": "Determines if the\ntemplate is always available in web and mobile interfaces." - }, - "copyInstanceOnItemCopy": { - "type": "boolean", - "example": true, - "description": "Determines if \nclassifications are\ncopied along when the file or folder is\ncopied." + "input_source": { + "type": "string", + "description": "source of input.", + "example": "api" }, - "fields": { - "type": "array", - "maxItems": 1, - "minItems": 1, - "description": "A list of fields for this classification template. This includes\nonly one field, the `Box__Security__Classification__Key`, which defines\nthe different classifications available in this enterprise.", - "items": { - "type": "object", - "required": [ - "id", - "type", - "key", - "displayName", - "options" - ], - "description": "The metadata template field that represents the available\nclassifications.", - "properties": { - "id": { - "type": "string", - "example": "822227e0-47a5-921b-88a8-494760b2e6d2", - "description": "The unique ID of the field." - }, - "type": { - "type": "string", - "example": "enum", - "description": "The array item type.", - "enum": [ - "enum" - ] - }, - "key": { - "type": "string", - "example": "Box__Security__Classification__Key", - "description": "Defines classifications \navailable in the enterprise.", - "enum": [ - "Box__Security__Classification__Key" - ] - }, - "displayName": { - "type": "string", - "example": "Classification", - "description": "`Classification`", - "enum": [ - "Classification" - ] - }, - "hidden": { - "type": "boolean", - "example": false, - "description": "Classifications are always visible to web and mobile users." - }, - "options": { - "type": "array", - "description": "A list of classifications available in this enterprise.", - "minItems": 1, - "items": { - "required": [ - "key", - "id" + "destination_folder": { + "allOf": [ + { + "title": "Folder reference", + "type": "object", + "description": "Folder reference", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "type": "string", + "description": "`folder`", + "example": "folder", + "enum": [ + "folder" ], - "type": "object", - "description": "A single classification available in this enterprise.", - "properties": { - "id": { - "type": "string", - "example": "46aea176-3483-4431-856c-6b5b13d1cc50", - "description": "The unique ID of this classification." - }, - "key": { - "type": "string", - "example": "Sensitive", - "description": "The display name and key for this classification." - }, - "staticConfig": { - "type": "object", - "description": "Additional information about the classification.", - "properties": { - "classification": { - "type": "object", - "description": "Additional information about the classification.\n\nThis is not an exclusive list of properties, and\nmore object fields might be returned. These fields\nare used for internal Box Shield and Box Governance\npurposes and no additional value must be derived from\nthese fields.", - "properties": { - "classificationDefinition": { - "type": "string", - "example": "Sensitive information", - "description": "A longer description of the classification." - }, - "colorID": { - "type": "integer", - "format": "int64", - "example": 4, - "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" - } - } - } - } - } - } + "nullable": false + }, + "id": { + "description": "ID of the folder", + "type": "string", + "example": "42037322" } } + }, + { + "description": "Destination folder for generated files." } + ] + }, + "output_type": { + "type": "string", + "description": "Type of the output file.", + "example": "docx" + }, + "document_generation_data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DocgenDocumentGenerationData" } } } }, - "Collaboration": { - "title": "Collaboration", + "DocgenDocumentGenerationData": { + "title": "Document generation data", "type": "object", - "x-box-resource-id": "collaboration", - "x-box-tag": "user_collaborations", - "description": "Collaborations define access permissions for users and groups to files and\nfolders, similar to access control lists. A collaboration object grants a\nuser or group access to a file or folder with permissions defined by a\nspecific role.", + "description": "The schema for Docgen Document Generation post job request.", "required": [ - "id", - "type" + "generated_file_name", + "user_input" ], "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this collaboration.", - "example": "12345678" - }, - "type": { + "generated_file_name": { "type": "string", - "description": "`collaboration`", - "example": "collaboration", - "enum": [ - "collaboration" - ] + "example": "New_Template", + "description": "File name of the output file" }, - "item": { - "allOf": [ - { - "oneOf": [ - { - "$ref": "#/components/schemas/File" - }, - { - "$ref": "#/components/schemas/Folder" - }, + "user_input": { + "type": "object", + "example": { + "name": "Aaron Levie" + } + } + } + }, + "IntegrationMappingSlackCreateRequest": { + "title": "Create Slack integration mapping request", + "type": "object", + "x-box-resource-id": "integration_mapping_slack_create_request", + "description": "A request to create a\nSlack Integration Mapping object", + "allOf": [ + { + "properties": { + "partner_item": { + "allOf": [ { - "$ref": "#/components/schemas/WebLink" + "$ref": "#/components/schemas/IntegrationMappingPartnerItemSlack" } - ] - }, - { - "description": "The file or folder to which access is granted. The field is\n`null` when the collaboration `status` is `pending` or the\ncollaboration is created on an app item (see `app_item` field)." - } - ], - "nullable": true - }, - "app_item": { - "allOf": [ - { - "$ref": "#/components/schemas/AppItem" - }, - { - "description": "An `app_item` to which access is granted. The field is `null`\nwhen the collaboration is created on an item (see `item`\nfield), or the `app_item` is inaccessible. The role cascades\nto all items associated with the `app_item`." + ], + "nullable": false } - ], - "nullable": true + } }, - "accessible_by": { - "allOf": [ - { - "oneOf": [ - { - "$ref": "#/components/schemas/User--Collaborations" - }, + { + "type": "object", + "properties": { + "box_item": { + "allOf": [ { - "$ref": "#/components/schemas/Group--Mini" + "$ref": "#/components/schemas/IntegrationMappingBoxItemSlack" } - ] + ], + "nullable": false }, - { - "description": "The user or group that is granted access." + "options": { + "allOf": [ + { + "$ref": "#/components/schemas/IntegrationMappingSlackOptions" + } + ], + "nullable": false } + }, + "required": [ + "box_item" ] - }, - "invite_email": { - "type": "string", - "nullable": true, - "example": "john@example.com", - "description": "The email address used to invite an unregistered collaborator, if\nthey are not a registered user." - }, - "role": { + } + ], + "required": [ + "partner_item" + ] + }, + "ClientError": { + "title": "Client error", + "type": "object", + "x-box-resource-id": "client_error", + "description": "A generic error", + "properties": { + "type": { + "description": "error", + "example": "error", "type": "string", - "example": "editor", "enum": [ - "editor", - "viewer", - "previewer", - "uploader", - "previewer uploader", - "viewer uploader", - "co-owner", - "owner" + "error" ], - "description": "The level of access granted." - }, - "expires_at": { - "type": "string", - "nullable": true, - "format": "date-time", - "example": "2012-12-26T10:53:43-08:00", - "description": "When the collaboration will expire, or `null` if no expiration\ndate is set." - }, - "is_access_only": { - "type": "boolean", - "example": true, - "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 the path to the root folder for the\nshared item." + "nullable": false }, "status": { + "description": "The HTTP status of the response.", + "example": 400, + "type": "integer", + "format": "int32", + "nullable": false + }, + "code": { + "description": "A Box-specific error code", + "example": "item_name_invalid", "type": "string", - "example": "accepted", "enum": [ + "created", "accepted", - "pending", - "rejected" - ], - "description": "The status of the collaboration invitation. If the status\nis `pending`, `login` and `name` return an empty string." + "no_content", + "redirect", + "not_modified", + "bad_request", + "unauthorized", + "forbidden", + "not_found", + "method_not_allowed", + "conflict", + "precondition_failed", + "too_many_requests", + "internal_server_error", + "unavailable", + "item_name_invalid", + "insufficient_scope" + ] }, - "acknowledged_at": { + "message": { + "description": "A short message describing the error.", + "example": "Method Not Allowed", "type": "string", - "format": "date-time", - "example": "2012-12-12T10:55:20-08:00", - "description": "When the `status` of the collaboration object changed to\n`accepted` or `rejected`." + "nullable": false }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Collaborations" - }, - { - "description": "The user who created the collaboration object." - }, - { - "example": [ - { - "id": 33224412 - }, - { - "type": "user" - }, - { - "login": "dylan@example.com" - }, - { - "name": "Dylan Smith" - } - ] + "context_info": { + "description": "A free-form object that contains additional context\nabout the error. The possible fields are defined on\na per-endpoint basis. `message` is only one example.", + "type": "object", + "nullable": true, + "properties": { + "message": { + "type": "string", + "description": "More details on the error.", + "example": "Something went wrong." } - ] + } }, - "created_at": { + "help_url": { + "description": "A URL that links to more information about why this error occurred.", + "example": "https://developer.box.com/guides/api-calls/permissions-and-errors/common-errors/", "type": "string", - "format": "date-time", - "example": "2012-12-12T10:53:43-08:00", - "description": "When the collaboration object was created." + "nullable": false }, - "modified_at": { + "request_id": { + "description": "A unique identifier for this response, which can be used\nwhen contacting Box support.", "type": "string", - "format": "date-time", - "example": "2012-12-12T10:53:43-08:00", - "description": "When the collaboration object was last modified." + "example": "abcdef123456", + "nullable": false + } + } + }, + "ConflictError": { + "title": "Conflict error", + "type": "object", + "x-box-resource-id": "conflict_error", + "x-box-tag": "uploads", + "description": "The error that occurs when a file can not be created due\nto a conflict.", + "allOf": [ + { + "$ref": "#/components/schemas/ClientError" }, - "acceptance_requirements_status": { - "type": "object", + { "properties": { - "terms_of_service_requirement": { - "type": "object", - "properties": { - "is_accepted": { - "type": "boolean", - "nullable": true, - "example": true, - "description": "Whether or not the terms of service have been accepted. The\nfield is `null` when there is no terms of service required." - }, - "terms_of_service": { - "allOf": [ - { - "$ref": "#/components/schemas/TermsOfService--Base" - }, - { - "description": "The terms of service that must be accepted before the\ncollaboration can be accepted. The field is `null` when\nthere is no terms of service required." - } - ] - } - } - }, - "strong_password_requirement": { - "type": "object", - "properties": { - "enterprise_has_strong_password_required_for_external_users": { - "type": "boolean", - "example": true, - "description": "Whether or not the enterprise that owns the content requires\na strong password to collaborate on the content." - }, - "user_has_strong_password": { - "type": "boolean", - "nullable": true, - "example": true, - "description": "Whether or not the user has a strong password set for their\naccount. The field is `null` when a strong password is not\nrequired." - } - } - }, - "two_factor_authentication_requirement": { + "context_info": { "type": "object", "properties": { - "enterprise_has_two_factor_auth_enabled": { - "type": "boolean", - "example": true, - "description": "Whether or not the enterprise that owns the content requires\ntwo-factor authentication to be enabled in order to\ncollaborate on the content." - }, - "user_has_two_factor_authentication_enabled": { - "type": "boolean", - "nullable": true, - "example": true, - "description": "Whether or not the user has two-factor authentication\nenabled. The field is `null` when two-factor\nauthentication is not required." + "conflicts": { + "type": "array", + "description": "A list of the file conflicts that caused this error.", + "items": { + "$ref": "#/components/schemas/FileConflict" + } } } } } } - } + ] }, - "Collaborations": { - "title": "Collaborations", + "OAuth2Error": { + "title": "OAuth 2.0 error", "type": "object", - "x-box-resource-id": "collaborations", - "x-box-tag": "user_collaborations", - "description": "A list of collaborations", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true - }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true - } - } + "x-box-resource-id": "oauth2_error", + "x-box-tag": "authorization", + "description": "An OAuth 2.0 error", + "properties": { + "error": { + "type": "string", + "example": "invalid_client", + "description": "The type of the error returned." }, - { - "type": "object", - "description": "The part of an API response that describes pagination", - "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 5000, - "type": "integer", - "format": "int64" - }, - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 2000, - "type": "integer", - "format": "int64" - }, - "order": { - "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "type": "array", - "items": { - "type": "object", - "description": "The order in which a pagination is ordered", - "properties": { - "by": { - "description": "The field to order by", - "example": "type", - "type": "string" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending", - "example": "ASC", - "enum": [ - "ASC", - "DESC" - ] - } - } - } - } - } - }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of collaborations", - "items": { - "$ref": "#/components/schemas/Collaboration" - } - } - } + "error_description": { + "type": "string", + "example": "The client credentials are not valid", + "description": "The type of the error returned." } - ] + } }, - "CollaborationAllowlistEntry": { - "title": "Allowed collaboration domain", + "SkillInvocation": { + "title": "Skill webhook payload", "type": "object", - "x-box-resource-id": "collaboration_allowlist_entry", - "x-box-tag": "collaboration_allowlist_entries", - "description": "An entry that describes an approved domain for which users can collaborate\nwith files and folders in your enterprise or vice versa.", + "x-box-resource-id": "skill_invocation", + "x-box-tag": "skills", + "description": "The payload of a Box skill as sent to a skill's\n`invocation_url`.", "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this entry", - "example": "11446498" - }, "type": { "type": "string", - "description": "`collaboration_whitelist_entry`", - "example": "collaboration_whitelist_entry", + "description": "`skill_invocation`", + "example": "skill_invocation", "enum": [ - "collaboration_whitelist_entry" + "skill_invocation" ] }, - "domain": { - "type": "string", - "example": "example.com", - "description": "The whitelisted domain" - }, - "direction": { + "id": { "type": "string", - "example": "both", - "description": "The direction of the collaborations to allow.", - "enum": [ - "inbound", - "outbound", - "both" - ] + "description": "Unique identifier for the invocation request.", + "example": "fd1d2e53-35f5-41fb-9c25-4ba326daf2f9_341016304" }, - "enterprise": { + "skill": { "allOf": [ { - "title": "Enterprise", + "title": "Skill", "type": "object", - "description": "A representation of a Box enterprise", + "description": "An object representing a skill", "properties": { "id": { "type": "string", - "description": "The unique identifier for this enterprise.", + "description": "The unique identifier for this skill", "example": "11446498" }, "type": { "type": "string", - "description": "`enterprise`", - "example": "enterprise", + "description": "`skill`", + "example": "skill", "enum": [ - "enterprise" + "skill" ] }, "name": { - "description": "The name of the enterprise", - "example": "Acme Inc.", - "type": "string" + "type": "string", + "description": "The name of the skill", + "example": "Hello World Skill" + }, + "api_key": { + "type": "string", + "description": "The client ID of the application", + "example": "hxel2s12wd2h9r8ne103c4gjbqefofih" } } }, { - "description": "The enterprise this list is applied to" + "description": "The skill that triggered this invocation" } ] }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "The time the entry was created at", - "example": "2012-12-12T10:53:43-08:00" - } - } - }, - "CollaborationAllowlistEntries": { - "title": "Allowed collaboration domains", - "type": "object", - "x-box-resource-id": "collaboration_allowlist_entries", - "x-box-tag": "collaboration_allowlist_entries", - "description": "A list of allowed domains for collaboration.", - "allOf": [ - { + "token": { "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true - }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true - } - } - }, - { + "description": "The read-only and read-write access tokens for this item", "properties": { - "entries": { - "type": "array", - "description": "A list of allowed collaboration domains", - "items": { - "$ref": "#/components/schemas/CollaborationAllowlistEntry" - } - } - } - } - ] - }, - "CollaborationAllowlistExemptTarget": { - "title": "Allowed collaboration domains user exemption", - "type": "object", - "x-box-resource-id": "collaboration_allowlist_exempt_target", - "x-box-tag": "collaboration_allowlist_exempt_targets", - "description": "The user that is exempt from any of the restrictions\nimposed by the list of allowed collaboration domains for this enterprise.", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this exemption", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`collaboration_whitelist_exempt_target`", - "example": "collaboration_whitelist_exempt_target", - "enum": [ - "collaboration_whitelist_exempt_target" - ] - }, - "enterprise": { - "allOf": [ - { - "title": "Enterprise", + "read": { "type": "object", - "description": "A representation of a Box enterprise", + "description": "The basics of an access token", "properties": { - "id": { + "access_token": { "type": "string", - "description": "The unique identifier for this enterprise.", - "example": "11446498" + "format": "token", + "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", + "description": "The requested access token." }, - "type": { + "expires_in": { + "type": "integer", + "format": "int64", + "example": 3600, + "description": "The time in seconds by which this token will expire." + }, + "token_type": { "type": "string", - "description": "`enterprise`", - "example": "enterprise", "enum": [ - "enterprise" - ] + "bearer" + ], + "example": "bearer", + "description": "The type of access token returned." }, - "name": { - "description": "The name of the enterprise", - "example": "Acme Inc.", - "type": "string" + "restricted_to": { + "type": "string", + "description": "The permissions that this access token permits,\nproviding a list of resources (files, folders, etc)\nand the scopes permitted for each of those resources.", + "example": "[{\"scope\":\"gcm\"}, {\"scope\":\"item_upload\",\"object_id\":933941692081,\"object_type\":\"file\"}, {\"scope\":\"manage_skill_invocations\"}]" } } }, - { - "description": "The enterprise this entry belongs to" + "write": { + "type": "object", + "description": "The basics of an access token", + "properties": { + "access_token": { + "type": "string", + "format": "token", + "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", + "description": "The requested access token." + }, + "expires_in": { + "type": "integer", + "format": "int64", + "example": 3600, + "description": "The time in seconds by which this token will expire." + }, + "token_type": { + "type": "string", + "enum": [ + "bearer" + ], + "example": "bearer", + "description": "The type of access token returned." + }, + "restricted_to": { + "type": "string", + "description": "The permissions that this access token permits,\nproviding a list of resources (files, folders, etc)\nand the scopes permitted for each of those resources.", + "example": "[{\"scope\":\"gcm\"}, {\"scope\":\"item_upload\",\"object_id\":933941692081,\"object_type\":\"file\"}, {\"scope\":\"manage_skill_invocations\"}]" + } + } } - ] + } }, - "user": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" + "status": { + "type": "object", + "description": "The details status of this event.", + "properties": { + "state": { + "type": "string", + "example": "invoked", + "description": "The state of this event.\n\n* `invoked` - Triggered the skill with event details to start\n applying skill on the file.\n* `processing` - Currently processing.\n* `success` - Completed processing with a success.\n* `transient_failure` - Encountered an issue which can be\n retried.\n* `permanent_failure` - Encountered a permanent issue and\n retry would not help.", + "enum": [ + "invoked", + "processing", + "success", + "transient_failure", + "permanent_failure" + ] }, - { - "description": "The user that has been exempt" + "message": { + "type": "string", + "example": "Example", + "description": "Status information" + }, + "error_code": { + "type": "string", + "example": "400", + "description": "Error code information, if error occurred." + }, + "additional_info": { + "type": "string", + "example": "Example", + "description": "Additional status information." } - ] + } }, "created_at": { "type": "string", "format": "date-time", - "description": "The time the entry was created", + "description": "The time this invocation was created.", "example": "2012-12-12T10:53:43-08:00" }, - "modified_at": { + "trigger": { "type": "string", - "format": "date-time", - "description": "The time the entry was modified", - "example": "2012-12-12T10:53:43-08:00" - } - } - }, - "CollaborationAllowlistExemptTargets": { - "title": "Allowed collaboration domains user exemptions", - "type": "object", - "x-box-resource-id": "collaboration_allowlist_exempt_targets", - "x-box-tag": "collaboration_allowlist_exempt_targets", - "description": "A list of users exempt from any of the restrictions\nimposed by the list of allowed collaboration domains for this enterprise.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" + "example": "FILE_CONTENT", + "description": "Action that triggered the invocation" + }, + "enterprise": { + "allOf": [ + { + "title": "Enterprise", + "type": "object", + "description": "A representation of a Box enterprise", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this enterprise.", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`enterprise`", + "example": "enterprise", + "enum": [ + "enterprise" + ] + }, + "name": { + "description": "The name of the enterprise", + "example": "Acme Inc.", + "type": "string" + } + } }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true + { + "description": "The enterprise that this invocation was triggered for" + } + ] + }, + "source": { + "allOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/File" + }, + { + "$ref": "#/components/schemas/Folder" + } + ] }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true + { + "description": "The item that caused the invocation to trigger" } - } + ] }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of users exempt from any of the restrictions\nimposed by the list of allowed collaboration domains\nfor this enterprise.", - "items": { - "$ref": "#/components/schemas/CollaborationAllowlistExemptTarget" - } + "event": { + "allOf": [ + { + "$ref": "#/components/schemas/Event" + }, + { + "description": "The event that triggered this invocation" } - } + ] } - ] + } }, - "Collection": { - "title": "Collection", + "WebhookInvocation": { + "title": "Webhook (V2) payload", "type": "object", - "x-box-resource-id": "collection", - "x-box-tag": "collections", - "description": "A collection of items, including files and folders.\n\nCurrently, the only collection available\nis the `favorites` collection.\n\nThe contents of a collection can be explored in a\nsimilar way to which the contents of a folder is\nexplored.", + "x-box-resource-id": "webhook_invocation", + "x-box-tag": "webhooks", + "description": "The event that is sent to a webhook address when an event happens.", "properties": { "id": { "type": "string", - "description": "The unique identifier for this collection.", + "description": "The unique identifier for this webhook invocation", "example": "11446498" }, "type": { "type": "string", - "description": "`collection`", - "example": "collection", + "description": "`webhook_event`", + "example": "webhook_event", "enum": [ - "collection" + "webhook_event" ] }, - "name": { - "type": "string", - "description": "The name of the collection.", - "enum": [ - "Favorites" - ], - "example": "Favorites" - }, - "collection_type": { - "type": "string", - "description": "The type of the collection. This is used to\ndetermine the proper visual treatment for\ncollections.", - "enum": [ - "favorites" - ], - "example": "favorites" - } - } - }, - "Collections": { - "title": "Collections", - "type": "object", - "x-box-resource-id": "collections", - "x-box-tag": "collections", - "description": "A list of collections", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes pagination", - "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 5000, - "type": "integer", - "format": "int64" - }, - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 2000, - "type": "integer", - "format": "int64" + "webhook": { + "allOf": [ + { + "$ref": "#/components/schemas/Webhook" }, - "order": { - "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "type": "array", - "items": { - "type": "object", - "description": "The order in which a pagination is ordered", - "properties": { - "by": { - "description": "The field to order by", - "example": "type", - "type": "string" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending", - "example": "ASC", - "enum": [ - "ASC", - "DESC" - ] - } - } - } + { + "description": "The webhook object that triggered this event" } - } + ] }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of collections", - "items": { - "$ref": "#/components/schemas/Collection" - } + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user that triggered this event" } - } - } - ] - }, - "Comment": { - "title": "Comment", - "type": "object", - "description": "Standard representation of a comment.", - "x-box-resource-id": "comment", - "x-box-variant": "standard", - "allOf": [ - { - "$ref": "#/components/schemas/Comment--Base" + ] }, - { - "properties": { - "is_reply_comment": { - "type": "boolean", - "description": "Whether or not this comment is a reply to another\ncomment", - "example": true - }, - "message": { + "created_at": { + "type": "string", + "format": "date-time", + "description": "A timestamp identifying the time that\nthe webhook event was triggered.", + "example": "2012-12-12T10:53:43-08:00" + }, + "trigger": { + "allOf": [ + { + "title": "Webhook Trigger", + "example": "FILE.UPLOADED", "type": "string", - "example": "@Aaron Levie these tigers are cool!", - "description": "The text of the comment, as provided by the user" - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "A mini user object representing the author of the\ncomment" - } + "description": "The event name that triggered this webhook", + "enum": [ + "FILE.UPLOADED", + "FILE.PREVIEWED", + "FILE.DOWNLOADED", + "FILE.TRASHED", + "FILE.DELETED", + "FILE.RESTORED", + "FILE.COPIED", + "FILE.MOVED", + "FILE.LOCKED", + "FILE.UNLOCKED", + "FILE.RENAMED", + "COMMENT.CREATED", + "COMMENT.UPDATED", + "COMMENT.DELETED", + "TASK_ASSIGNMENT.CREATED", + "TASK_ASSIGNMENT.UPDATED", + "METADATA_INSTANCE.CREATED", + "METADATA_INSTANCE.UPDATED", + "METADATA_INSTANCE.DELETED", + "FOLDER.CREATED", + "FOLDER.RENAMED", + "FOLDER.DOWNLOADED", + "FOLDER.RESTORED", + "FOLDER.DELETED", + "FOLDER.COPIED", + "FOLDER.MOVED", + "FOLDER.TRASHED", + "WEBHOOK.DELETED", + "COLLABORATION.CREATED", + "COLLABORATION.ACCEPTED", + "COLLABORATION.REJECTED", + "COLLABORATION.REMOVED", + "COLLABORATION.UPDATED", + "SHARED_LINK.DELETED", + "SHARED_LINK.CREATED", + "SHARED_LINK.UPDATED", + "SIGN_REQUEST.COMPLETED", + "SIGN_REQUEST.DECLINED", + "SIGN_REQUEST.EXPIRED", + "SIGN_REQUEST.SIGNER_EMAIL_BOUNCED" ] }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "The time this comment was created", - "example": "2012-12-12T10:53:43-08:00" - }, - "modified_at": { - "type": "string", - "format": "date-time", - "description": "The time this comment was last modified", - "example": "2012-12-12T10:53:43-08:00" - }, - "item": { - "allOf": [ + { + "description": "The event name that triggered this webhook" + } + ] + }, + "source": { + "allOf": [ + { + "oneOf": [ { - "title": "Reference", - "description": "The bare basic reference for an object", - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this object", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "The type for this object", - "example": "file" - } - } + "$ref": "#/components/schemas/File" }, { - "description": "The file this comment was placed on" + "$ref": "#/components/schemas/Folder" } ] + }, + { + "description": "The item that caused the event to trigger" } - } + ] } - ] + } }, - "Comments": { - "title": "Comments", + "AccessToken": { + "title": "Access token", "type": "object", - "x-box-resource-id": "comments", - "x-box-tag": "comments", - "description": "A list of comments", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes pagination", - "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 5000, - "type": "integer", - "format": "int64" - }, - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 2000, - "type": "integer", - "format": "int64" - }, - "order": { - "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "type": "array", - "items": { - "type": "object", - "description": "The order in which a pagination is ordered", - "properties": { - "by": { - "description": "The field to order by", - "example": "type", - "type": "string" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending", - "example": "ASC", - "enum": [ - "ASC", - "DESC" - ] - } - } - } - } - } + "x-box-resource-id": "access_token", + "x-box-tag": "authorization", + "description": "A token that can be used to make authenticated API calls.", + "properties": { + "access_token": { + "type": "string", + "format": "token", + "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", + "description": "The requested access token." }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of comments", - "items": { - "$ref": "#/components/schemas/Comment--Full" - } - } + "expires_in": { + "type": "integer", + "format": "int64", + "example": 3600, + "description": "The time in seconds by which this token will expire." + }, + "token_type": { + "type": "string", + "enum": [ + "bearer" + ], + "example": "bearer", + "description": "The type of access token returned." + }, + "restricted_to": { + "type": "array", + "description": "The permissions that this access token permits,\nproviding a list of resources (files, folders, etc)\nand the scopes permitted for each of those resources.", + "items": { + "$ref": "#/components/schemas/FileOrFolderScope" } + }, + "refresh_token": { + "type": "string", + "format": "token", + "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", + "description": "The refresh token for this access token, which can be used\nto request a new access token when the current one expires." + }, + "issued_token_type": { + "type": "string", + "format": "urn", + "example": "urn:ietf:params:oauth:token-type:access_token", + "enum": [ + "urn:ietf:params:oauth:token-type:access_token" + ], + "description": "The type of downscoped access token returned. This is only\nreturned if an access token has been downscoped." } - ] + } }, - "Comment--Base": { - "title": "Comment (Base)", + "AiResponse": { + "title": "AI response", "type": "object", - "x-box-resource-id": "comment--base", - "x-box-tag": "comments", + "x-box-resource-id": "ai_response", + "x-box-tag": "ai", + "x-box-variant": "standard", "x-box-variants": [ - "base", "standard", "full" ], - "x-box-variant": "base", - "description": "Base representation of a comment.", + "required": [ + "answer", + "created_at" + ], "properties": { - "id": { + "answer": { "type": "string", - "description": "The unique identifier for this comment.", - "example": "11446498" + "description": "The answer provided by the LLM.", + "example": "Public APIs are important because of key and important reasons." }, - "type": { + "created_at": { "type": "string", - "description": "`comment`", - "example": "comment", - "enum": [ - "comment" - ] + "format": "date-time", + "description": "The ISO date formatted timestamp of when the answer to the prompt was created.", + "example": "2012-12-12T10:53:43-08:00" + }, + "completion_reason": { + "type": "string", + "description": "The reason the response finishes.", + "example": "done" } - } + }, + "description": "AI response" }, - "Comment--Full": { - "title": "Comment (Full)", - "type": "object", - "x-box-resource-id": "comment--full", + "AiResponse--Full": { + "title": "AI response (Full)", + "x-box-resource-id": "ai_response--full", + "x-box-tag": "ai", "x-box-variant": "full", - "description": "Comments are messages created on files. Comments\ncan be made independently or created as responses to other\ncomments", + "x-box-variants": [ + "standard", + "full" + ], + "type": "object", + "required": [ + "answer", + "created_at" + ], "allOf": [ { - "$ref": "#/components/schemas/Comment" + "$ref": "#/components/schemas/AiResponse" }, { "properties": { - "tagged_message": { - "type": "string", - "example": "@[1234567:Aaron Levie] these tigers are cool!", - "description": "The string representing the comment text with\n@mentions included. @mention format is @[id:username]\nwhere `id` is user's Box ID and `username` is\ntheir display name." + "citations": { + "type": "array", + "description": "The citations of the LLM's answer reference.", + "items": { + "$ref": "#/components/schemas/AiCitation" + } } } } - ] + ], + "description": "AI ask response" }, - "DevicePinner": { - "title": "Device pinner", + "AiExtractResponse": { + "title": "AI extract response", "type": "object", - "x-box-resource-id": "device_pinner", - "x-box-tag": "device_pinners", - "description": "Device pins allow enterprises to control what devices can\nuse native Box applications.", + "x-box-resource-id": "ai_extract_response", + "x-box-tag": "ai", + "description": "AI extract response.\nThe content of this response may vary depending on\nthe requested configuration." + }, + "AiAgentAsk": { + "title": "AI agent for question requests", + "type": "object", + "x-box-resource-id": "ai_agent_ask", + "x-box-tag": "ai", + "required": [ + "type" + ], "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this device pin.", - "example": "11446498" - }, "type": { "type": "string", - "description": "`device_pinner`", - "example": "device_pinner", "enum": [ - "device_pinner" - ] + "ai_agent_ask" + ], + "description": "The type of AI agent used to handle queries.", + "example": "ai_agent_ask", + "nullable": false }, - "owned_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user that the device pin belongs to" - } - ] + "long_text": { + "$ref": "#/components/schemas/AiAgentLongTextTool" }, - "product_name": { - "type": "string", - "description": "The type of device being pinned", - "example": "iPad" + "basic_text": { + "$ref": "#/components/schemas/AiAgentBasicTextTool" + }, + "long_text_multi": { + "$ref": "#/components/schemas/AiAgentLongTextTool" + }, + "basic_text_multi": { + "$ref": "#/components/schemas/AiAgentBasicTextTool" } - } + }, + "description": "The AI agent used to handle queries." }, - "DevicePinners": { - "title": "Device pinners", + "AiAgentTextGen": { + "title": "AI agent for text generation requests", "type": "object", - "x-box-resource-id": "device_pinners", - "x-box-tag": "device_pinners", - "description": "A list of device pins", + "x-box-tag": "ai", + "x-box-resource-id": "ai_agent_text_gen", + "required": [ + "type" + ], "properties": { - "entries": { - "type": "array", - "description": "A list of device pins", - "items": { - "$ref": "#/components/schemas/DevicePinner" - } - }, - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed.", - "default": 100, - "example": 200, - "type": "integer", - "format": "int64" - }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": 3000, - "type": "integer", - "format": "int64" + "type": { + "type": "string", + "enum": [ + "ai_agent_text_gen" + ], + "description": "The type of AI agent used for generating text.", + "example": "ai_agent_text_gen", + "nullable": false }, - "order": { - "description": "The order by which items are returned.", - "type": "array", - "items": { - "type": "object", - "description": "The order in which a pagination is ordered", - "properties": { - "by": { - "description": "The field that is ordered by", - "example": "id", - "enum": [ - "id" - ], - "type": "string" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending", - "example": "asc", - "enum": [ - "asc", - "desc" - ] - } - } - } + "basic_gen": { + "$ref": "#/components/schemas/AiAgentBasicGenTool" } - } + }, + "description": "The AI agent used for generating text." }, - "EmailAlias": { - "title": "Email alias", + "AiAgentExtract": { + "title": "AI agent for extract requests", "type": "object", - "x-box-resource-id": "email_alias", - "x-box-tag": "email_aliases", - "description": "An email alias for a user.", + "x-box-tag": "ai", + "x-box-resource-id": "ai_agent_extract", + "required": [ + "type" + ], "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this object", - "example": "11446498" - }, "type": { "type": "string", - "description": "`email_alias`", - "example": "email_alias", "enum": [ - "email_alias" - ] + "ai_agent_extract" + ], + "description": "The type of AI agent to be used for extraction.", + "example": "ai_agent_extract", + "nullable": false }, - "email": { - "type": "string", - "description": "The email address", - "example": "alias@example.com" + "long_text": { + "$ref": "#/components/schemas/AiAgentLongTextTool" }, - "is_confirmed": { - "type": "boolean", - "description": "Whether the email address has been confirmed", - "example": true + "basic_text": { + "$ref": "#/components/schemas/AiAgentBasicTextTool" } - } + }, + "description": "The AI agent to be used for extraction." }, - "EmailAliases": { - "title": "Email aliases", + "AiAgentExtractStructured": { + "title": "AI agent for structured extract request", "type": "object", - "x-box-resource-id": "email_aliases", - "x-box-tag": "email_aliases", - "description": "A list of email aliases", + "x-box-tag": "ai", + "x-box-resource-id": "ai_agent_extract_structured", + "required": [ + "type" + ], "properties": { - "total_count": { - "description": "The number of email aliases.", - "example": 5000, - "type": "integer", - "format": "int64" + "type": { + "type": "string", + "enum": [ + "ai_agent_extract_structured" + ], + "description": "The type of AI agent to be used for extraction.", + "example": "ai_agent_extract_structured", + "nullable": false }, - "entries": { - "type": "array", - "description": "A list of email aliases", - "items": { - "$ref": "#/components/schemas/EmailAlias" - } + "long_text": { + "$ref": "#/components/schemas/AiAgentLongTextTool" + }, + "basic_text": { + "$ref": "#/components/schemas/AiAgentBasicTextTool" } - } + }, + "description": "The AI agent to be used for structured extraction." }, - "Enterprise--Base": { - "title": "Enterprise (Base)", + "AppItem": { + "title": "App item", "type": "object", - "x-box-resource-id": "enterprise--base", - "x-box-variants": [ - "base", - "mini", - "standard", - "full" + "x-box-tag": "app_item_associations", + "x-box-resource-id": "app_item", + "description": "An app item represents an content object owned by an application. It can\ngroup files and folders together from different paths. That set can be shared\nvia a collaboration.", + "required": [ + "id", + "type", + "application_type" ], - "x-box-variant": "base", - "description": "A mini representation of a enterprise, used when\nnested within another resource.", "properties": { "id": { "type": "string", - "description": "The unique identifier for this enterprise", - "example": "1910967" + "description": "The unique identifier for this app item.", + "example": "12345678" }, "type": { "type": "string", - "description": "`enterprise`", - "example": "enterprise", - "nullable": false, + "description": "`app_item`", + "example": "app_item", "enum": [ - "enterprise" + "app_item" ] + }, + "application_type": { + "type": "string", + "description": "The type of the app that owns this app item.", + "example": "hubs" } } }, - "Event": { - "title": "Event", + "AppItemAssociation": { + "title": "App item association", "type": "object", - "x-box-resource-id": "event", - "x-box-tag": "events", - "description": "The description of an event that happened within Box", + "x-box-tag": "app_item_associations", + "x-box-resource-id": "app_item_association", + "description": "An app item association represents an association between a file or\nfolder and an app item. Associations between a folder and an app item\ncascade down to all descendants of the folder.", + "required": [ + "id", + "type", + "app_item", + "item" + ], "properties": { - "type": { - "description": "`event`", - "type": "string", - "example": "event" - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "When the event object was created", - "example": "2022-12-12T10:53:43-08:00" - }, - "recorded_at": { + "id": { "type": "string", - "format": "date-time", - "description": "When the event object was recorded in database", - "example": "2022-12-12T10:54:43-08:00" + "description": "The unique identifier for this app item association.", + "example": "12345678", + "nullable": false }, - "event_id": { + "type": { "type": "string", - "example": "f82c3ba03e41f7e8a7608363cc6c0390183c3f83", - "description": "The ID of the event object. You can use this to detect duplicate events" - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user that performed the action represented by the event.\nSome events may be performed by users not logged into Box.\nIn that case, not all attributes of the object are populated and the\nevent is attributed to a unknown user (`user_id = 2`)" - } - ] + "description": "`app_item_association`", + "example": "app_item_association", + "enum": [ + "app_item_association" + ], + "nullable": false }, - "event_type": { + "app_item": { "allOf": [ { - "title": "Event Type", - "example": "FILE_MARKED_MALICIOUS", - "type": "string", - "description": "An event type that can trigger an event", - "enum": [ - "ACCESS_GRANTED", - "ACCESS_REVOKED", - "ADD_DEVICE_ASSOCIATION", - "ADD_LOGIN_ACTIVITY_DEVICE", - "ADMIN_LOGIN", - "APPLICATION_CREATED", - "APPLICATION_PUBLIC_KEY_ADDED", - "APPLICATION_PUBLIC_KEY_DELETED", - "CHANGE_ADMIN_ROLE", - "CHANGE_FOLDER_PERMISSION", - "COLLABORATION_ACCEPT", - "COLLABORATION_EXPIRATION", - "COLLABORATION_INVITE", - "COLLABORATION_REMOVE", - "COLLABORATION_ROLE_CHANGE", - "COLLAB_ADD_COLLABORATOR", - "COLLAB_INVITE_COLLABORATOR", - "COLLAB_REMOVE_COLLABORATOR", - "COLLAB_ROLE_CHANGE", - "COMMENT_CREATE", - "COMMENT_DELETE", - "CONTENT_ACCESS", - "CONTENT_WORKFLOW_ABNORMAL_DOWNLOAD_ACTIVITY", - "CONTENT_WORKFLOW_AUTOMATION_ADD", - "CONTENT_WORKFLOW_AUTOMATION_DELETE", - "CONTENT_WORKFLOW_POLICY_ADD", - "CONTENT_WORKFLOW_SHARING_POLICY_VIOLATION", - "CONTENT_WORKFLOW_UPLOAD_POLICY_VIOLATION", - "COPY", - "DATA_RETENTION_CREATE_RETENTION", - "DATA_RETENTION_REMOVE_RETENTION", - "DELETE", - "DELETE_USER", - "DEVICE_TRUST_CHECK_FAILED", - "DOWNLOAD", - "EDIT", - "EDIT_USER", - "EMAIL_ALIAS_CONFIRM", - "EMAIL_ALIAS_REMOVE", - "ENABLE_TWO_FACTOR_AUTH", - "ENTERPRISE_APP_AUTHORIZATION_UPDATE", - "FAILED_LOGIN", - "FILE_MARKED_MALICIOUS", - "FILE_WATERMARKED_DOWNLOAD", - "GROUP_ADD_ITEM", - "GROUP_ADD_USER", - "GROUP_CREATION", - "GROUP_DELETION", - "GROUP_EDITED", - "GROUP_REMOVE_ITEM", - "GROUP_REMOVE_USER", - "ITEM_COPY", - "ITEM_CREATE", - "ITEM_DOWNLOAD", - "ITEM_EMAIL_SEND", - "ITEM_MAKE_CURRENT_VERSION", - "ITEM_MODIFY", - "ITEM_MOVE", - "ITEM_OPEN", - "ITEM_PREVIEW", - "ITEM_RENAME", - "ITEM_SHARED", - "ITEM_SHARED_CREATE", - "ITEM_SHARED_UNSHARE", - "ITEM_SHARED_UPDATE", - "ITEM_SYNC", - "ITEM_TRASH", - "ITEM_UNDELETE_VIA_TRASH", - "ITEM_UNSYNC", - "ITEM_UPLOAD", - "LEGAL_HOLD_ASSIGNMENT_CREATE", - "LEGAL_HOLD_ASSIGNMENT_DELETE", - "LEGAL_HOLD_POLICY_CREATE", - "LEGAL_HOLD_POLICY_DELETE", - "LEGAL_HOLD_POLICY_UPDATE", - "LOCK", - "LOCK_CREATE", - "LOCK_DESTROY", - "LOGIN", - "MASTER_INVITE_ACCEPT", - "MASTER_INVITE_REJECT", - "METADATA_INSTANCE_CREATE", - "METADATA_INSTANCE_DELETE", - "METADATA_INSTANCE_UPDATE", - "METADATA_TEMPLATE_CREATE", - "METADATA_TEMPLATE_DELETE", - "METADATA_TEMPLATE_UPDATE", - "MOVE", - "NEW_USER", - "PREVIEW", - "REMOVE_DEVICE_ASSOCIATION", - "REMOVE_LOGIN_ACTIVITY_DEVICE", - "RENAME", - "RETENTION_POLICY_ASSIGNMENT_ADD", - "SHARE", - "SHARED_LINK_SEND", - "SHARE_EXPIRATION", - "SHIELD_ALERT", - "SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED", - "SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED_MISSING_JUSTIFICATION", - "SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED", - "SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED_MISSING_JUSTIFICATION", - "SHIELD_JUSTIFICATION_APPROVAL", - "SHIELD_SHARED_LINK_ACCESS_BLOCKED", - "SHIELD_SHARED_LINK_STATUS_RESTRICTED_ON_CREATE", - "SHIELD_SHARED_LINK_STATUS_RESTRICTED_ON_UPDATE", - "SIGN_DOCUMENT_ASSIGNED", - "SIGN_DOCUMENT_CANCELLED", - "SIGN_DOCUMENT_COMPLETED", - "SIGN_DOCUMENT_CONVERTED", - "SIGN_DOCUMENT_CREATED", - "SIGN_DOCUMENT_DECLINED", - "SIGN_DOCUMENT_EXPIRED", - "SIGN_DOCUMENT_SIGNED", - "SIGN_DOCUMENT_VIEWED_BY_SIGNED", - "SIGNER_DOWNLOADED", - "SIGNER_FORWARDED", - "STORAGE_EXPIRATION", - "TAG_ITEM_CREATE", - "TASK_ASSIGNMENT_CREATE", - "TASK_ASSIGNMENT_DELETE", - "TASK_ASSIGNMENT_UPDATE", - "TASK_CREATE", - "TASK_UPDATE", - "TERMS_OF_SERVICE_ACCEPT", - "TERMS_OF_SERVICE_REJECT", - "UNDELETE", - "UNLOCK", - "UNSHARE", - "UPDATE_COLLABORATION_EXPIRATION", - "UPDATE_SHARE_EXPIRATION", - "UPLOAD", - "USER_AUTHENTICATE_OAUTH2_ACCESS_TOKEN_CREATE", - "WATERMARK_LABEL_CREATE", - "WATERMARK_LABEL_DELETE" - ] + "$ref": "#/components/schemas/AppItem" }, { - "description": "The event type that triggered this event" + "description": "The app item which is associated with the file or folder." } - ] - }, - "session_id": { - "type": "string", - "example": "70090280850c8d2a1933c1", - "description": "The session of the user that performed the action. Not all events will\npopulate this attribute." + ], + "nullable": false }, - "source": { + "item": { "allOf": [ { "oneOf": [ { - "$ref": "#/components/schemas/User" + "$ref": "#/components/schemas/File--Base" }, { - "$ref": "#/components/schemas/EventSource" - }, - { - "$ref": "#/components/schemas/File" - }, - { - "$ref": "#/components/schemas/Folder" - }, - { - "$ref": "#/components/schemas/GenericSource" + "$ref": "#/components/schemas/Folder--Base" }, { - "$ref": "#/components/schemas/AppItemEventSource" + "$ref": "#/components/schemas/WebLink--Base" } ] }, { - "description": "The resource that triggered this event. For more information,\ncheck out the guide on event triggers." - } - ] - }, - "additional_details": { - "type": "object", - "example": { - "key": "value" - }, - "description": "This object provides additional information about the event if available.\n\nThis can include how a user performed an event as well as additional\ninformation to correlate an event to external KeySafe logs. Not all events\nhave an `additional_details` object. This object is only available in the\nEnterprise Events." - } - } - }, - "Events": { - "title": "Events", - "type": "object", - "x-box-resource-id": "events", - "x-box-tag": "events", - "description": "A list of event objects", - "properties": { - "chunk_size": { - "description": "The number of events returned in this response.", - "example": 2, - "type": "integer", - "format": "int64" - }, - "next_stream_position": { - "description": "The stream position of the start of the next page (chunk)\nof events.", - "example": "1152922976252290886", - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" + "description": "The file or folder which is associated with the app item." } - ] - }, - "entries": { - "type": "array", - "description": "A list of events", - "items": { - "$ref": "#/components/schemas/Event" - } + ], + "nullable": false } } }, - "File": { - "title": "File", + "AppItemAssociations": { + "title": "App item associations", "type": "object", - "x-box-resource-id": "file", - "x-box-variant": "standard", - "description": "A standard representation of a file, as returned from any\nfile API endpoints by default", + "x-box-tag": "app_item_associations", + "x-box-resource-id": "app_item_associations", + "description": "A list of app item associations", "allOf": [ { - "$ref": "#/components/schemas/File--Mini" - }, - { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", "properties": { - "description": { - "type": "string", - "nullable": false, - "description": "The optional description of this file.\nIf the description exceeds 255 characters, the first 255 characters\nare set as a file description and the rest of it is ignored.", - "maxLength": 255, - "example": "Contract for Q1 renewal" - }, - "size": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, "type": "integer", - "nullable": false, - "description": "The file size in bytes. Be careful parsing this integer as it can\nget very large and cause an integer overflow.", - "example": 629644 - }, - "path_collection": { - "allOf": [ - { - "title": "Path collection", - "description": "A list of parent folders for an item.", - "type": "object", - "required": [ - "total_count", - "entries" - ], - "properties": { - "total_count": { - "description": "The number of folders in this list.", - "example": 1, - "type": "integer", - "format": "int64", - "nullable": false - }, - "entries": { - "type": "array", - "description": "The parent folders for this item", - "nullable": false, - "items": { - "$ref": "#/components/schemas/Folder--Mini" - } - } - } - }, - { - "description": "The tree of folders that this file is contained in,\nstarting at the root." - }, - { - "nullable": false - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "nullable": false, - "description": "The date and time when the file was created on Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "modified_at": { - "type": "string", - "format": "date-time", - "nullable": false, - "description": "The date and time when the file was last updated on Box.", - "example": "2012-12-12T10:53:43-08:00" + "format": "int64" }, - "trashed_at": { + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", - "format": "date-time", - "description": "The time at which this file was put in the trash.", - "example": "2012-12-12T10:53:43-08:00", "nullable": true }, - "purged_at": { + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", "type": "string", - "format": "date-time", - "description": "The time at which this file is expected to be purged\nfrom the trash.", - "example": "2012-12-12T10:53:43-08:00", "nullable": true - }, - "content_created_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time at which this file was originally\ncreated, which might be before it was uploaded to Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "content_modified_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time at which this file was last updated,\nwhich might be before it was uploaded to Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created this file" - } - ] - }, - "modified_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who last modified this file" - }, - { - "nullable": false - } - ] - }, - "owned_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who owns this file" - }, - { - "nullable": false - } - ] - }, - "shared_link": { - "allOf": [ - { - "title": "Shared link", - "description": "Shared links provide direct, read-only access to files or folder on Box.\n\nShared links with open access level allow anyone with the URL\nto access the item, while shared links with company or collaborators access\nlevels can only be accessed by appropriately authenticated Box users.", - "type": "object", - "required": [ - "url", - "accessed", - "effective_access", - "effective_permission", - "is_password_enabled", - "download_count", - "preview_count" - ], - "properties": { - "url": { - "type": "string", - "format": "url", - "description": "The URL that can be used to access the item on Box.\n\nThis URL will display the item in Box's preview UI where the file\ncan be downloaded if allowed.\n\nThis URL will continue to work even when a custom `vanity_url`\nhas been set for this shared link.", - "example": "https://www.box.com/s/vspke7y05sb214wjokpk", - "nullable": false - }, - "download_url": { - "type": "string", - "format": "url", - "x-box-premium-feature": true, - "description": "A URL that can be used to download the file. This URL can be used in\na browser to download the file. This URL includes the file\nextension so that the file will be saved with the right file type.\n\nThis property will be `null` for folders.", - "example": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", - "nullable": true - }, - "vanity_url": { - "type": "string", - "format": "url", - "description": "The \"Custom URL\" that can also be used to preview the item on Box. Custom\nURLs can only be created or modified in the Box Web application.", - "example": "https://acme.app.box.com/v/my_url/", - "nullable": true - }, - "vanity_name": { - "type": "string", - "description": "The custom name of a shared link, as used in the `vanity_url` field.", - "example": "my_url", - "nullable": true - }, - "access": { - "type": "string", - "description": "The access level for this shared link.\n\n* `open` - provides access to this item to anyone with this link\n* `company` - only provides access to this item to people the same company\n* `collaborators` - only provides access to this item to people who are\n collaborators on this item\n\nIf this field is omitted when creating the shared link, the access level\nwill be set to the default access level specified by the enterprise admin.", - "enum": [ - "open", - "company", - "collaborators" - ], - "example": "open", - "nullable": false - }, - "effective_access": { - "type": "string", - "description": "The effective access level for the shared link. This can be a more\nrestrictive access level than the value in the `access` field when the\nenterprise settings restrict the allowed access levels.", - "enum": [ - "open", - "company", - "collaborators" - ], - "example": "company", - "nullable": false - }, - "effective_permission": { - "type": "string", - "description": "The effective permissions for this shared link.\nThese result in the more restrictive combination of\nthe share link permissions and the item permissions set\nby the administrator, the owner, and any ancestor item\nsuch as a folder.", - "enum": [ - "can_edit", - "can_download", - "can_preview", - "no_access" - ], - "example": "can_download", - "nullable": false - }, - "unshared_at": { - "type": "string", - "format": "date-time", - "description": "The date and time when this link will be unshared. This field can only be\nset by users with paid accounts.", - "example": "2018-04-13T13:53:23-07:00", - "nullable": true - }, - "is_password_enabled": { - "type": "boolean", - "description": "Defines if the shared link requires a password to access the item.", - "example": true, - "nullable": false - }, - "permissions": { - "type": "object", - "description": "Defines if this link allows a user to preview, edit, and download an item.\nThese permissions refer to the shared link only and\ndo not supersede permissions applied to the item itself.", - "required": [ - "can_download", - "can_preview", - "can_edit" - ], - "properties": { - "can_download": { - "type": "boolean", - "example": true, - "nullable": false, - "description": "Defines if the shared link allows for the item to be downloaded. For\nshared links on folders, this also applies to any items in the folder.\n\nThis value can be set to `true` when the effective access level is\nset to `open` or `company`, not `collaborators`." - }, - "can_preview": { - "type": "boolean", - "example": true, - "nullable": false, - "description": "Defines if the shared link allows for the item to be previewed.\n\nThis value is always `true`. For shared links on folders this also\napplies to any items in the folder." - }, - "can_edit": { - "type": "boolean", - "example": false, - "nullable": false, - "description": "Defines if the shared link allows for the item to be edited.\n\nThis value can only be `true` if `can_download` is also `true` and if\nthe item has a type of `file`." - } - } - }, - "download_count": { - "type": "integer", - "example": 3, - "description": "The number of times this item has been downloaded.", - "nullable": false - }, - "preview_count": { - "type": "integer", - "example": 3, - "description": "The number of times this item has been previewed.", - "nullable": false - } - } - }, - { - "description": "The shared link for this file. This will be\n`null` if no shared link has been created for this\nfile." - }, - { - "nullable": true - } - ] - }, - "parent": { - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" - }, - { - "description": "The folder that this file is located within." - } - ], - "nullable": true - }, - "item_status": { - "type": "string", - "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", - "enum": [ - "active", - "trashed", - "deleted" - ], - "nullable": false, - "example": "active" } } - } - ] - }, - "FileConflict": { - "title": "File (Conflict)", - "type": "object", - "x-box-resource-id": "file_conflict", - "x-box-tag": null, - "description": "A representation of a file that is used to show", - "allOf": [ - { - "$ref": "#/components/schemas/File--Mini" }, { "properties": { - "sha1": { - "type": "string", - "example": "85136C79CBF9FE36BB9D05D0639C70C265C18D37", - "description": "The SHA1 hash of the file." - }, - "file_version": { - "$ref": "#/components/schemas/FileVersion--Mini" + "entries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppItemAssociation" + } } } } ] }, - "Files": { - "title": "Files", + "Classification": { + "title": "Classification", "type": "object", - "x-box-resource-id": "files", - "x-box-tag": "files", - "description": "A list of files", + "x-box-resource-id": "classification", + "x-box-tag": "classifications", + "description": "An instance of the classification metadata template, containing\nthe classification applied to the file or folder.\n\nTo get more details about the classification applied to an item,\nrequest the classification metadata template.", "properties": { - "total_count": { - "description": "The number of files.", - "example": 1, + "Box__Security__Classification__Key": { + "type": "string", + "example": "Sensitive", + "description": "The name of the classification applied to the item." + }, + "$parent": { + "type": "string", + "example": "folder_59449484661,", + "description": "The identifier of the item that this metadata instance\nhas been attached to. This combines the `type` and the `id`\nof the parent in the form `{type}_{id}`." + }, + "$template": { + "type": "string", + "example": "securityClassification-6VMVochwUWo", + "description": "`securityClassification-6VMVochwUWo`", + "enum": [ + "securityClassification-6VMVochwUWo" + ] + }, + "$scope": { + "type": "string", + "example": "enterprise_27335", + "description": "The scope of the enterprise that this classification has been\napplied for.\n\nThis will be in the format `enterprise_{enterprise_id}`." + }, + "$version": { "type": "integer", - "format": "int64" + "example": 1, + "description": "The version of the metadata instance. This version starts at 0 and\nincreases every time a classification is updated." }, - "entries": { - "type": "array", - "description": "A list of files", - "items": { - "$ref": "#/components/schemas/File--Full" - } + "$type": { + "type": "string", + "example": "securityClassification-6VMVochwUWo-fd31537a-0f95-4d86-9f2b-5974a29978f8", + "description": "The unique ID of this classification instance. This will be include\nthe name of the classification template and a unique ID." + }, + "$typeVersion": { + "type": "number", + "example": 5, + "description": "The version of the metadata template. This version starts at 0 and\nincreases every time the template is updated. This is mostly for internal\nuse." + }, + "$canEdit": { + "type": "boolean", + "example": true, + "description": "Whether an end user can change the classification." } } }, - "File--Full": { - "title": "File (Full)", + "ClassificationTemplate": { + "title": "Classification Template", "type": "object", - "x-box-resource-id": "file--full", - "x-box-variant": "full", - "description": "A full representation of a file, as can be returned from any\nfile API endpoints by default", - "allOf": [ - { - "$ref": "#/components/schemas/File" + "x-box-resource-id": "classification_template", + "x-box-tag": "classifications", + "description": "A metadata template that holds the security classifications\ndefined by an enterprise.", + "required": [ + "id", + "type", + "scope", + "displayName", + "fields", + "templateKey" + ], + "properties": { + "id": { + "type": "string", + "example": "58063d82-4128-7b43-bba9-92f706befcdf", + "description": "The ID of the classification template." }, - { - "properties": { - "version_number": { - "type": "string", - "example": "1", - "description": "The version number of this file" - }, - "comment_count": { - "type": "integer", - "example": 10, - "description": "The number of comments on this file" - }, - "permissions": { - "allOf": [ - { - "type": "object", - "description": "The permissions that the authenticated user has for a file.", - "required": [ - "can_annotate", - "can_comment", - "can_preview", - "can_upload", - "can_view_annotations_all", - "can_view_annotations_self" - ], - "allOf": [ - { - "type": "object", - "description": "The permissions that the authenticated user has for an item.", - "required": [ - "can_delete", - "can_download", - "can_invite_collaborator", - "can_rename", - "can_set_share_access", - "can_share" - ], - "properties": { - "can_delete": { - "type": "boolean", - "description": "Specifies if the current user can delete this item.", - "example": true, - "nullable": false - }, - "can_download": { - "type": "boolean", - "description": "Specifies if the current user can download this item.", - "example": true, - "nullable": false - }, - "can_invite_collaborator": { - "type": "boolean", - "description": "Specifies if the current user can invite new\nusers to collaborate on this item, and if the user can\nupdate the role of a user already collaborated on this\nitem.", - "example": true, - "nullable": false - }, - "can_rename": { - "type": "boolean", - "description": "Specifies if the user can rename this item.", - "example": true, - "nullable": false - }, - "can_set_share_access": { - "type": "boolean", - "description": "Specifies if the user can change the access level of an\nexisting shared link on this item.", - "example": true, - "nullable": false - }, - "can_share": { - "type": "boolean", - "description": "Specifies if the user can create a shared link for this item.", - "example": true, - "nullable": false - } - } + "type": { + "type": "string", + "description": "`metadata_template`", + "example": "metadata_template", + "enum": [ + "metadata_template" + ], + "nullable": false + }, + "scope": { + "type": "string", + "description": "The scope of the classification template. This is in the format\n`enterprise_{id}` where the `id` is the enterprise ID.", + "example": "enterprise_123456" + }, + "templateKey": { + "type": "string", + "example": "securityClassification-6VMVochwUWo", + "description": "`securityClassification-6VMVochwUWo`", + "enum": [ + "securityClassification-6VMVochwUWo" + ] + }, + "displayName": { + "type": "string", + "example": "Classification", + "description": "The name of this template as shown in web and mobile interfaces.", + "enum": [ + "Classification" + ] + }, + "hidden": { + "type": "boolean", + "example": false, + "description": "Determines if the\ntemplate is always available in web and mobile interfaces." + }, + "copyInstanceOnItemCopy": { + "type": "boolean", + "example": true, + "description": "Determines if \nclassifications are\ncopied along when the file or folder is\ncopied." + }, + "fields": { + "type": "array", + "maxItems": 1, + "minItems": 1, + "description": "A list of fields for this classification template. This includes\nonly one field, the `Box__Security__Classification__Key`, which defines\nthe different classifications available in this enterprise.", + "items": { + "type": "object", + "required": [ + "id", + "type", + "key", + "displayName", + "options" + ], + "description": "The metadata template field that represents the available\nclassifications.", + "properties": { + "id": { + "type": "string", + "example": "822227e0-47a5-921b-88a8-494760b2e6d2", + "description": "The unique ID of the field." + }, + "type": { + "type": "string", + "example": "enum", + "description": "The array item type.", + "enum": [ + "enum" + ] + }, + "key": { + "type": "string", + "example": "Box__Security__Classification__Key", + "description": "Defines classifications \navailable in the enterprise.", + "enum": [ + "Box__Security__Classification__Key" + ] + }, + "displayName": { + "type": "string", + "example": "Classification", + "description": "`Classification`", + "enum": [ + "Classification" + ] + }, + "hidden": { + "type": "boolean", + "example": false, + "description": "Classifications are always visible to web and mobile users." + }, + "options": { + "type": "array", + "description": "A list of classifications available in this enterprise.", + "minItems": 1, + "items": { + "required": [ + "key", + "id" + ], + "type": "object", + "description": "A single classification available in this enterprise.", + "properties": { + "id": { + "type": "string", + "example": "46aea176-3483-4431-856c-6b5b13d1cc50", + "description": "The unique ID of this classification." }, - { + "key": { + "type": "string", + "example": "Sensitive", + "description": "The display name and key for this classification." + }, + "staticConfig": { + "type": "object", + "description": "Additional information about the classification.", "properties": { - "can_annotate": { - "type": "boolean", - "description": "Specifies if the user can place annotations on this file.", - "example": true, - "nullable": false - }, - "can_comment": { - "type": "boolean", - "description": "Specifies if the user can place comments on this file.", - "example": true, - "nullable": false - }, - "can_preview": { - "type": "boolean", - "description": "Specifies if the user can preview this file.", - "example": true, - "nullable": false - }, - "can_upload": { - "type": "boolean", - "description": "Specifies if the user can upload a new version of this file.", - "example": true, - "nullable": false - }, - "can_view_annotations_all": { - "type": "boolean", - "description": "Specifies if the user view all annotations placed on this file", - "example": true, - "nullable": false - }, - "can_view_annotations_self": { - "type": "boolean", - "description": "Specifies if the user view annotations placed by themselves\non this file", - "example": true, - "nullable": false + "classification": { + "type": "object", + "description": "Additional information about the classification.\n\nThis is not an exclusive list of properties, and\nmore object fields might be returned. These fields\nare used for internal Box Shield and Box Governance\npurposes and no additional value must be derived from\nthese fields.", + "properties": { + "classificationDefinition": { + "type": "string", + "example": "Sensitive information", + "description": "A longer description of the classification." + }, + "colorID": { + "type": "integer", + "format": "int64", + "example": 4, + "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" + } + } } } } - ] + } + } + } + } + } + } + } + }, + "Collaboration": { + "title": "Collaboration", + "type": "object", + "x-box-resource-id": "collaboration", + "x-box-tag": "user_collaborations", + "description": "Collaborations define access permissions for users and groups to files and\nfolders, similar to access control lists. A collaboration object grants a\nuser or group access to a file or folder with permissions defined by a\nspecific role.", + "required": [ + "id", + "type" + ], + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this collaboration.", + "example": "12345678" + }, + "type": { + "type": "string", + "description": "`collaboration`", + "example": "collaboration", + "enum": [ + "collaboration" + ] + }, + "item": { + "allOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/File" }, { - "description": "Describes the permissions that the current user has\nfor this file." + "$ref": "#/components/schemas/Folder" }, { - "nullable": false + "$ref": "#/components/schemas/WebLink" } ] }, - "tags": { - "allOf": [ - { - "type": "array", - "example": [ - "approved" - ], - "items": { - "type": "string" - }, - "minItems": 1, - "maxItems": 100, - "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." - }, - { - "nullable": false - } - ] + { + "description": "The file or folder to which access is granted. The field is\n`null` when the collaboration `status` is `pending` or the\ncollaboration is created on an app item (see `app_item` field)." + } + ], + "nullable": true + }, + "app_item": { + "allOf": [ + { + "$ref": "#/components/schemas/AppItem" }, - "lock": { - "allOf": [ + { + "description": "An `app_item` to which access is granted. The field is `null`\nwhen the collaboration is created on an item (see `item`\nfield), or the `app_item` is inaccessible. The role cascades\nto all items associated with the `app_item`." + } + ], + "nullable": true + }, + "accessible_by": { + "allOf": [ + { + "oneOf": [ { - "title": "Lock", - "type": "object", - "description": "The lock held on a file. A lock prevents a file from being moved,\nrenamed, or otherwise changed by anyone else than the user who created the\nlock.", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this lock", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`lock`", - "example": "lock", - "enum": [ - "lock" - ] - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created the lock." - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2012-12-12T10:53:43-08:00", - "description": "The time this lock was created at." - }, - "expired_at": { - "type": "string", - "format": "date-time", - "example": "2012-12-12T10:53:43-08:00", - "description": "The time this lock is to expire at, which might be in the past." - }, - "is_download_prevented": { - "type": "boolean", - "example": true, - "description": "Whether or not the file can be downloaded while locked." - }, - "app_type": { - "type": "string", - "description": "If the lock is managed by an application rather than a user, this\nfield identifies the type of the application that holds the lock.\nThis is an open enum and may be extended with additional values in\nthe future.", - "enum": [ - "gsuite", - "office_wopi", - "office_wopiplus", - "other" - ], - "example": "office_wopiplus", - "nullable": true - } - } + "$ref": "#/components/schemas/User--Collaborations" }, { - "description": "The lock held on this file. If there is no lock, this can either\nbe `null` or have a timestamp in the past." + "$ref": "#/components/schemas/Group--Mini" } - ], - "nullable": true + ] }, - "extension": { - "type": "string", - "example": "pdf", - "description": "Indicates the (optional) file extension for this file. By default,\nthis is set to an empty string." + { + "description": "The user or group that is granted access." + } + ] + }, + "invite_email": { + "type": "string", + "nullable": true, + "example": "john@example.com", + "description": "The email address used to invite an unregistered collaborator, if\nthey are not a registered user." + }, + "role": { + "type": "string", + "example": "editor", + "enum": [ + "editor", + "viewer", + "previewer", + "uploader", + "previewer uploader", + "viewer uploader", + "co-owner", + "owner" + ], + "description": "The level of access granted." + }, + "expires_at": { + "type": "string", + "nullable": true, + "format": "date-time", + "example": "2012-12-26T10:53:43-08:00", + "description": "When the collaboration will expire, or `null` if no expiration\ndate is set." + }, + "is_access_only": { + "type": "boolean", + "example": true, + "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 the path to the root folder for the\nshared item." + }, + "status": { + "type": "string", + "example": "accepted", + "enum": [ + "accepted", + "pending", + "rejected" + ], + "description": "The status of the collaboration invitation. If the status\nis `pending`, `login` and `name` return an empty string." + }, + "acknowledged_at": { + "type": "string", + "format": "date-time", + "example": "2012-12-12T10:55:20-08:00", + "description": "When the `status` of the collaboration object changed to\n`accepted` or `rejected`." + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Collaborations" }, - "is_package": { - "type": "boolean", - "example": true, - "description": "Indicates if the file is a package. Packages are commonly used\nby Mac Applications and can include iWork files." + { + "description": "The user who created the collaboration object." }, - "expiring_embed_link": { - "allOf": [ + { + "example": [ { - "title": "Expiring embed link", - "type": "object", - "description": "An expiring Box Embed Link.", - "allOf": [ - { - "type": "object", - "description": "The basics of an access token", - "properties": { - "access_token": { - "type": "string", - "format": "token", - "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", - "description": "The requested access token." - }, - "expires_in": { - "type": "integer", - "format": "int64", - "example": 3600, - "description": "The time in seconds by which this token will expire." - }, - "token_type": { - "type": "string", - "enum": [ - "bearer" - ], - "example": "bearer", - "description": "The type of access token returned." - }, - "restricted_to": { - "type": "array", - "description": "The permissions that this access token permits,\nproviding a list of resources (files, folders, etc)\nand the scopes permitted for each of those resources.", - "items": { - "$ref": "#/components/schemas/FileOrFolderScope" - } - } - } - }, - { - "properties": { - "url": { - "type": "string", - "format": "url", - "example": "https://cloud.app.box.com/preview/expiring_embed/...", - "description": "The actual expiring embed URL for this file, constructed\nfrom the file ID and access tokens specified in this object." - } - } - } - ] + "id": 33224412 }, { - "description": "Requesting this field creates an expiring Box Embed URL for an\nembedded preview session in an `iframe`.\n\nThis URL will expire after 60 seconds and the session will\nexpire after 60 minutes.\n\nNot all file types are supported for these embed URLs. Box Embed\nis not optimized for mobile browsers and should not be used in web\nexperiences designed for mobile devices. Many UI elements, like\nthe **download** and **print** options might not show in mobile\nbrowsers." - } - ] - }, - "watermark_info": { - "allOf": [ + "type": "user" + }, { - "type": "object", - "description": "Details about the watermark applied to this item", - "properties": { - "is_watermarked": { - "type": "boolean", - "description": "Specifies if this item has a watermark applied.", - "example": true, - "nullable": false - } - } + "login": "dylan@example.com" }, { - "description": "Details about the watermark applied to this file" + "name": "Dylan Smith" } ] - }, - "is_accessible_via_shared_link": { - "type": "boolean", - "description": "Specifies if the file can be accessed\nvia the direct shared link or a shared link\nto a parent folder.", - "example": true, - "enum": [ - true, - false - ] - }, - "allowed_invitee_roles": { - "type": "array", - "example": [ - "editor" - ], - "nullable": false, - "description": "A list of the types of roles that user can be invited at\nwhen sharing this file.", - "items": { - "type": "string", - "enum": [ - "editor", - "viewer", - "previewer", - "uploader", - "previewer uploader", - "viewer uploader", - "co-owner" - ] - } - }, - "is_externally_owned": { - "type": "boolean", - "example": true, - "nullable": false, - "description": "Specifies if this file is owned by a user outside of the\nauthenticated enterprise." - }, - "has_collaborations": { - "type": "boolean", - "example": true, - "nullable": false, - "description": "Specifies if this file has any other collaborators." - }, - "metadata": { - "allOf": [ - { - "title": "Item metadata instances", - "type": "object", - "description": "A list of metadata instances, nested within key-value pairs of their `scope`\nand `templateKey`.\n\nTo access the metadata for a file or folder, first use the\nmetadata endpoints to determine the metadata templates available to your\nenterprise.\n\nThen use the `GET /files/:id` or `GET /folder/:id`\nendpoint with the `fields` query parameter to get\nthe metadata by ID.\n\nTo request a metadata instance for a particular `scope` and `templateKey`\nuse the following format for the `fields` parameter:\n`metadata..`\n\nFor example, `?fields=metadata.enterprise_27335.marketingCollateral`.", - "example": { - "enterprise_27335": { - "marketingCollateral": { - "$canEdit": true, - "$id": "01234500-12f1-1234-aa12-b1d234cb567e", - "$parent": "folder_59449484661", - "$scope": "enterprise_27335", - "$template": "marketingCollateral", - "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", - "$typeVersion": 2, - "$version": 1 - } - } - }, - "additionalProperties": { - "type": "object", - "description": "A list of metadata instances, nested within key-value pairs of their `scope`\nand `templateKey`.", - "example": { - "marketingCollateral": { - "$canEdit": true, - "$id": "01234500-12f1-1234-aa12-b1d234cb567e", - "$parent": "folder_59449484661", - "$scope": "enterprise_27335", - "$template": "marketingCollateral", - "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", - "$typeVersion": 2, - "$version": 1 - } + } + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2012-12-12T10:53:43-08:00", + "description": "When the collaboration object was created." + }, + "modified_at": { + "type": "string", + "format": "date-time", + "example": "2012-12-12T10:53:43-08:00", + "description": "When the collaboration object was last modified." + }, + "acceptance_requirements_status": { + "type": "object", + "properties": { + "terms_of_service_requirement": { + "type": "object", + "properties": { + "is_accepted": { + "type": "boolean", + "nullable": true, + "example": true, + "description": "Whether or not the terms of service have been accepted. The\nfield is `null` when there is no terms of service required." + }, + "terms_of_service": { + "allOf": [ + { + "$ref": "#/components/schemas/TermsOfService--Base" }, - "additionalProperties": { - "$ref": "#/components/schemas/Metadata--Full" + { + "description": "The terms of service that must be accepted before the\ncollaboration can be accepted. The field is `null` when\nthere is no terms of service required." } - } - }, - { - "description": "An object containing the metadata instances that have been\nattached to this file.\n\nEach metadata instance is uniquely identified by its `scope` and\n`templateKey`. There can only be one instance of any metadata\ntemplate attached to each file. Each metadata instance is nested\nwithin an object with the `templateKey` as the key, which again\nitself is nested in an object with the `scope` as the key." + ] } - ] - }, - "expires_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "When the file will automatically be deleted", - "example": "2012-12-12T10:53:43-08:00" + } }, - "representations": { - "allOf": [ - { - "title": "Representations", - "description": "A list of file representations", - "type": "object", - "properties": { - "entries": { - "type": "array", - "description": "A list of files", - "items": { - "type": "object", - "description": "A file representation", - "properties": { - "content": { - "type": "object", - "description": "An object containing the URL that can be used to actually fetch\nthe representation.", - "properties": { - "url_template": { - "type": "string", - "example": "https://dl.boxcloud.com/api/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048/content/{+asset_path}?watermark_content=4567", - "description": "The download URL that can be used to fetch the representation.\nMake sure to make an authenticated API call to this endpoint.\n\nThis URL is a template and will require the `{+asset_path}` to\nbe replaced by a path. In general, for unpaged representations\nit can be replaced by an empty string.\n\nFor paged representations, replace the `{+asset_path}` with the\npage to request plus the extension for the file, for example\n`1.pdf`.\n\nWhen requesting the download URL the following additional\nquery params can be passed along.\n\n* `set_content_disposition_type` - Sets the\n`Content-Disposition` header in the API response with the\nspecified disposition type of either `inline` or `attachment`.\nIf not supplied, the `Content-Disposition` header is not\nincluded in the response.\n\n* `set_content_disposition_filename` - Allows the application to\n define the representation's file name used in the\n `Content-Disposition` header. If not defined, the filename\n is derived from the source file name in Box combined with the\n extension of the representation." - } - } - }, - "info": { - "type": "object", - "description": "An object containing the URL that can be used to fetch more info\non this representation.", - "properties": { - "url": { - "type": "string", - "example": "https://api.box.com/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048", - "description": "The API URL that can be used to get more info on this file\nrepresentation. Make sure to make an authenticated API call\nto this endpoint." - } - } - }, - "properties": { - "type": "object", - "description": "An object containing the size and type of this presentation.", - "properties": { - "dimensions": { - "type": "string", - "format": "x", - "example": "2048x2048", - "description": "The width by height size of this representation in pixels." - }, - "paged": { - "type": "boolean", - "example": true, - "description": "Indicates if the representation is build up out of multiple\npages." - }, - "thumb": { - "type": "boolean", - "example": true, - "description": "Indicates if the representation can be used as a thumbnail of\nthe file." - } - } - }, - "representation": { - "type": "string", - "example": "png", - "description": "Indicates the file type of the returned representation." - }, - "status": { - "type": "object", - "description": "An object containing the status of this representation.", - "properties": { - "state": { - "type": "string", - "example": "success", - "enum": [ - "success", - "viewable", - "pending", - "none" - ], - "description": "The status of the representation.\n\n* `success` defines the representation as ready to be viewed.\n* `viewable` defines a video to be ready for viewing.\n* `pending` defines the representation as to be generated. Retry\n this endpoint to re-check the status.\n* `none` defines that the representation will be created when\n requested. Request the URL defined in the `info` object to\n trigger this generation." - } - } - } - } - } - } - } + "strong_password_requirement": { + "type": "object", + "properties": { + "enterprise_has_strong_password_required_for_external_users": { + "type": "boolean", + "example": true, + "description": "Whether or not the enterprise that owns the content requires\na strong password to collaborate on the content." }, - { - "description": "A list of representations for a file that can be used to\ndisplay a placeholder of the file in your application. By default\nthis returns all representations and we recommend using the\n`x-rep-hints` header to further customize the desired\nrepresentations." + "user_has_strong_password": { + "type": "boolean", + "nullable": true, + "example": true, + "description": "Whether or not the user has a strong password set for their\naccount. The field is `null` when a strong password is not\nrequired." } - ] + } }, - "classification": { - "allOf": [ - { - "type": "object", - "description": "The classification applied to an item", - "properties": { - "name": { - "type": "string", - "example": "Top Secret", - "description": "The name of the classification" - }, - "definition": { - "type": "string", - "example": "Content that should not be shared outside the company.", - "description": "An explanation of the meaning of this classification." - }, - "color": { - "type": "string", - "example": "#FF0000", - "description": "The color that is used to display the\nclassification label in a user-interface. Colors are defined by the admin\nor co-admin who created the classification in the Box web app." - } - } - }, - { - "description": "Details about the classification applied to this file." + "two_factor_authentication_requirement": { + "type": "object", + "properties": { + "enterprise_has_two_factor_auth_enabled": { + "type": "boolean", + "example": true, + "description": "Whether or not the enterprise that owns the content requires\ntwo-factor authentication to be enabled in order to\ncollaborate on the content." }, - { - "nullable": true + "user_has_two_factor_authentication_enabled": { + "type": "boolean", + "nullable": true, + "example": true, + "description": "Whether or not the user has two-factor authentication\nenabled. The field is `null` when two-factor\nauthentication is not required." } - ] - }, - "uploader_display_name": { - "allOf": [ - { - "title": "Uploader display name", - "type": "string", - "example": "Ellis Wiggins", - "nullable": false, - "description": "The display name of the user that uploaded the file. In most cases this is the\nname of the user logged in at the time of the upload.\n\nIf the file was uploaded using a File Request form that requires the user to\nprovide an email address, this field is populated with that email address. If\nan email address was not required in the File Request form, this field is set\nto return a value of `File Request`.\n\nIn all other anonymous cases where no email was provided this field\nwill default to a value of `Someone`." - } - ] - }, - "disposition_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The retention expiration timestamp for the given file", - "example": "2012-12-12T10:53:43-08:00" - }, - "shared_link_permission_options": { - "type": "array", - "example": [ - "can_preview" - ], - "nullable": true, - "description": "A list of the types of roles that user can be invited at\nwhen sharing this file.", - "items": { - "type": "string", - "enum": [ - "can_preview", - "can_download", - "can_edit" - ] } - }, - "is_associated_with_app_item": { - "type": "boolean", - "example": true, - "nullable": false, - "description": "This field will return true if the file or any ancestor of the file\nis associated with at least one app item. Note that this will return\ntrue even if the context user does not have access to the app item(s)\nassociated with the file." } } } - ] + } }, - "File--Mini": { - "title": "File (Mini)", + "Collaborations": { + "title": "Collaborations", "type": "object", - "x-box-resource-id": "file--mini", - "x-box-variant": "mini", - "description": "A mini representation of a file, used when\nnested under another resource.", - "nullable": true, + "x-box-resource-id": "collaborations", + "x-box-tag": "user_collaborations", + "description": "A list of collaborations", "allOf": [ { - "$ref": "#/components/schemas/File--Base" - }, - { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", "properties": { - "sequence_id": { - "allOf": [ - { - "type": "string", - "example": "3", - "nullable": true, - "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." - }, - { - "nullable": false - } - ] + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - "name": { + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", - "description": "The name of the file", - "example": "Contract.pdf" + "nullable": true }, - "sha1": { + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", "type": "string", - "format": "digest", - "nullable": false, - "example": "85136C79CBF9FE36BB9D05D0639C70C265C18D37", - "description": "The SHA1 hash of the file. This can be used to compare the contents\nof a file on Box with a local file." + "nullable": true + } + } + }, + { + "type": "object", + "description": "The part of an API response that describes pagination", + "properties": { + "total_count": { + "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 5000, + "type": "integer", + "format": "int64" }, - "file_version": { - "allOf": [ - { - "$ref": "#/components/schemas/FileVersion--Mini" - }, - { - "description": "The information about the current version of the file." + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 2000, + "type": "integer", + "format": "int64" + }, + "order": { + "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "type": "array", + "items": { + "type": "object", + "description": "The order in which a pagination is ordered", + "properties": { + "by": { + "description": "The field to order by", + "example": "type", + "type": "string" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending", + "example": "ASC", + "enum": [ + "ASC", + "DESC" + ] + } } - ] + } } } - } - ] - }, - "File--Base": { - "title": "File (Base)", - "type": "object", - "x-box-resource-id": "file--base", - "x-box-tag": "files", - "x-box-variants": [ - "base", - "mini", - "standard", - "full" - ], - "x-box-variant": "base", - "nullable": true, - "description": "The bare basic representation of a file, the minimal\namount of fields returned when using the `fields` query\nparameter.", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string", - "nullable": false, - "description": "The unique identifier that represent 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`.", - "example": "12345" - }, - "etag": { - "type": "string", - "example": "1", - "nullable": true, - "description": "The HTTP `etag` of this file. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the file if (no) changes have happened." }, - "type": { - "type": "string", - "description": "`file`", - "example": "file", - "enum": [ - "file" - ], - "nullable": false + { + "properties": { + "entries": { + "type": "array", + "description": "A list of collaborations", + "items": { + "$ref": "#/components/schemas/Collaboration" + } + } + } } - } + ] }, - "FileRequest": { - "title": "File Request", + "CollaborationAllowlistEntry": { + "title": "Allowed collaboration domain", "type": "object", - "x-box-resource-id": "file_request", - "x-box-tag": "file_requests", - "description": "A standard representation of a file request, as returned\nfrom any file request API endpoints by default.", - "required": [ - "id", - "type", - "folder", - "created_at", - "updated_at" - ], + "x-box-resource-id": "collaboration_allowlist_entry", + "x-box-tag": "collaboration_allowlist_entries", + "description": "An entry that describes an approved domain for which users can collaborate\nwith files and folders in your enterprise or vice versa.", "properties": { "id": { "type": "string", - "description": "The unique identifier for this file request.", - "readOnly": true, - "example": "42037322" + "description": "The unique identifier for this entry", + "example": "11446498" }, "type": { "type": "string", - "description": "`file_request`", - "example": "file_request", + "description": "`collaboration_whitelist_entry`", + "example": "collaboration_whitelist_entry", "enum": [ - "file_request" - ], - "readOnly": true - }, - "title": { - "type": "string", - "description": "The title of file request. This is shown\nin the Box UI to users uploading files.\n\nThis defaults to title of the file request that was\ncopied to create this file request.", - "example": "Please upload documents" + "collaboration_whitelist_entry" + ] }, - "description": { + "domain": { "type": "string", - "nullable": true, - "description": "The optional description of this file request. This is\nshown in the Box UI to users uploading files.\n\nThis defaults to description of the file request that was\ncopied to create this file request.", - "example": "Following documents are requested for your process" + "example": "example.com", + "description": "The whitelisted domain" }, - "status": { + "direction": { "type": "string", - "example": "active", - "description": "The status of the file request. This defaults\nto `active`.\n\nWhen the status is set to `inactive`, the file request\nwill no longer accept new submissions, and any visitor\nto the file request URL will receive a `HTTP 404` status\ncode.\n\nThis defaults to status of file request that was\ncopied to create this file request.", + "example": "both", + "description": "The direction of the collaborations to allow.", "enum": [ - "active", - "inactive" + "inbound", + "outbound", + "both" ] }, - "is_email_required": { - "type": "boolean", - "example": true, - "description": "Whether a file request submitter is required to provide\ntheir email address.\n\nWhen this setting is set to true, the Box UI will show\nan email field on the file request form.\n\nThis defaults to setting of file request that was\ncopied to create this file request." - }, - "is_description_required": { - "type": "boolean", - "example": true, - "description": "Whether a file request submitter is required to provide\na description of the files they are submitting.\n\nWhen this setting is set to true, the Box UI will show\na description field on the file request form.\n\nThis defaults to setting of file request that was\ncopied to create this file request." - }, - "expires_at": { - "type": "string", - "format": "date-time", - "description": "The date after which a file request will no longer accept new\nsubmissions.\n\nAfter this date, the `status` will automatically be set to\n`inactive`.", - "example": "2020-09-28T10:53:43-08:00" - }, - "folder": { - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" - }, - { - "description": "The folder that this file request is associated with.\n\nFiles submitted through the file request form will be\nuploaded to this folder." - } - ], - "nullable": false - }, - "url": { - "type": "string", - "description": "The generated URL for this file request. This URL can be shared\nwith users to let them upload files to the associated folder.", - "example": "/f/19e57f40ace247278a8e3d336678c64a", - "readOnly": true - }, - "etag": { - "type": "string", - "example": "1", - "nullable": true, - "description": "The HTTP `etag` of this file. This can be used in combination with\nthe `If-Match` header when updating a file request. By providing that\nheader, a change will only be performed on the file request if the `etag`\non the file request still matches the `etag` provided in the `If-Match`\nheader." - }, - "created_by": { + "enterprise": { "allOf": [ { - "$ref": "#/components/schemas/User--Mini" + "title": "Enterprise", + "type": "object", + "description": "A representation of a Box enterprise", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this enterprise.", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`enterprise`", + "example": "enterprise", + "enum": [ + "enterprise" + ] + }, + "name": { + "description": "The name of the enterprise", + "example": "Acme Inc.", + "type": "string" + } + } }, { - "description": "The user who created this file request." + "description": "The enterprise this list is applied to" } ] }, "created_at": { "type": "string", "format": "date-time", - "nullable": false, - "description": "The date and time when the file request was created.", - "example": "2020-09-28T10:53:43-08:00" - }, - "updated_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who last modified this file request." - }, - { - "nullable": false - } - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "nullable": false, - "description": "The date and time when the file request was last updated.", - "example": "2020-09-28T10:53:43-08:00" + "description": "The time the entry was created at", + "example": "2012-12-12T10:53:43-08:00" } } }, - "FilesUnderRetention": { - "title": "Files under retention", + "CollaborationAllowlistEntries": { + "title": "Allowed collaboration domains", "type": "object", - "x-box-resource-id": "files_under_retention", - "x-box-tag": "retention_policy_assignments", - "description": "A list of files under retention.", + "x-box-resource-id": "collaboration_allowlist_entries", + "x-box-tag": "collaboration_allowlist_entries", + "description": "A list of allowed domains for collaboration.", "allOf": [ { "type": "object", @@ -28818,21 +27466,97 @@ "properties": { "entries": { "type": "array", - "description": "A list of files", + "description": "A list of allowed collaboration domains", "items": { - "$ref": "#/components/schemas/File--Mini" + "$ref": "#/components/schemas/CollaborationAllowlistEntry" } } } } ] }, - "FilesOnHold": { - "title": "Files on hold", + "CollaborationAllowlistExemptTarget": { + "title": "Allowed collaboration domains user exemption", "type": "object", - "x-box-resource-id": "files_on_hold", - "x-box-tag": "legal_hold_policy_assignments", - "description": "A list of files on hold for legal policy assignment", + "x-box-resource-id": "collaboration_allowlist_exempt_target", + "x-box-tag": "collaboration_allowlist_exempt_targets", + "description": "The user that is exempt from any of the restrictions\nimposed by the list of allowed collaboration domains for this enterprise.", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this exemption", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`collaboration_whitelist_exempt_target`", + "example": "collaboration_whitelist_exempt_target", + "enum": [ + "collaboration_whitelist_exempt_target" + ] + }, + "enterprise": { + "allOf": [ + { + "title": "Enterprise", + "type": "object", + "description": "A representation of a Box enterprise", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this enterprise.", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`enterprise`", + "example": "enterprise", + "enum": [ + "enterprise" + ] + }, + "name": { + "description": "The name of the enterprise", + "example": "Acme Inc.", + "type": "string" + } + } + }, + { + "description": "The enterprise this entry belongs to" + } + ] + }, + "user": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user that has been exempt" + } + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The time the entry was created", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "The time the entry was modified", + "example": "2012-12-12T10:53:43-08:00" + } + } + }, + "CollaborationAllowlistExemptTargets": { + "title": "Allowed collaboration domains user exemptions", + "type": "object", + "x-box-resource-id": "collaboration_allowlist_exempt_targets", + "x-box-tag": "collaboration_allowlist_exempt_targets", + "description": "A list of users exempt from any of the restrictions\nimposed by the list of allowed collaboration domains for this enterprise.", "allOf": [ { "type": "object", @@ -28862,153 +27586,186 @@ "properties": { "entries": { "type": "array", - "description": "A list of files", + "description": "A list of users exempt from any of the restrictions\nimposed by the list of allowed collaboration domains\nfor this enterprise.", "items": { - "$ref": "#/components/schemas/File--Mini" + "$ref": "#/components/schemas/CollaborationAllowlistExemptTarget" } } } } ] }, - "FileVersionsOnHold": { - "title": "File versions on hold", + "Collection": { + "title": "Collection", "type": "object", - "x-box-resource-id": "file_versions_on_hold", - "x-box-tag": "legal_hold_policy_assignments", - "description": "A list of files on hold for legal policy assignment", + "x-box-resource-id": "collection", + "x-box-tag": "collections", + "description": "A collection of items, including files and folders.\n\nCurrently, the only collection available\nis the `favorites` collection.\n\nThe contents of a collection can be explored in a\nsimilar way to which the contents of a folder is\nexplored.", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this collection.", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`collection`", + "example": "collection", + "enum": [ + "collection" + ] + }, + "name": { + "type": "string", + "description": "The name of the collection.", + "enum": [ + "Favorites" + ], + "example": "Favorites" + }, + "collection_type": { + "type": "string", + "description": "The type of the collection. This is used to\ndetermine the proper visual treatment for\ncollections.", + "enum": [ + "favorites" + ], + "example": "favorites" + } + } + }, + "Collections": { + "title": "Collections", + "type": "object", + "x-box-resource-id": "collections", + "x-box-tag": "collections", + "description": "A list of collections", "allOf": [ { "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", + "description": "The part of an API response that describes pagination", "properties": { + "total_count": { + "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 5000, + "type": "integer", + "format": "int64" + }, "limit": { "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", "example": 1000, "type": "integer", "format": "int64" }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 2000, + "type": "integer", + "format": "int64" }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true - } - } - }, + "order": { + "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "type": "array", + "items": { + "type": "object", + "description": "The order in which a pagination is ordered", + "properties": { + "by": { + "description": "The field to order by", + "example": "type", + "type": "string" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending", + "example": "ASC", + "enum": [ + "ASC", + "DESC" + ] + } + } + } + } + } + }, { "properties": { "entries": { "type": "array", - "description": "A list of file versions on hold.", + "description": "A list of collections", "items": { - "$ref": "#/components/schemas/FileVersion" + "$ref": "#/components/schemas/Collection" } } } } ] }, - "FileVersion": { - "title": "File version", + "Comment": { + "title": "Comment", "type": "object", - "x-box-resource-id": "file_version", + "description": "Standard representation of a comment.", + "x-box-resource-id": "comment", "x-box-variant": "standard", - "description": "A standard representation of a file version", "allOf": [ { - "$ref": "#/components/schemas/FileVersion--Mini" + "$ref": "#/components/schemas/Comment--Base" }, { "properties": { - "name": { - "type": "string", - "description": "The name of the file version", - "example": "tigers.jpeg" - }, - "size": { - "type": "integer", - "format": "int64", - "description": "Size of the file version in bytes", - "example": 629644 - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "When the file version object was created", - "example": "2012-12-12T10:53:43-08:00" + "is_reply_comment": { + "type": "boolean", + "description": "Whether or not this comment is a reply to another\ncomment", + "example": true }, - "modified_at": { + "message": { "type": "string", - "format": "date-time", - "description": "When the file version object was last updated", - "example": "2012-12-12T10:53:43-08:00" + "example": "@Aaron Levie these tigers are cool!", + "description": "The text of the comment, as provided by the user" }, - "modified_by": { + "created_by": { "allOf": [ { "$ref": "#/components/schemas/User--Mini" }, { - "description": "The user who last updated the file version" + "description": "A mini user object representing the author of the\ncomment" } ] }, - "trashed_at": { + "created_at": { "type": "string", - "description": "When the file version object was trashed.", "format": "date-time", - "nullable": true, + "description": "The time this comment was created", "example": "2012-12-12T10:53:43-08:00" }, - "trashed_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who trashed the file version" - } - ] - }, - "restored_at": { + "modified_at": { "type": "string", - "description": "When the file version was restored from the trash.", "format": "date-time", - "nullable": true, + "description": "The time this comment was last modified", "example": "2012-12-12T10:53:43-08:00" }, - "restored_by": { + "item": { "allOf": [ { - "$ref": "#/components/schemas/User--Mini" + "title": "Reference", + "description": "The bare basic reference for an object", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this object", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "The type for this object", + "example": "file" + } + } }, { - "description": "The user who restored the file version from the trash." - } - ] - }, - "purged_at": { - "type": "string", - "description": "When the file version object will be permanently deleted.", - "format": "date-time", - "nullable": true, - "example": "2012-12-12T10:53:43-08:00" - }, - "uploader_display_name": { - "allOf": [ - { - "title": "Uploader display name", - "type": "string", - "example": "Ellis Wiggins", - "nullable": false, - "description": "The display name of the user that uploaded the file. In most cases this is the\nname of the user logged in at the time of the upload.\n\nIf the file was uploaded using a File Request form that requires the user to\nprovide an email address, this field is populated with that email address. If\nan email address was not required in the File Request form, this field is set\nto return a value of `File Request`.\n\nIn all other anonymous cases where no email was provided this field\nwill default to a value of `Someone`." + "description": "The file this comment was placed on" } ] } @@ -29016,88 +27773,12 @@ } ] }, - "FileVersion--Mini": { - "title": "File version (Mini)", - "type": "object", - "x-box-resource-id": "file_version--mini", - "x-box-variant": "mini", - "description": "A mini representation of a file version, used when\nnested within another resource.", - "allOf": [ - { - "$ref": "#/components/schemas/FileVersion--Base" - }, - { - "properties": { - "sha1": { - "type": "string", - "description": "The SHA1 hash of this version of the file.", - "example": "134b65991ed521fcfe4724b7d814ab8ded5185dc" - } - } - } - ] - }, - "FileVersion--Base": { - "title": "File version (Base)", - "type": "object", - "x-box-resource-id": "file_version--base", - "x-box-variants": [ - "base", - "mini", - "standard", - "full" - ], - "x-box-variant": "base", - "description": "The bare basic representation of a file version, the minimal\namount of fields returned when using the `fields` query\nparameter.", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string", - "nullable": false, - "description": "The unique identifier that represent a file version.", - "example": "12345" - }, - "type": { - "type": "string", - "description": "`file_version`", - "example": "file_version", - "enum": [ - "file_version" - ], - "nullable": false - } - } - }, - "FileVersion--Full": { - "title": "File version (Full)", - "type": "object", - "x-box-resource-id": "file_version--full", - "x-box-variant": "full", - "description": "A full representation of a file version, as can be returned from any\nfile version API endpoints by default", - "allOf": [ - { - "$ref": "#/components/schemas/FileVersion" - }, - { - "properties": { - "version_number": { - "type": "string", - "example": "1", - "description": "The version number of this file version" - } - } - } - ] - }, - "FileVersions": { - "title": "File versions", + "Comments": { + "title": "Comments", "type": "object", - "x-box-resource-id": "file_versions", - "x-box-tag": "file_versions", - "description": "A list of file versions", + "x-box-resource-id": "comments", + "x-box-tag": "comments", + "description": "A list of comments", "allOf": [ { "type": "object", @@ -29151,268 +27832,530 @@ "properties": { "entries": { "type": "array", - "description": "A list of file versions", + "description": "A list of comments", "items": { - "$ref": "#/components/schemas/FileVersion--Full" + "$ref": "#/components/schemas/Comment--Full" } } } } ] }, - "FileVersionLegalHold": { - "title": "File version legal hold", + "Comment--Base": { + "title": "Comment (Base)", "type": "object", - "x-box-resource-id": "file_version_legal_hold", - "x-box-tag": "file_version_legal_holds", - "description": "File version legal hold is an entity representing all\nholds on a File Version.", + "x-box-resource-id": "comment--base", + "x-box-tag": "comments", + "x-box-variants": [ + "base", + "standard", + "full" + ], + "x-box-variant": "base", + "description": "Base representation of a comment.", "properties": { "id": { "type": "string", - "description": "The unique identifier for this file version legal hold", + "description": "The unique identifier for this comment.", "example": "11446498" }, "type": { "type": "string", - "description": "`file_version_legal_hold`", - "example": "file_version_legal_hold", + "description": "`comment`", + "example": "comment", "enum": [ - "file_version_legal_hold" + "comment" ] + } + } + }, + "Comment--Full": { + "title": "Comment (Full)", + "type": "object", + "x-box-resource-id": "comment--full", + "x-box-variant": "full", + "description": "Comments are messages created on files. Comments\ncan be made independently or created as responses to other\ncomments", + "allOf": [ + { + "$ref": "#/components/schemas/Comment" }, - "file_version": { - "allOf": [ - { - "$ref": "#/components/schemas/FileVersion--Mini" - }, - { - "description": "The file version that is held" + { + "properties": { + "tagged_message": { + "type": "string", + "example": "@[1234567:Aaron Levie] these tigers are cool!", + "description": "The string representing the comment text with\n@mentions included. @mention format is @[id:username]\nwhere `id` is user's Box ID and `username` is\ntheir display name." } + } + } + ] + }, + "DevicePinner": { + "title": "Device pinner", + "type": "object", + "x-box-resource-id": "device_pinner", + "x-box-tag": "device_pinners", + "description": "Device pins allow enterprises to control what devices can\nuse native Box applications.", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this device pin.", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`device_pinner`", + "example": "device_pinner", + "enum": [ + "device_pinner" ] }, - "file": { + "owned_by": { "allOf": [ { - "$ref": "#/components/schemas/File--Mini" + "$ref": "#/components/schemas/User--Mini" }, { - "description": "The file for the file version held.\nNote that there is no guarantee that the current\nversion of this file is held." + "description": "The user that the device pin belongs to" } ] }, - "legal_hold_policy_assignments": { - "description": "List of assignments contributing to this Hold.", - "type": "array", - "items": { - "$ref": "#/components/schemas/LegalHoldPolicyAssignment" - } - }, - "deleted_at": { + "product_name": { "type": "string", - "format": "date-time", - "description": "Time that this File-Version-Legal-Hold was\ndeleted.", - "example": "2012-12-12T10:53:43-08:00" + "description": "The type of device being pinned", + "example": "iPad" } } }, - "FileVersionLegalHolds": { - "title": "File version legal holds", + "DevicePinners": { + "title": "Device pinners", "type": "object", - "x-box-resource-id": "file_version_legal_holds", - "x-box-tag": "file_version_legal_holds", - "description": "A list of file versions with legal holds.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true - }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true - } + "x-box-resource-id": "device_pinners", + "x-box-tag": "device_pinners", + "description": "A list of device pins", + "properties": { + "entries": { + "type": "array", + "description": "A list of device pins", + "items": { + "$ref": "#/components/schemas/DevicePinner" } }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of file version legal holds", - "items": { - "$ref": "#/components/schemas/FileVersionLegalHold" + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed.", + "default": 100, + "example": 200, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": 3000, + "type": "integer", + "format": "int64" + }, + "order": { + "description": "The order by which items are returned.", + "type": "array", + "items": { + "type": "object", + "description": "The order in which a pagination is ordered", + "properties": { + "by": { + "description": "The field that is ordered by", + "example": "id", + "enum": [ + "id" + ], + "type": "string" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending", + "example": "asc", + "enum": [ + "asc", + "desc" + ] } } } } - ] + } }, - "FileVersionRetention": { - "title": "File version retention", + "EmailAlias": { + "title": "Email alias", "type": "object", - "x-box-resource-id": "file_version_retention", - "x-box-tag": "file_version_retentions", - "description": "A retention policy blocks permanent deletion of content\nfor a specified amount of time. Admins can apply policies to\nspecified folders, or an entire enterprise. A file version retention\nis a record for a retained file version. To use this feature,\nyou must have the manage retention policies scope enabled for your\nAPI key in your application management console.\n\n**Note**:\nFile retention API is now **deprecated**. \nTo get information about files and file versions under retention,\nsee [files under retention](e://get-retention-policy-assignments-id-files-under-retention) or [file versions under retention](e://get-retention-policy-assignments-id-file-versions-under-retention) endpoints.", + "x-box-resource-id": "email_alias", + "x-box-tag": "email_aliases", + "description": "An email alias for a user.", "properties": { "id": { "type": "string", - "description": "The unique identifier for this file version retention.", + "description": "The unique identifier for this object", "example": "11446498" }, "type": { "type": "string", - "description": "`file_version_retention`", - "example": "file_version_retention", + "description": "`email_alias`", + "example": "email_alias", "enum": [ - "file_version_retention" + "email_alias" ] }, - "file_version": { - "allOf": [ - { - "$ref": "#/components/schemas/FileVersion--Mini" - }, - { - "description": "The file version this file version retention was\napplied to" - } - ] + "email": { + "type": "string", + "description": "The email address", + "example": "alias@example.com" }, - "file": { - "allOf": [ - { - "$ref": "#/components/schemas/File--Mini" - }, - { - "description": "The file this file version retention was applied to" - } - ] + "is_confirmed": { + "type": "boolean", + "description": "Whether the email address has been confirmed", + "example": true + } + } + }, + "EmailAliases": { + "title": "Email aliases", + "type": "object", + "x-box-resource-id": "email_aliases", + "x-box-tag": "email_aliases", + "description": "A list of email aliases", + "properties": { + "total_count": { + "description": "The number of email aliases.", + "example": 5000, + "type": "integer", + "format": "int64" }, - "applied_at": { + "entries": { + "type": "array", + "description": "A list of email aliases", + "items": { + "$ref": "#/components/schemas/EmailAlias" + } + } + } + }, + "Enterprise--Base": { + "title": "Enterprise (Base)", + "type": "object", + "x-box-resource-id": "enterprise--base", + "x-box-variants": [ + "base", + "mini", + "standard", + "full" + ], + "x-box-variant": "base", + "description": "A mini representation of a enterprise, used when\nnested within another resource.", + "properties": { + "id": { "type": "string", - "format": "date-time", - "description": "When this file version retention object was\ncreated", - "example": "2012-12-12T10:53:43-08:00" + "description": "The unique identifier for this enterprise", + "example": "1910967" }, - "disposition_at": { + "type": { "type": "string", - "format": "date-time", - "description": "When the retention expires on this file\nversion retention", - "example": "2012-12-12T10:53:43-08:00" - }, - "winning_retention_policy": { - "allOf": [ - { - "$ref": "#/components/schemas/RetentionPolicy--Mini" - }, - { - "description": "The winning retention policy applied to this file\nversion retention. A file version can have multiple\nretention policies applied." - } + "description": "`enterprise`", + "example": "enterprise", + "nullable": false, + "enum": [ + "enterprise" ] } } }, - "FileVersionRetentions": { - "title": "File version retentions", + "Event": { + "title": "Event", "type": "object", - "x-box-resource-id": "file_version_retentions", - "x-box-tag": "file_version_retentions", - "description": "A list of file version retentions.\n\n**Note**:\nFile retention API is now **deprecated**. \nTo get information about files and file versions under retention,\nsee [files under retention](e://get-retention-policy-assignments-id-files-under-retention) or [file versions under retention](e://get-retention-policy-assignments-id-file-versions-under-retention) endpoints.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" + "x-box-resource-id": "event", + "x-box-tag": "events", + "description": "The description of an event that happened within Box", + "properties": { + "type": { + "description": "`event`", + "type": "string", + "example": "event" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "When the event object was created", + "example": "2022-12-12T10:53:43-08:00" + }, + "recorded_at": { + "type": "string", + "format": "date-time", + "description": "When the event object was recorded in database", + "example": "2022-12-12T10:54:43-08:00" + }, + "event_id": { + "type": "string", + "example": "f82c3ba03e41f7e8a7608363cc6c0390183c3f83", + "description": "The ID of the event object. You can use this to detect duplicate events" + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + { + "description": "The user that performed the action represented by the event.\nSome events may be performed by users not logged into Box.\nIn that case, not all attributes of the object are populated and the\nevent is attributed to a unknown user (`user_id = 2`)" + } + ] + }, + "event_type": { + "allOf": [ + { + "title": "Event Type", + "example": "FILE_MARKED_MALICIOUS", "type": "string", - "nullable": true + "description": "An event type that can trigger an event", + "enum": [ + "ACCESS_GRANTED", + "ACCESS_REVOKED", + "ADD_DEVICE_ASSOCIATION", + "ADD_LOGIN_ACTIVITY_DEVICE", + "ADMIN_LOGIN", + "APPLICATION_CREATED", + "APPLICATION_PUBLIC_KEY_ADDED", + "APPLICATION_PUBLIC_KEY_DELETED", + "CHANGE_ADMIN_ROLE", + "CHANGE_FOLDER_PERMISSION", + "COLLABORATION_ACCEPT", + "COLLABORATION_EXPIRATION", + "COLLABORATION_INVITE", + "COLLABORATION_REMOVE", + "COLLABORATION_ROLE_CHANGE", + "COLLAB_ADD_COLLABORATOR", + "COLLAB_INVITE_COLLABORATOR", + "COLLAB_REMOVE_COLLABORATOR", + "COLLAB_ROLE_CHANGE", + "COMMENT_CREATE", + "COMMENT_DELETE", + "CONTENT_ACCESS", + "CONTENT_WORKFLOW_ABNORMAL_DOWNLOAD_ACTIVITY", + "CONTENT_WORKFLOW_AUTOMATION_ADD", + "CONTENT_WORKFLOW_AUTOMATION_DELETE", + "CONTENT_WORKFLOW_POLICY_ADD", + "CONTENT_WORKFLOW_SHARING_POLICY_VIOLATION", + "CONTENT_WORKFLOW_UPLOAD_POLICY_VIOLATION", + "COPY", + "DATA_RETENTION_CREATE_RETENTION", + "DATA_RETENTION_REMOVE_RETENTION", + "DELETE", + "DELETE_USER", + "DEVICE_TRUST_CHECK_FAILED", + "DOWNLOAD", + "EDIT", + "EDIT_USER", + "EMAIL_ALIAS_CONFIRM", + "EMAIL_ALIAS_REMOVE", + "ENABLE_TWO_FACTOR_AUTH", + "ENTERPRISE_APP_AUTHORIZATION_UPDATE", + "FAILED_LOGIN", + "FILE_MARKED_MALICIOUS", + "FILE_WATERMARKED_DOWNLOAD", + "GROUP_ADD_ITEM", + "GROUP_ADD_USER", + "GROUP_CREATION", + "GROUP_DELETION", + "GROUP_EDITED", + "GROUP_REMOVE_ITEM", + "GROUP_REMOVE_USER", + "ITEM_COPY", + "ITEM_CREATE", + "ITEM_DOWNLOAD", + "ITEM_EMAIL_SEND", + "ITEM_MAKE_CURRENT_VERSION", + "ITEM_MODIFY", + "ITEM_MOVE", + "ITEM_OPEN", + "ITEM_PREVIEW", + "ITEM_RENAME", + "ITEM_SHARED", + "ITEM_SHARED_CREATE", + "ITEM_SHARED_UNSHARE", + "ITEM_SHARED_UPDATE", + "ITEM_SYNC", + "ITEM_TRASH", + "ITEM_UNDELETE_VIA_TRASH", + "ITEM_UNSYNC", + "ITEM_UPLOAD", + "LEGAL_HOLD_ASSIGNMENT_CREATE", + "LEGAL_HOLD_ASSIGNMENT_DELETE", + "LEGAL_HOLD_POLICY_CREATE", + "LEGAL_HOLD_POLICY_DELETE", + "LEGAL_HOLD_POLICY_UPDATE", + "LOCK", + "LOCK_CREATE", + "LOCK_DESTROY", + "LOGIN", + "MASTER_INVITE_ACCEPT", + "MASTER_INVITE_REJECT", + "METADATA_INSTANCE_CREATE", + "METADATA_INSTANCE_DELETE", + "METADATA_INSTANCE_UPDATE", + "METADATA_TEMPLATE_CREATE", + "METADATA_TEMPLATE_DELETE", + "METADATA_TEMPLATE_UPDATE", + "MOVE", + "NEW_USER", + "PREVIEW", + "REMOVE_DEVICE_ASSOCIATION", + "REMOVE_LOGIN_ACTIVITY_DEVICE", + "RENAME", + "RETENTION_POLICY_ASSIGNMENT_ADD", + "SHARE", + "SHARED_LINK_SEND", + "SHARE_EXPIRATION", + "SHIELD_ALERT", + "SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED", + "SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED_MISSING_JUSTIFICATION", + "SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED", + "SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED_MISSING_JUSTIFICATION", + "SHIELD_JUSTIFICATION_APPROVAL", + "SHIELD_SHARED_LINK_ACCESS_BLOCKED", + "SHIELD_SHARED_LINK_STATUS_RESTRICTED_ON_CREATE", + "SHIELD_SHARED_LINK_STATUS_RESTRICTED_ON_UPDATE", + "SIGN_DOCUMENT_ASSIGNED", + "SIGN_DOCUMENT_CANCELLED", + "SIGN_DOCUMENT_COMPLETED", + "SIGN_DOCUMENT_CONVERTED", + "SIGN_DOCUMENT_CREATED", + "SIGN_DOCUMENT_DECLINED", + "SIGN_DOCUMENT_EXPIRED", + "SIGN_DOCUMENT_SIGNED", + "SIGN_DOCUMENT_VIEWED_BY_SIGNED", + "SIGNER_DOWNLOADED", + "SIGNER_FORWARDED", + "STORAGE_EXPIRATION", + "TAG_ITEM_CREATE", + "TASK_ASSIGNMENT_CREATE", + "TASK_ASSIGNMENT_DELETE", + "TASK_ASSIGNMENT_UPDATE", + "TASK_CREATE", + "TASK_UPDATE", + "TERMS_OF_SERVICE_ACCEPT", + "TERMS_OF_SERVICE_REJECT", + "UNDELETE", + "UNLOCK", + "UNSHARE", + "UPDATE_COLLABORATION_EXPIRATION", + "UPDATE_SHARE_EXPIRATION", + "UPLOAD", + "USER_AUTHENTICATE_OAUTH2_ACCESS_TOKEN_CREATE", + "WATERMARK_LABEL_CREATE", + "WATERMARK_LABEL_DELETE" + ] }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true + { + "description": "The event type that triggered this event" } - } + ] }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of file version retentions", - "items": { - "$ref": "#/components/schemas/FileVersionRetention" - } - } - } - } - ] - }, - "Folder": { - "title": "Folder", - "type": "object", - "x-box-resource-id": "folder", - "x-box-variant": "standard", - "description": "A standard representation of a folder, as returned from any\nfolder API endpoints by default", - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" + "session_id": { + "type": "string", + "example": "70090280850c8d2a1933c1", + "description": "The session of the user that performed the action. Not all events will\npopulate this attribute." }, - { - "properties": { - "created_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time when the folder was created. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", - "example": "2012-12-12T10:53:43-08:00" - }, - "modified_at": { - "type": "string", - "format": "date-time", - "description": "The date and time when the folder was last updated. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", - "example": "2012-12-12T10:53:43-08:00", - "nullable": true - }, - "description": { - "allOf": [ + "source": { + "allOf": [ + { + "oneOf": [ { - "type": "string", - "description": "The optional description of this folder", - "maxLength": 256, - "example": "Legal contracts for the new ACME deal", - "nullable": false + "$ref": "#/components/schemas/User" }, { - "nullable": false - } - ] - }, - "size": { + "$ref": "#/components/schemas/EventSource" + }, + { + "$ref": "#/components/schemas/File" + }, + { + "$ref": "#/components/schemas/Folder" + }, + { + "$ref": "#/components/schemas/GenericSource" + }, + { + "$ref": "#/components/schemas/AppItemEventSource" + } + ] + }, + { + "description": "The resource that triggered this event. For more information,\ncheck out the guide on event triggers." + } + ] + }, + "additional_details": { + "type": "object", + "example": { + "key": "value" + }, + "description": "This object provides additional information about the event if available.\n\nThis can include how a user performed an event as well as additional\ninformation to correlate an event to external KeySafe logs. Not all events\nhave an `additional_details` object. This object is only available in the\nEnterprise Events." + } + } + }, + "Events": { + "title": "Events", + "type": "object", + "x-box-resource-id": "events", + "x-box-tag": "events", + "description": "A list of event objects", + "properties": { + "chunk_size": { + "description": "The number of events returned in this response.", + "example": 2, + "type": "integer", + "format": "int64" + }, + "next_stream_position": { + "description": "The stream position of the start of the next page (chunk)\nof events.", + "example": "1152922976252290886", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "entries": { + "type": "array", + "description": "A list of events", + "items": { + "$ref": "#/components/schemas/Event" + } + } + } + }, + "File": { + "title": "File", + "type": "object", + "x-box-resource-id": "file", + "x-box-variant": "standard", + "description": "A standard representation of a file, as returned from any\nfile API endpoints by default", + "allOf": [ + { + "$ref": "#/components/schemas/File--Mini" + }, + { + "properties": { + "description": { + "type": "string", + "nullable": false, + "description": "The optional description of this file.\nIf the description exceeds 255 characters, the first 255 characters\nare set as a file description and the rest of it is ignored.", + "maxLength": 255, + "example": "Contract for Q1 renewal" + }, + "size": { "type": "integer", - "format": "int64", - "description": "The folder size in bytes.\n\nBe careful parsing this integer as its\nvalue can get very large.", - "example": 629644, - "nullable": false + "nullable": false, + "description": "The file size in bytes. Be careful parsing this integer as it can\nget very large and cause an integer overflow.", + "example": 629644 }, "path_collection": { "allOf": [ @@ -29443,50 +28386,38 @@ } }, { - "description": "The tree of folders that this folder is contained in,\nstarting at the root." + "description": "The tree of folders that this file is contained in,\nstarting at the root." }, { "nullable": false } ] }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created this folder" - }, - { - "nullable": false - } - ] + "created_at": { + "type": "string", + "format": "date-time", + "nullable": false, + "description": "The date and time when the file was created on Box.", + "example": "2012-12-12T10:53:43-08:00" }, - "modified_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who last modified this folder." - }, - { - "nullable": false - } - ] + "modified_at": { + "type": "string", + "format": "date-time", + "nullable": false, + "description": "The date and time when the file was last updated on Box.", + "example": "2012-12-12T10:53:43-08:00" }, "trashed_at": { "type": "string", "format": "date-time", - "description": "The time at which this folder was put in the trash.", + "description": "The time at which this file was put in the trash.", "example": "2012-12-12T10:53:43-08:00", "nullable": true }, "purged_at": { "type": "string", "format": "date-time", - "description": "The time at which this folder is expected to be purged\nfrom the trash.", + "description": "The time at which this file is expected to be purged\nfrom the trash.", "example": "2012-12-12T10:53:43-08:00", "nullable": true }, @@ -29494,23 +28425,46 @@ "type": "string", "format": "date-time", "nullable": true, - "description": "The date and time at which this folder was originally\ncreated.", + "description": "The date and time at which this file was originally\ncreated, which might be before it was uploaded to Box.", "example": "2012-12-12T10:53:43-08:00" }, "content_modified_at": { "type": "string", "format": "date-time", "nullable": true, - "description": "The date and time at which this folder was last updated.", + "description": "The date and time at which this file was last updated,\nwhich might be before it was uploaded to Box.", "example": "2012-12-12T10:53:43-08:00" }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who created this file" + } + ] + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who last modified this file" + }, + { + "nullable": false + } + ] + }, "owned_by": { "allOf": [ { "$ref": "#/components/schemas/User--Mini" }, { - "description": "The user who owns this folder." + "description": "The user who owns this file" }, { "nullable": false @@ -29652,34 +28606,12 @@ } }, { - "description": "The shared link for this folder. This will be\n`null` if no shared link has been created for this\nfolder." - } - ], - "nullable": true - }, - "folder_upload_email": { - "type": "object", - "description": "The `folder_upload_email` parameter is not `null` if one of the following options is **true**:\n\n * The **Allow uploads to this folder via email** and the **Only allow email uploads from collaborators in this folder** are [enabled for a folder in the Admin Console](https://support.box.com/hc/en-us/articles/360043697534-Upload-to-Box-Through-Email), and the user has at least **Upload** permissions granted.\n\n * The **Allow uploads to this folder via email** setting is enabled for a folder in the Admin Console, and the **Only allow email uploads from collaborators in this folder** setting is deactivated (unchecked).\n\nIf the conditions are not met, the parameter will have the following value: `folder_upload_email: null`", - "nullable": true, - "properties": { - "access": { - "type": "string", - "example": "open", - "nullable": false, - "enum": [ - "open", - "collaborators" - ], - "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." + "description": "The shared link for this file. This will be\n`null` if no shared link has been created for this\nfile." }, - "email": { - "description": "The optional upload email address for this folder.", - "type": "string", - "format": "email", - "example": "upload.Contracts.asd7asd@u.box.com", - "nullable": false + { + "nullable": true } - } + ] }, "parent": { "allOf": [ @@ -29687,7 +28619,7 @@ "$ref": "#/components/schemas/Folder--Mini" }, { - "description": "The optional folder that this folder is located within.\n\nThis value may be `null` for some folders such as the\nroot folder or the trash folder." + "description": "The folder that this file is located within." } ], "nullable": true @@ -29702,70 +28634,97 @@ ], "nullable": false, "example": "active" - }, - "item_collection": { - "allOf": [ - { - "$ref": "#/components/schemas/Items" - }, - { - "description": "A page of the items that are in the folder.\n\nThis field can only be requested when querying a folder's\ninformation, not when querying a folder's items." - }, - { - "nullable": false - } - ] } } } ] }, - "Folder--Full": { - "title": "Folder (Full)", + "FileConflict": { + "title": "File (Conflict)", "type": "object", - "x-box-resource-id": "folder--full", - "x-box-variant": "full", - "description": "A full representation of a folder, as can be returned from any\nfolder API endpoints by default", + "x-box-resource-id": "file_conflict", + "x-box-tag": null, + "description": "A representation of a file that is used to show", "allOf": [ { - "$ref": "#/components/schemas/Folder" + "$ref": "#/components/schemas/File--Mini" }, { "properties": { - "sync_state": { - "allOf": [ - { - "type": "string", - "example": "synced", - "nullable": false, - "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.", - "enum": [ - "synced", - "not_synced", - "partially_synced" - ] - } - ] - }, - "has_collaborations": { - "type": "boolean", - "example": true, - "nullable": false, - "description": "Specifies if this folder has any other collaborators." + "sha1": { + "type": "string", + "example": "85136C79CBF9FE36BB9D05D0639C70C265C18D37", + "description": "The SHA1 hash of the file." }, - "permissions": { - "allOf": [ - { - "type": "object", - "description": "The permissions that the authenticated user has for a folder.", - "required": [ - "can_upload" - ], - "allOf": [ - { - "type": "object", - "description": "The permissions that the authenticated user has for an item.", - "required": [ + "file_version": { + "$ref": "#/components/schemas/FileVersion--Mini" + } + } + } + ] + }, + "Files": { + "title": "Files", + "type": "object", + "x-box-resource-id": "files", + "x-box-tag": "files", + "description": "A list of files", + "properties": { + "total_count": { + "description": "The number of files.", + "example": 1, + "type": "integer", + "format": "int64" + }, + "entries": { + "type": "array", + "description": "A list of files", + "items": { + "$ref": "#/components/schemas/File--Full" + } + } + } + }, + "File--Full": { + "title": "File (Full)", + "type": "object", + "x-box-resource-id": "file--full", + "x-box-variant": "full", + "description": "A full representation of a file, as can be returned from any\nfile API endpoints by default", + "allOf": [ + { + "$ref": "#/components/schemas/File" + }, + { + "properties": { + "version_number": { + "type": "string", + "example": "1", + "description": "The version number of this file" + }, + "comment_count": { + "type": "integer", + "example": 10, + "description": "The number of comments on this file" + }, + "permissions": { + "allOf": [ + { + "type": "object", + "description": "The permissions that the authenticated user has for a file.", + "required": [ + "can_annotate", + "can_comment", + "can_preview", + "can_upload", + "can_view_annotations_all", + "can_view_annotations_self" + ], + "allOf": [ + { + "type": "object", + "description": "The permissions that the authenticated user has for an item.", + "required": [ "can_delete", "can_download", "can_invite_collaborator", @@ -29814,9 +28773,39 @@ }, { "properties": { + "can_annotate": { + "type": "boolean", + "description": "Specifies if the user can place annotations on this file.", + "example": true, + "nullable": false + }, + "can_comment": { + "type": "boolean", + "description": "Specifies if the user can place comments on this file.", + "example": true, + "nullable": false + }, + "can_preview": { + "type": "boolean", + "description": "Specifies if the user can preview this file.", + "example": true, + "nullable": false + }, "can_upload": { "type": "boolean", - "description": "Specifies if the user can upload into this folder.", + "description": "Specifies if the user can upload a new version of this file.", + "example": true, + "nullable": false + }, + "can_view_annotations_all": { + "type": "boolean", + "description": "Specifies if the user view all annotations placed on this file", + "example": true, + "nullable": false + }, + "can_view_annotations_self": { + "type": "boolean", + "description": "Specifies if the user view annotations placed by themselves\non this file", "example": true, "nullable": false } @@ -29825,7 +28814,7 @@ ] }, { - "description": "Describes the permissions that the current user has\nfor this folder" + "description": "Describes the permissions that the current user has\nfor this file." }, { "nullable": false @@ -29851,96 +28840,167 @@ } ] }, - "can_non_owners_invite": { + "lock": { "allOf": [ { - "type": "boolean", - "example": true, - "description": "Specifies if users who are not the owner\nof the folder can invite new collaborators to the folder." + "title": "Lock", + "type": "object", + "description": "The lock held on a file. A lock prevents a file from being moved,\nrenamed, or otherwise changed by anyone else than the user who created the\nlock.", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this lock", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`lock`", + "example": "lock", + "enum": [ + "lock" + ] + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who created the lock." + } + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2012-12-12T10:53:43-08:00", + "description": "The time this lock was created at." + }, + "expired_at": { + "type": "string", + "format": "date-time", + "example": "2012-12-12T10:53:43-08:00", + "description": "The time this lock is to expire at, which might be in the past." + }, + "is_download_prevented": { + "type": "boolean", + "example": true, + "description": "Whether or not the file can be downloaded while locked." + }, + "app_type": { + "type": "string", + "description": "If the lock is managed by an application rather than a user, this\nfield identifies the type of the application that holds the lock.\nThis is an open enum and may be extended with additional values in\nthe future.", + "enum": [ + "gsuite", + "office_wopi", + "office_wopiplus", + "other" + ], + "example": "office_wopiplus", + "nullable": true + } + } }, { - "nullable": false + "description": "The lock held on this file. If there is no lock, this can either\nbe `null` or have a timestamp in the past." } - ] + ], + "nullable": true }, - "is_externally_owned": { + "extension": { + "type": "string", + "example": "pdf", + "description": "Indicates the (optional) file extension for this file. By default,\nthis is set to an empty string." + }, + "is_package": { "type": "boolean", "example": true, - "nullable": false, - "description": "Specifies if this folder is owned by a user outside of the\nauthenticated enterprise." + "description": "Indicates if the file is a package. Packages are commonly used\nby Mac Applications and can include iWork files." }, - "metadata": { + "expiring_embed_link": { "allOf": [ { - "title": "Item metadata instances", + "title": "Expiring embed link", "type": "object", - "description": "A list of metadata instances, nested within key-value pairs of their `scope`\nand `templateKey`.\n\nTo access the metadata for a file or folder, first use the\nmetadata endpoints to determine the metadata templates available to your\nenterprise.\n\nThen use the `GET /files/:id` or `GET /folder/:id`\nendpoint with the `fields` query parameter to get\nthe metadata by ID.\n\nTo request a metadata instance for a particular `scope` and `templateKey`\nuse the following format for the `fields` parameter:\n`metadata..`\n\nFor example, `?fields=metadata.enterprise_27335.marketingCollateral`.", - "example": { - "enterprise_27335": { - "marketingCollateral": { - "$canEdit": true, - "$id": "01234500-12f1-1234-aa12-b1d234cb567e", - "$parent": "folder_59449484661", - "$scope": "enterprise_27335", - "$template": "marketingCollateral", - "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", - "$typeVersion": 2, - "$version": 1 - } - } - }, - "additionalProperties": { - "type": "object", - "description": "A list of metadata instances, nested within key-value pairs of their `scope`\nand `templateKey`.", - "example": { - "marketingCollateral": { - "$canEdit": true, - "$id": "01234500-12f1-1234-aa12-b1d234cb567e", - "$parent": "folder_59449484661", - "$scope": "enterprise_27335", - "$template": "marketingCollateral", - "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", - "$typeVersion": 2, - "$version": 1 + "description": "An expiring Box Embed Link.", + "allOf": [ + { + "type": "object", + "description": "The basics of an access token", + "properties": { + "access_token": { + "type": "string", + "format": "token", + "example": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ", + "description": "The requested access token." + }, + "expires_in": { + "type": "integer", + "format": "int64", + "example": 3600, + "description": "The time in seconds by which this token will expire." + }, + "token_type": { + "type": "string", + "enum": [ + "bearer" + ], + "example": "bearer", + "description": "The type of access token returned." + }, + "restricted_to": { + "type": "array", + "description": "The permissions that this access token permits,\nproviding a list of resources (files, folders, etc)\nand the scopes permitted for each of those resources.", + "items": { + "$ref": "#/components/schemas/FileOrFolderScope" + } + } } }, - "additionalProperties": { - "$ref": "#/components/schemas/Metadata--Full" + { + "properties": { + "url": { + "type": "string", + "format": "url", + "example": "https://cloud.app.box.com/preview/expiring_embed/...", + "description": "The actual expiring embed URL for this file, constructed\nfrom the file ID and access tokens specified in this object." + } + } } - } + ] }, { - "description": "An object containing the metadata instances that have been\nattached to this folder.\n\nEach metadata instance is uniquely identified by its `scope` and\n`templateKey`. There can only be one instance of any metadata\ntemplate attached to each folder. Each metadata instance is nested\nwithin an object with the `templateKey` as the key, which again\nitself is nested in an object with the `scope` as the key." + "description": "Requesting this field creates an expiring Box Embed URL for an\nembedded preview session in an `iframe`.\n\nThis URL will expire after 60 seconds and the session will\nexpire after 60 minutes.\n\nNot all file types are supported for these embed URLs. Box Embed\nis not optimized for mobile browsers and should not be used in web\nexperiences designed for mobile devices. Many UI elements, like\nthe **download** and **print** options might not show in mobile\nbrowsers." } ] }, - "is_collaboration_restricted_to_enterprise": { + "watermark_info": { "allOf": [ { - "type": "boolean", - "example": true, - "description": "Specifies if new invites to this folder are restricted to users\nwithin the enterprise. This does not affect existing\ncollaborations." + "type": "object", + "description": "Details about the watermark applied to this item", + "properties": { + "is_watermarked": { + "type": "boolean", + "description": "Specifies if this item has a watermark applied.", + "example": true, + "nullable": false + } + } }, { - "nullable": false + "description": "Details about the watermark applied to this file" } ] }, - "allowed_shared_link_access_levels": { - "type": "array", - "example": [ - "open" - ], - "items": { - "type": "string", - "enum": [ - "open", - "company", - "collaborators" - ] - }, - "nullable": false, - "description": "A list of access levels that are available\nfor this folder.\n\nFor some folders, like the root folder, this will always\nbe an empty list as sharing is not allowed at that level." + "is_accessible_via_shared_link": { + "type": "boolean", + "description": "Specifies if the file can be accessed\nvia the direct shared link or a shared link\nto a parent folder.", + "example": true, + "enum": [ + true, + false + ] }, "allowed_invitee_roles": { "type": "array", @@ -29948,7 +29008,7 @@ "editor" ], "nullable": false, - "description": "A list of the types of roles that user can be invited at\nwhen sharing this folder.", + "description": "A list of the types of roles that user can be invited at\nwhen sharing this file.", "items": { "type": "string", "enum": [ @@ -29962,41 +29022,159 @@ ] } }, - "watermark_info": { + "is_externally_owned": { + "type": "boolean", + "example": true, + "nullable": false, + "description": "Specifies if this file is owned by a user outside of the\nauthenticated enterprise." + }, + "has_collaborations": { + "type": "boolean", + "example": true, + "nullable": false, + "description": "Specifies if this file has any other collaborators." + }, + "metadata": { "allOf": [ { + "title": "Item metadata instances", "type": "object", - "description": "Details about the watermark applied to this item", - "properties": { - "is_watermarked": { - "type": "boolean", - "description": "Specifies if this item has a watermark applied.", - "example": true, - "nullable": false + "description": "A list of metadata instances, nested within key-value pairs of their `scope`\nand `templateKey`.\n\nTo access the metadata for a file or folder, first use the\nmetadata endpoints to determine the metadata templates available to your\nenterprise.\n\nThen use the `GET /files/:id` or `GET /folder/:id`\nendpoint with the `fields` query parameter to get\nthe metadata by ID.\n\nTo request a metadata instance for a particular `scope` and `templateKey`\nuse the following format for the `fields` parameter:\n`metadata..`\n\nFor example, `?fields=metadata.enterprise_27335.marketingCollateral`.", + "example": { + "enterprise_27335": { + "marketingCollateral": { + "$canEdit": true, + "$id": "01234500-12f1-1234-aa12-b1d234cb567e", + "$parent": "folder_59449484661", + "$scope": "enterprise_27335", + "$template": "marketingCollateral", + "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", + "$typeVersion": 2, + "$version": 1 + } + } + }, + "additionalProperties": { + "type": "object", + "description": "A list of metadata instances, nested within key-value pairs of their `scope`\nand `templateKey`.", + "example": { + "marketingCollateral": { + "$canEdit": true, + "$id": "01234500-12f1-1234-aa12-b1d234cb567e", + "$parent": "folder_59449484661", + "$scope": "enterprise_27335", + "$template": "marketingCollateral", + "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", + "$typeVersion": 2, + "$version": 1 + } + }, + "additionalProperties": { + "$ref": "#/components/schemas/Metadata--Full" } } }, { - "description": "Details about the watermark applied to this folder" - }, - { - "nullable": false + "description": "An object containing the metadata instances that have been\nattached to this file.\n\nEach metadata instance is uniquely identified by its `scope` and\n`templateKey`. There can only be one instance of any metadata\ntemplate attached to each file. Each metadata instance is nested\nwithin an object with the `templateKey` as the key, which again\nitself is nested in an object with the `scope` as the key." } ] }, - "is_accessible_via_shared_link": { - "type": "boolean", - "description": "Specifies if the folder can be accessed\nwith the direct shared link or a shared link\nto a parent folder.", - "example": true, - "enum": [ - true, - false - ] + "expires_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When the file will automatically be deleted", + "example": "2012-12-12T10:53:43-08:00" }, - "can_non_owners_view_collaborators": { - "type": "boolean", - "example": true, - "description": "Specifies if collaborators who are not owners\nof this folder are restricted from viewing other\ncollaborations on this folder.\n\nIt also restricts non-owners from inviting new\ncollaborators." + "representations": { + "allOf": [ + { + "title": "Representations", + "description": "A list of file representations", + "type": "object", + "properties": { + "entries": { + "type": "array", + "description": "A list of files", + "items": { + "type": "object", + "description": "A file representation", + "properties": { + "content": { + "type": "object", + "description": "An object containing the URL that can be used to actually fetch\nthe representation.", + "properties": { + "url_template": { + "type": "string", + "example": "https://dl.boxcloud.com/api/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048/content/{+asset_path}?watermark_content=4567", + "description": "The download URL that can be used to fetch the representation.\nMake sure to make an authenticated API call to this endpoint.\n\nThis URL is a template and will require the `{+asset_path}` to\nbe replaced by a path. In general, for unpaged representations\nit can be replaced by an empty string.\n\nFor paged representations, replace the `{+asset_path}` with the\npage to request plus the extension for the file, for example\n`1.pdf`.\n\nWhen requesting the download URL the following additional\nquery params can be passed along.\n\n* `set_content_disposition_type` - Sets the\n`Content-Disposition` header in the API response with the\nspecified disposition type of either `inline` or `attachment`.\nIf not supplied, the `Content-Disposition` header is not\nincluded in the response.\n\n* `set_content_disposition_filename` - Allows the application to\n define the representation's file name used in the\n `Content-Disposition` header. If not defined, the filename\n is derived from the source file name in Box combined with the\n extension of the representation." + } + } + }, + "info": { + "type": "object", + "description": "An object containing the URL that can be used to fetch more info\non this representation.", + "properties": { + "url": { + "type": "string", + "example": "https://api.box.com/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048", + "description": "The API URL that can be used to get more info on this file\nrepresentation. Make sure to make an authenticated API call\nto this endpoint." + } + } + }, + "properties": { + "type": "object", + "description": "An object containing the size and type of this presentation.", + "properties": { + "dimensions": { + "type": "string", + "format": "x", + "example": "2048x2048", + "description": "The width by height size of this representation in pixels." + }, + "paged": { + "type": "boolean", + "example": true, + "description": "Indicates if the representation is build up out of multiple\npages." + }, + "thumb": { + "type": "boolean", + "example": true, + "description": "Indicates if the representation can be used as a thumbnail of\nthe file." + } + } + }, + "representation": { + "type": "string", + "example": "png", + "description": "Indicates the file type of the returned representation." + }, + "status": { + "type": "object", + "description": "An object containing the status of this representation.", + "properties": { + "state": { + "type": "string", + "example": "success", + "enum": [ + "success", + "viewable", + "pending", + "none" + ], + "description": "The status of the representation.\n\n* `success` defines the representation as ready to be viewed.\n* `viewable` defines a video to be ready for viewing.\n* `pending` defines the representation as to be generated. Retry\n this endpoint to re-check the status.\n* `none` defines that the representation will be created when\n requested. Request the URL defined in the `info` object to\n trigger this generation." + } + } + } + } + } + } + } + }, + { + "description": "A list of representations for a file that can be used to\ndisplay a placeholder of the file in your application. By default\nthis returns all representations and we recommend using the\n`x-rep-hints` header to further customize the desired\nrepresentations." + } + ] }, "classification": { "allOf": [ @@ -30022,32 +29200,67 @@ } }, { - "description": "Details about the classification applied to this folder." + "description": "Details about the classification applied to this file." }, { "nullable": true } ] }, + "uploader_display_name": { + "allOf": [ + { + "title": "Uploader display name", + "type": "string", + "example": "Ellis Wiggins", + "nullable": false, + "description": "The display name of the user that uploaded the file. In most cases this is the\nname of the user logged in at the time of the upload.\n\nIf the file was uploaded using a File Request form that requires the user to\nprovide an email address, this field is populated with that email address. If\nan email address was not required in the File Request form, this field is set\nto return a value of `File Request`.\n\nIn all other anonymous cases where no email was provided this field\nwill default to a value of `Someone`." + } + ] + }, + "disposition_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The retention expiration timestamp for the given file", + "example": "2012-12-12T10:53:43-08:00" + }, + "shared_link_permission_options": { + "type": "array", + "example": [ + "can_preview" + ], + "nullable": true, + "description": "A list of the types of roles that user can be invited at\nwhen sharing this file.", + "items": { + "type": "string", + "enum": [ + "can_preview", + "can_download", + "can_edit" + ] + } + }, "is_associated_with_app_item": { "type": "boolean", "example": true, "nullable": false, - "description": "This field will return true if the folder or any ancestor of the\nfolder is associated with at least one app item. Note that this will\nreturn true even if the context user does not have access to the\napp item(s) associated with the folder." + "description": "This field will return true if the file or any ancestor of the file\nis associated with at least one app item. Note that this will return\ntrue even if the context user does not have access to the app item(s)\nassociated with the file." } } } ] }, - "Folder--Mini": { - "title": "Folder (Mini)", + "File--Mini": { + "title": "File (Mini)", "type": "object", - "x-box-resource-id": "folder--mini", + "x-box-resource-id": "file--mini", "x-box-variant": "mini", - "description": "A mini representation of a file version, used when\nnested under another resource.", + "description": "A mini representation of a file, used when\nnested under another resource.", + "nullable": true, "allOf": [ { - "$ref": "#/components/schemas/Folder--Base" + "$ref": "#/components/schemas/File--Base" }, { "properties": { @@ -30066,19 +29279,35 @@ }, "name": { "type": "string", - "description": "The name of the folder.", - "example": "Contracts", - "nullable": false + "description": "The name of the file", + "example": "Contract.pdf" + }, + "sha1": { + "type": "string", + "format": "digest", + "nullable": false, + "example": "85136C79CBF9FE36BB9D05D0639C70C265C18D37", + "description": "The SHA1 hash of the file. This can be used to compare the contents\nof a file on Box with a local file." + }, + "file_version": { + "allOf": [ + { + "$ref": "#/components/schemas/FileVersion--Mini" + }, + { + "description": "The information about the current version of the file." + } + ] } } } ] }, - "Folder--Base": { - "title": "Folder (Base)", + "File--Base": { + "title": "File (Base)", "type": "object", - "x-box-resource-id": "folder--base", - "x-box-tag": "folders", + "x-box-resource-id": "file--base", + "x-box-tag": "files", "x-box-variants": [ "base", "mini", @@ -30086,7 +29315,8 @@ "full" ], "x-box-variant": "base", - "description": "The bare basic representation of a folder, the minimal\namount of fields returned when using the `fields` query\nparameter.", + "nullable": true, + "description": "The bare basic representation of a file, the minimal\namount of fields returned when using the `fields` query\nparameter.", "required": [ "id", "type" @@ -30095,285 +29325,247 @@ "id": { "type": "string", "nullable": false, - "description": "The unique identifier that represent a folder.\n\nThe ID for any folder can be determined\nby visiting a folder in the web application\nand copying the ID from the URL. For example,\nfor the URL `https://*.app.box.com/folders/123`\nthe `folder_id` is `123`.", + "description": "The unique identifier that represent 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`.", "example": "12345" }, "etag": { "type": "string", - "nullable": true, "example": "1", - "description": "The HTTP `etag` of this folder. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the folder if (no) changes have happened." + "nullable": true, + "description": "The HTTP `etag` of this file. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the file if (no) changes have happened." }, "type": { "type": "string", - "description": "`folder`", - "example": "folder", + "description": "`file`", + "example": "file", "enum": [ - "folder" + "file" ], "nullable": false } } }, - "FolderLock": { - "title": "Folder Lock", + "FileRequest": { + "title": "File Request", "type": "object", - "x-box-resource-id": "folder_lock", - "x-box-tag": "folder_locks", - "description": "Folder locks define access restrictions placed by folder owners\nto prevent specific folders from being moved or deleted.", + "x-box-resource-id": "file_request", + "x-box-tag": "file_requests", + "description": "A standard representation of a file request, as returned\nfrom any file request API endpoints by default.", + "required": [ + "id", + "type", + "folder", + "created_at", + "updated_at" + ], "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this file request.", + "readOnly": true, + "example": "42037322" + }, + "type": { + "type": "string", + "description": "`file_request`", + "example": "file_request", + "enum": [ + "file_request" + ], + "readOnly": true + }, + "title": { + "type": "string", + "description": "The title of file request. This is shown\nin the Box UI to users uploading files.\n\nThis defaults to title of the file request that was\ncopied to create this file request.", + "example": "Please upload documents" + }, + "description": { + "type": "string", + "nullable": true, + "description": "The optional description of this file request. This is\nshown in the Box UI to users uploading files.\n\nThis defaults to description of the file request that was\ncopied to create this file request.", + "example": "Following documents are requested for your process" + }, + "status": { + "type": "string", + "example": "active", + "description": "The status of the file request. This defaults\nto `active`.\n\nWhen the status is set to `inactive`, the file request\nwill no longer accept new submissions, and any visitor\nto the file request URL will receive a `HTTP 404` status\ncode.\n\nThis defaults to status of file request that was\ncopied to create this file request.", + "enum": [ + "active", + "inactive" + ] + }, + "is_email_required": { + "type": "boolean", + "example": true, + "description": "Whether a file request submitter is required to provide\ntheir email address.\n\nWhen this setting is set to true, the Box UI will show\nan email field on the file request form.\n\nThis defaults to setting of file request that was\ncopied to create this file request." + }, + "is_description_required": { + "type": "boolean", + "example": true, + "description": "Whether a file request submitter is required to provide\na description of the files they are submitting.\n\nWhen this setting is set to true, the Box UI will show\na description field on the file request form.\n\nThis defaults to setting of file request that was\ncopied to create this file request." + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "The date after which a file request will no longer accept new\nsubmissions.\n\nAfter this date, the `status` will automatically be set to\n`inactive`.", + "example": "2020-09-28T10:53:43-08:00" + }, "folder": { "allOf": [ { "$ref": "#/components/schemas/Folder--Mini" }, { - "description": "The folder that the lock applies to." + "description": "The folder that this file request is associated with.\n\nFiles submitted through the file request form will be\nuploaded to this folder." } - ] + ], + "nullable": false }, - "id": { + "url": { "type": "string", - "description": "The unique identifier for this folder lock.", - "example": "12345678" + "description": "The generated URL for this file request. This URL can be shared\nwith users to let them upload files to the associated folder.", + "example": "/f/19e57f40ace247278a8e3d336678c64a", + "readOnly": true }, - "type": { + "etag": { "type": "string", - "description": "The object type, always `folder_lock`.", - "example": "folder_lock" + "example": "1", + "nullable": true, + "description": "The HTTP `etag` of this file. This can be used in combination with\nthe `If-Match` header when updating a file request. By providing that\nheader, a change will only be performed on the file request if the `etag`\non the file request still matches the `etag` provided in the `If-Match`\nheader." }, "created_by": { "allOf": [ { - "$ref": "#/components/schemas/User--Base" + "$ref": "#/components/schemas/User--Mini" }, { - "description": "The user or group that created the lock." + "description": "The user who created this file request." } ] }, "created_at": { "type": "string", "format": "date-time", - "example": "2020-09-14T23:12:53Z", - "description": "When the folder lock object was created." + "nullable": false, + "description": "The date and time when the file request was created.", + "example": "2020-09-28T10:53:43-08:00" }, - "locked_operations": { - "type": "object", - "description": "The operations that have been locked. Currently the `move`\nand `delete` operations cannot be locked separately, and both need to be\nset to `true`.\n", - "required": [ - "move", - "delete" - ], - "properties": { - "move": { - "type": "boolean", - "description": "Whether moving the folder is restricted.", - "nullable": false, - "example": true + "updated_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" }, - "delete": { - "type": "boolean", - "description": "Whether deleting the folder is restricted.", - "nullable": false, - "example": true + { + "description": "The user who last modified this file request." + }, + { + "nullable": false } - } + ] }, - "lock_type": { + "updated_at": { "type": "string", - "description": "The lock type, always `freeze`.", - "example": "freeze" + "format": "date-time", + "nullable": false, + "description": "The date and time when the file request was last updated.", + "example": "2020-09-28T10:53:43-08:00" } } }, - "FolderLocks": { - "title": "Folder Locks", + "FilesUnderRetention": { + "title": "Files under retention", "type": "object", - "x-box-resource-id": "folder_locks", - "x-box-tag": "folder_locks", - "description": "A list of folder locks", - "properties": { - "entries": { - "type": "array", - "description": "A list of folder locks", - "items": { - "$ref": "#/components/schemas/FolderLock" + "x-box-resource-id": "files_under_retention", + "x-box-tag": "retention_policy_assignments", + "description": "A list of files under retention.", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true + } } }, - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": "1000", - "type": "string" - }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true + { + "properties": { + "entries": { + "type": "array", + "description": "A list of files", + "items": { + "$ref": "#/components/schemas/File--Mini" + } + } + } } - } + ] }, - "GenericSource": { - "title": "Generic source", + "FilesOnHold": { + "title": "Files on hold", "type": "object", - "x-box-resource-id": "generic_source", - "description": "A generic event source type.", - "additionalProperties": { - "allOf": [ - {}, - { - "description": "A definition of a generic\nevent source object. The set of\nparameters depends on the\nobject type. For example, a Box Shield\nevent source would have the following\nset of parameters:\n```yaml\n{\n\"barrier_id\": 123456,\n\"barrier_status\": \"ENABLED\",\n\"barrier_segments\": [\n {\n \"name\": \"8\",\n \"member_count\": 1\n },\n {\n \"name\": \"9\",\n \"member_count\": 1\n }\n ]\n} \n```\n" - } - ] - } - }, - "IntegrationMapping": { - "title": "Integration mapping Slack", - "type": "object", - "x-box-resource-id": "integration_mapping_slack", - "x-box-tag": "integration_mappings", - "x-box-variant": "standard", - "description": "A Slack specific representation of an integration\nmapping object.", + "x-box-resource-id": "files_on_hold", + "x-box-tag": "legal_hold_policy_assignments", + "description": "A list of files on hold for legal policy assignment", "allOf": [ { - "$ref": "#/components/schemas/IntegrationMapping--Base" - }, - { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", "properties": { - "integration_type": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", - "nullable": false, - "description": "Identifies the Box partner app,\nwith which the mapping is associated.\nCurrently only supports Slack.\n(part of the composite key together with `id`)", - "example": "slack", - "enum": [ - "slack" - ] + "nullable": true }, - "partner_item": { - "oneOf": [ - { - "$ref": "#/components/schemas/IntegrationMappingPartnerItemSlack" - } - ], - "nullable": false, - "example": { - "id": "C12378991223", - "type": "channel", - "slack_org_id": "E1234567" - }, - "description": "Mapped item object for Slack or Teams" + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true } } }, { - "type": "object", "properties": { - "box_item": { - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" - } - ], - "description": "The Box folder, to which the object from the\npartner app domain (referenced in `partner_item_id`) is mapped", - "nullable": false - }, - "is_manually_created": { - "type": "boolean", - "example": true, - "description": "Identifies whether the mapping has\nbeen manually set\n(as opposed to being automatically created)", - "nullable": false - }, - "options": { - "nullable": false, - "allOf": [ - { - "$ref": "#/components/schemas/IntegrationMappingSlackOptions" - } - ] - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/UserIntegrationMappings" - } - ], - "description": "An object representing the user who\ncreated the integration mapping", - "nullable": false - }, - "modified_by": { - "allOf": [ - { - "$ref": "#/components/schemas/UserIntegrationMappings" - } - ], - "description": "The user who\nlast modified the integration mapping", - "nullable": false - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "When the integration mapping object was created", - "example": "2012-12-12T10:53:43-08:00", - "nullable": false - }, - "modified_at": { - "type": "string", - "format": "date-time", - "description": "When the integration mapping object was last modified", - "example": "2012-12-12T10:53:43-08:00", - "nullable": false + "entries": { + "type": "array", + "description": "A list of files", + "items": { + "$ref": "#/components/schemas/File--Mini" + } } - }, - "required": [ - "box_item" - ] - } - ], - "required": [ - "partner_item" - ] - }, - "IntegrationMapping--Base": { - "title": "Integration mapping (Base)", - "type": "object", - "x-box-resource-id": "integration_mapping--base", - "x-box-tag": "integration_mappings", - "x-box-variant": "base", - "x-box-variants": [ - "base", - "standard", - "mini" - ], - "description": "A base representation of an\nintegration mapping object.", - "properties": { - "id": { - "type": "string", - "nullable": false, - "example": "12345", - "description": "A unique identifier of a folder mapping\n(part of a composite key together\nwith `integration_type`)" - }, - "type": { - "type": "string", - "example": "integration_mapping", - "enum": [ - "integration_mapping" - ], - "description": "Mapping type", - "nullable": false + } } - }, - "required": [ - "id", - "type" ] }, - "IntegrationMappings": { - "title": "Integration mappings Slack", + "FileVersionsOnHold": { + "title": "File versions on hold", "type": "object", - "x-box-resource-id": "integration_mappings_slack", - "x-box-tag": "integration_mappings", - "description": "A list of integration mapping\nobjects.", + "x-box-resource-id": "file_versions_on_hold", + "x-box-tag": "legal_hold_policy_assignments", + "description": "A list of files on hold for legal policy assignment", "allOf": [ { "type": "object", @@ -30390,6 +29582,12 @@ "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true } } }, @@ -30397,116 +29595,141 @@ "properties": { "entries": { "type": "array", - "description": "A list of integration mappings", + "description": "A list of file versions on hold.", "items": { - "$ref": "#/components/schemas/IntegrationMapping" + "$ref": "#/components/schemas/FileVersion" } } } } ] }, - "Group": { - "title": "Group", + "FileVersion": { + "title": "File version", "type": "object", - "x-box-resource-id": "group", + "x-box-resource-id": "file_version", "x-box-variant": "standard", - "description": "A standard representation of a group, as returned from any\ngroup API endpoints by default", + "description": "A standard representation of a file version", "allOf": [ { - "$ref": "#/components/schemas/Group--Mini" + "$ref": "#/components/schemas/FileVersion--Mini" }, { "properties": { + "name": { + "type": "string", + "description": "The name of the file version", + "example": "tigers.jpeg" + }, + "size": { + "type": "integer", + "format": "int64", + "description": "Size of the file version in bytes", + "example": 629644 + }, "created_at": { "type": "string", "format": "date-time", - "description": "When the group object was created", + "description": "When the file version object was created", "example": "2012-12-12T10:53:43-08:00" }, "modified_at": { "type": "string", "format": "date-time", - "description": "When the group object was last modified", + "description": "When the file version object was last updated", "example": "2012-12-12T10:53:43-08:00" - } - } - } - ] - }, - "Groups": { - "title": "Groups", - "type": "object", - "x-box-resource-id": "groups", - "x-box-tag": "groups", - "description": "A list of groups.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes pagination", - "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 5000, - "type": "integer", - "format": "int64" }, - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who last updated the file version" + } + ] }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 2000, - "type": "integer", - "format": "int64" + "trashed_at": { + "type": "string", + "description": "When the file version object was trashed.", + "format": "date-time", + "nullable": true, + "example": "2012-12-12T10:53:43-08:00" }, - "order": { - "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "type": "array", - "items": { - "type": "object", - "description": "The order in which a pagination is ordered", - "properties": { - "by": { - "description": "The field to order by", - "example": "type", - "type": "string" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending", - "example": "ASC", - "enum": [ - "ASC", - "DESC" - ] - } + "trashed_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who trashed the file version" } - } + ] + }, + "restored_at": { + "type": "string", + "description": "When the file version was restored from the trash.", + "format": "date-time", + "nullable": true, + "example": "2012-12-12T10:53:43-08:00" + }, + "restored_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who restored the file version from the trash." + } + ] + }, + "purged_at": { + "type": "string", + "description": "When the file version object will be permanently deleted.", + "format": "date-time", + "nullable": true, + "example": "2012-12-12T10:53:43-08:00" + }, + "uploader_display_name": { + "allOf": [ + { + "title": "Uploader display name", + "type": "string", + "example": "Ellis Wiggins", + "nullable": false, + "description": "The display name of the user that uploaded the file. In most cases this is the\nname of the user logged in at the time of the upload.\n\nIf the file was uploaded using a File Request form that requires the user to\nprovide an email address, this field is populated with that email address. If\nan email address was not required in the File Request form, this field is set\nto return a value of `File Request`.\n\nIn all other anonymous cases where no email was provided this field\nwill default to a value of `Someone`." + } + ] } } + } + ] + }, + "FileVersion--Mini": { + "title": "File version (Mini)", + "type": "object", + "x-box-resource-id": "file_version--mini", + "x-box-variant": "mini", + "description": "A mini representation of a file version, used when\nnested within another resource.", + "allOf": [ + { + "$ref": "#/components/schemas/FileVersion--Base" }, { "properties": { - "entries": { - "type": "array", - "description": "A list of groups", - "items": { - "$ref": "#/components/schemas/Group--Full" - } + "sha1": { + "type": "string", + "description": "The SHA1 hash of this version of the file.", + "example": "134b65991ed521fcfe4724b7d814ab8ded5185dc" } } } ] }, - "Group--Base": { - "title": "Group (Base)", + "FileVersion--Base": { + "title": "File version (Base)", "type": "object", - "x-box-resource-id": "group--base", - "x-box-tag": "groups", + "x-box-resource-id": "file_version--base", "x-box-variants": [ "base", "mini", @@ -30514,7 +29737,7 @@ "full" ], "x-box-variant": "base", - "description": "A base representation of a group.", + "description": "The bare basic representation of a file version, the minimal\namount of fields returned when using the `fields` query\nparameter.", "required": [ "id", "type" @@ -30522,235 +29745,193 @@ "properties": { "id": { "type": "string", - "description": "The unique identifier for this object", - "example": "11446498" + "nullable": false, + "description": "The unique identifier that represent a file version.", + "example": "12345" }, "type": { "type": "string", - "description": "`group`", - "example": "group", + "description": "`file_version`", + "example": "file_version", "enum": [ - "group" - ] + "file_version" + ], + "nullable": false } } }, - "Group--Full": { - "title": "Group (Full)", + "FileVersion--Full": { + "title": "File version (Full)", "type": "object", - "x-box-resource-id": "group--full", + "x-box-resource-id": "file_version--full", "x-box-variant": "full", - "description": "Groups contain a set of users, and can be used in place of\nusers in some operations, such as collaborations.", + "description": "A full representation of a file version, as can be returned from any\nfile version API endpoints by default", "allOf": [ { - "$ref": "#/components/schemas/Group" + "$ref": "#/components/schemas/FileVersion" }, { "properties": { - "provenance": { - "type": "string", - "description": "Keeps track of which external source this group is\ncoming from (e.g. \"Active Directory\", \"Google Groups\",\n\"Facebook Groups\"). Setting this will\nalso prevent Box users from editing the group name\nand its members directly via the Box web application.\nThis is desirable for one-way syncing of groups.", - "maxLength": 255, - "example": "Active Directory" - }, - "external_sync_identifier": { - "type": "string", - "description": "An arbitrary identifier that can be used by\nexternal group sync tools to link this Box Group to\nan external group. Example values of this field\ncould be an Active Directory Object ID or a Google\nGroup ID. We recommend you use of this field in\norder to avoid issues when group names are updated in\neither Box or external systems.", - "example": "AD:123456" - }, - "description": { - "type": "string", - "description": "Human readable description of the group.", - "maxLength": 255, - "example": "Support Group - as imported from Active Directory" - }, - "invitability_level": { - "type": "string", - "example": "admins_only", - "description": "Specifies who can invite the group to collaborate\non items.\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.", - "enum": [ - "admins_only", - "admins_and_members", - "all_managed_users" - ] - }, - "member_viewability_level": { + "version_number": { "type": "string", - "example": "admins_only", - "description": "Specifies who can view the members of the group\n(Get Memberships for 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", - "enum": [ - "admins_only", - "admins_and_members", - "all_managed_users" - ] - }, - "permissions": { - "allOf": [ - { - "type": "object", - "description": "The permissions that the authenticated user has for a group.", - "properties": { - "can_invite_as_collaborator": { - "type": "boolean", - "description": "Specifies if the user can invite the group to collaborate on any items.", - "example": true - } - } - }, - { - "description": "Describes the permissions that the current user has\nfor this group." - } - ] + "example": "1", + "description": "The version number of this file version" } } } ] }, - "Group--Mini": { - "title": "Group (Mini)", + "FileVersions": { + "title": "File versions", "type": "object", - "x-box-resource-id": "group--mini", - "x-box-variant": "mini", - "description": "Mini representation of a group, including id and name of\ngroup.", + "x-box-resource-id": "file_versions", + "x-box-tag": "file_versions", + "description": "A list of file versions", "allOf": [ { - "$ref": "#/components/schemas/Group--Base" + "type": "object", + "description": "The part of an API response that describes pagination", + "properties": { + "total_count": { + "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 5000, + "type": "integer", + "format": "int64" + }, + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 2000, + "type": "integer", + "format": "int64" + }, + "order": { + "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "type": "array", + "items": { + "type": "object", + "description": "The order in which a pagination is ordered", + "properties": { + "by": { + "description": "The field to order by", + "example": "type", + "type": "string" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending", + "example": "ASC", + "enum": [ + "ASC", + "DESC" + ] + } + } + } + } + } }, { "properties": { - "name": { - "type": "string", - "description": "The name of the group", - "example": "Support" - }, - "group_type": { - "type": "string", - "description": "The type of the group.", - "example": "managed_group", - "enum": [ - "managed_group", - "all_users_group" - ] + "entries": { + "type": "array", + "description": "A list of file versions", + "items": { + "$ref": "#/components/schemas/FileVersion--Full" + } } } } ] }, - "GroupMembership": { - "title": "Group membership", + "FileVersionLegalHold": { + "title": "File version legal hold", "type": "object", - "x-box-resource-id": "group_membership", - "x-box-tag": "memberships", - "description": "Membership is used to signify that a user is part of a\ngroup.", + "x-box-resource-id": "file_version_legal_hold", + "x-box-tag": "file_version_legal_holds", + "description": "File version legal hold is an entity representing all\nholds on a File Version.", "properties": { "id": { "type": "string", - "description": "The unique identifier for this group membership", + "description": "The unique identifier for this file version legal hold", "example": "11446498" }, "type": { "type": "string", - "description": "`group_membership`", - "example": "group_membership", + "description": "`file_version_legal_hold`", + "example": "file_version_legal_hold", "enum": [ - "group_membership" + "file_version_legal_hold" ] }, - "user": { + "file_version": { "allOf": [ { - "$ref": "#/components/schemas/User--Mini" + "$ref": "#/components/schemas/FileVersion--Mini" }, { - "description": "The user that the membership applies to" + "description": "The file version that is held" } ] }, - "group": { + "file": { "allOf": [ { - "$ref": "#/components/schemas/Group--Mini" + "$ref": "#/components/schemas/File--Mini" }, { - "description": "The group that the membership applies to" + "description": "The file for the file version held.\nNote that there is no guarantee that the current\nversion of this file is held." } ] }, - "role": { - "type": "string", - "example": "member", - "description": "The role of the user in the group.", - "enum": [ - "member", - "admin" - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "The time this membership was created.", - "example": "2012-12-12T10:53:43-08:00" + "legal_hold_policy_assignments": { + "description": "List of assignments contributing to this Hold.", + "type": "array", + "items": { + "$ref": "#/components/schemas/LegalHoldPolicyAssignment" + } }, - "modified_at": { + "deleted_at": { "type": "string", "format": "date-time", - "description": "The time this membership was last modified.", + "description": "Time that this File-Version-Legal-Hold was\ndeleted.", "example": "2012-12-12T10:53:43-08:00" } } }, - "GroupMemberships": { - "title": "Group memberships", + "FileVersionLegalHolds": { + "title": "File version legal holds", "type": "object", - "x-box-resource-id": "group_memberships", - "x-box-tag": "memberships", - "description": "A list of group memberships.", + "x-box-resource-id": "file_version_legal_holds", + "x-box-tag": "file_version_legal_holds", + "description": "A list of file versions with legal holds.", "allOf": [ { "type": "object", - "description": "The part of an API response that describes pagination", + "description": "The part of an API response that describes marker\nbased pagination", "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 5000, - "type": "integer", - "format": "int64" - }, "limit": { "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", "example": 1000, "type": "integer", "format": "int64" }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 2000, - "type": "integer", - "format": "int64" + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true }, - "order": { - "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "type": "array", - "items": { - "type": "object", - "description": "The order in which a pagination is ordered", - "properties": { - "by": { - "description": "The field to order by", - "example": "type", - "type": "string" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending", - "example": "ASC", - "enum": [ - "ASC", - "DESC" - ] - } - } - } + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true } } }, @@ -30758,95 +29939,85 @@ "properties": { "entries": { "type": "array", - "description": "A list of group memberships", + "description": "A list of file version legal holds", "items": { - "$ref": "#/components/schemas/GroupMembership" + "$ref": "#/components/schemas/FileVersionLegalHold" } } } } ] }, - "Invite": { - "title": "Invite", + "FileVersionRetention": { + "title": "File version retention", "type": "object", - "x-box-resource-id": "invite", - "x-box-tag": "invites", - "description": "An invite for a user to an enterprise.", - "required": [ - "id", - "type" - ], + "x-box-resource-id": "file_version_retention", + "x-box-tag": "file_version_retentions", + "description": "A retention policy blocks permanent deletion of content\nfor a specified amount of time. Admins can apply policies to\nspecified folders, or an entire enterprise. A file version retention\nis a record for a retained file version. To use this feature,\nyou must have the manage retention policies scope enabled for your\nAPI key in your application management console.\n\n**Note**:\nFile retention API is now **deprecated**. \nTo get information about files and file versions under retention,\nsee [files under retention](e://get-retention-policy-assignments-id-files-under-retention) or [file versions under retention](e://get-retention-policy-assignments-id-file-versions-under-retention) endpoints.", "properties": { "id": { "type": "string", - "description": "The unique identifier for this invite", + "description": "The unique identifier for this file version retention.", "example": "11446498" }, "type": { "type": "string", - "description": "`invite`", - "example": "invite", + "description": "`file_version_retention`", + "example": "file_version_retention", "enum": [ - "invite" + "file_version_retention" ] }, - "invited_to": { - "title": "Enterprise", - "type": "object", - "description": "A representation of a Box enterprise", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this enterprise.", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`enterprise`", - "example": "enterprise", - "enum": [ - "enterprise" - ] + "file_version": { + "allOf": [ + { + "$ref": "#/components/schemas/FileVersion--Mini" }, - "name": { - "description": "The name of the enterprise", - "example": "Acme Inc.", - "type": "string" + { + "description": "The file version this file version retention was\napplied to" } - } - }, - "actionable_by": { - "$ref": "#/components/schemas/User--Mini" - }, - "invited_by": { - "$ref": "#/components/schemas/User--Mini" + ] }, - "status": { - "description": "The status of the invite", - "type": "string", - "example": "pending" + "file": { + "allOf": [ + { + "$ref": "#/components/schemas/File--Mini" + }, + { + "description": "The file this file version retention was applied to" + } + ] }, - "created_at": { + "applied_at": { "type": "string", "format": "date-time", - "description": "When the invite was created", + "description": "When this file version retention object was\ncreated", "example": "2012-12-12T10:53:43-08:00" }, - "modified_at": { + "disposition_at": { "type": "string", "format": "date-time", - "description": "When the invite was modified.", + "description": "When the retention expires on this file\nversion retention", "example": "2012-12-12T10:53:43-08:00" + }, + "winning_retention_policy": { + "allOf": [ + { + "$ref": "#/components/schemas/RetentionPolicy--Mini" + }, + { + "description": "The winning retention policy applied to this file\nversion retention. A file version can have multiple\nretention policies applied." + } + ] } } }, - "Items": { - "title": "Items", + "FileVersionRetentions": { + "title": "File version retentions", "type": "object", - "x-box-resource-id": "items", - "x-box-tag": "folders", - "description": "A list of files, folders, and web links in\ntheir mini representation.", + "x-box-resource-id": "file_version_retentions", + "x-box-tag": "file_version_retentions", + "description": "A list of file version retentions.\n\n**Note**:\nFile retention API is now **deprecated**. \nTo get information about files and file versions under retention,\nsee [files under retention](e://get-retention-policy-assignments-id-files-under-retention) or [file versions under retention](e://get-retention-policy-assignments-id-file-versions-under-retention) endpoints.", "allOf": [ { "type": "object", @@ -30873,140 +30044,100 @@ } }, { - "type": "object", - "description": "The part of an API response that describes pagination", "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 5000, - "type": "integer", - "format": "int64" - }, - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 2000, - "type": "integer", - "format": "int64" - }, - "order": { - "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "entries": { "type": "array", + "description": "A list of file version retentions", "items": { - "type": "object", - "description": "The order in which a pagination is ordered", - "properties": { - "by": { - "description": "The field to order by", - "example": "type", - "type": "string" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending", - "example": "ASC", - "enum": [ - "ASC", - "DESC" - ] - } - } + "$ref": "#/components/schemas/FileVersionRetention" } } } + } + ] + }, + "Folder": { + "title": "Folder", + "type": "object", + "x-box-resource-id": "folder", + "x-box-variant": "standard", + "description": "A standard representation of a folder, as returned from any\nfolder API endpoints by default", + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" }, { "properties": { - "entries": { - "description": "The items in this collection.", - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/File--Full" - }, - { - "$ref": "#/components/schemas/Folder--Mini" - }, - { - "$ref": "#/components/schemas/WebLink" - } - ] - } - } - } - } - ] - }, - "LegalHoldPolicy": { - "title": "Legal hold policy", - "type": "object", - "x-box-resource-id": "legal_hold_policy", - "x-box-variant": "standard", - "description": "Legal Hold Policy information describes the basic\ncharacteristics of the Policy, such as name, description,\nand filter dates.", - "allOf": [ - { - "$ref": "#/components/schemas/LegalHoldPolicy--Mini" - }, - { - "properties": { - "policy_name": { - "type": "string", - "example": "Policy 4", - "description": "Name of the legal hold policy.", - "maxLength": 254 - }, - "description": { + "created_at": { "type": "string", - "description": "Description of the legal hold policy. Optional\nproperty with a 500 character limit.", - "maxLength": 500, - "example": "Postman created policy" + "format": "date-time", + "nullable": true, + "description": "The date and time when the folder was created. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", + "example": "2012-12-12T10:53:43-08:00" }, - "status": { + "modified_at": { "type": "string", - "example": "active", - "enum": [ - "active", - "applying", - "releasing", - "released" - ], - "description": "* 'active' - the policy is not in a transition state\n* 'applying' - that the policy is in the process of\n being applied\n* 'releasing' - that the process is in the process\n of being released\n* 'released' - the policy is no longer active" + "format": "date-time", + "description": "The date and time when the folder was last updated. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", + "example": "2012-12-12T10:53:43-08:00", + "nullable": true }, - "assignment_counts": { - "type": "object", - "description": "Counts of assignments within this a legal hold policy by item type", - "properties": { - "user": { - "type": "integer", - "format": "int64", - "description": "The number of users this policy is applied to", - "example": 1 + "description": { + "allOf": [ + { + "type": "string", + "description": "The optional description of this folder", + "maxLength": 256, + "example": "Legal contracts for the new ACME deal", + "nullable": false }, - "folder": { - "type": "integer", - "format": "int64", - "description": "The number of folders this policy is applied to", - "example": 2 + { + "nullable": false + } + ] + }, + "size": { + "type": "integer", + "format": "int64", + "description": "The folder size in bytes.\n\nBe careful parsing this integer as its\nvalue can get very large.", + "example": 629644, + "nullable": false + }, + "path_collection": { + "allOf": [ + { + "title": "Path collection", + "description": "A list of parent folders for an item.", + "type": "object", + "required": [ + "total_count", + "entries" + ], + "properties": { + "total_count": { + "description": "The number of folders in this list.", + "example": 1, + "type": "integer", + "format": "int64", + "nullable": false + }, + "entries": { + "type": "array", + "description": "The parent folders for this item", + "nullable": false, + "items": { + "$ref": "#/components/schemas/Folder--Mini" + } + } + } }, - "file": { - "type": "integer", - "format": "int64", - "description": "The number of files this policy is applied to", - "example": 3 + { + "description": "The tree of folders that this folder is contained in,\nstarting at the root." }, - "file_version": { - "type": "integer", - "format": "int64", - "description": "The number of file versions this policy is applied to", - "example": 4 + { + "nullable": false } - } + ] }, "created_by": { "allOf": [ @@ -31014,938 +30145,924 @@ "$ref": "#/components/schemas/User--Mini" }, { - "description": "The user who created the legal hold policy object" + "description": "The user who created this folder" + }, + { + "nullable": false } ] }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "When the legal hold policy object was created", - "example": "2012-12-12T10:53:43-08:00" + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who last modified this folder." + }, + { + "nullable": false + } + ] }, - "modified_at": { + "trashed_at": { "type": "string", "format": "date-time", - "description": "When the legal hold policy object was modified.\nDoes not update when assignments are added or removed.", - "example": "2012-12-12T10:53:43-08:00" + "description": "The time at which this folder was put in the trash.", + "example": "2012-12-12T10:53:43-08:00", + "nullable": true }, - "deleted_at": { + "purged_at": { "type": "string", "format": "date-time", - "description": "When the policy release request was sent. (Because\nit can take time for a policy to fully delete, this\nisn't quite the same time that the policy is fully deleted).\n\nIf `null`, the policy was not deleted.", - "example": "2012-12-12T10:53:43-08:00" + "description": "The time at which this folder is expected to be purged\nfrom the trash.", + "example": "2012-12-12T10:53:43-08:00", + "nullable": true }, - "filter_started_at": { + "content_created_at": { "type": "string", "format": "date-time", - "description": "User-specified, optional date filter applies to\nCustodian assignments only", + "nullable": true, + "description": "The date and time at which this folder was originally\ncreated.", "example": "2012-12-12T10:53:43-08:00" }, - "filter_ended_at": { + "content_modified_at": { "type": "string", "format": "date-time", - "description": "User-specified, optional date filter applies to\nCustodian assignments only", + "nullable": true, + "description": "The date and time at which this folder was last updated.", "example": "2012-12-12T10:53:43-08:00" }, - "release_notes": { - "type": "string", - "example": "Example", - "description": "Optional notes about why the policy was created.", - "maxLength": 500 - } - } - } - ] - }, - "LegalHoldPolicies": { - "title": "Legal hold policies", - "type": "object", - "x-box-resource-id": "legal_hold_policies", - "x-box-tag": "legal_hold_policies", - "description": "A list of legal hold policies.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true + "owned_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who owns this folder." + }, + { + "nullable": false + } + ] }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true - } - } - }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of legal hold policies", - "items": { - "$ref": "#/components/schemas/LegalHoldPolicy" - } - } - } - } - ] - }, - "LegalHoldPolicy--Mini": { - "title": "Legal hold policy (Mini)", - "type": "object", - "x-box-resource-id": "legal_hold_policy--mini", - "x-box-tag": "legal_hold_policies", - "x-box-variants": [ - "mini", - "standard" - ], - "x-box-variant": "mini", - "description": "A mini legal hold policy", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this legal hold policy", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`legal_hold_policy`", - "example": "legal_hold_policy", - "enum": [ - "legal_hold_policy" - ] - } - } - }, - "LegalHoldPolicyAssignment": { - "title": "Legal hold policy assignment", - "type": "object", - "x-box-resource-id": "legal_hold_policy_assignment", - "x-box-tag": "legal_hold_policy_assignments", - "description": "Legal Hold Assignments are used to assign Legal Hold\nPolicies to Users, Folders, Files, or File Versions.\n\nCreating a Legal Hold Assignment puts a hold\non the File-Versions that belong to the Assignment's\n'apply-to' entity.", - "allOf": [ - { - "$ref": "#/components/schemas/LegalHoldPolicyAssignment--Base" - }, - { - "properties": { - "legal_hold_policy": { + "shared_link": { "allOf": [ { - "$ref": "#/components/schemas/LegalHoldPolicy--Mini" + "title": "Shared link", + "description": "Shared links provide direct, read-only access to files or folder on Box.\n\nShared links with open access level allow anyone with the URL\nto access the item, while shared links with company or collaborators access\nlevels can only be accessed by appropriately authenticated Box users.", + "type": "object", + "required": [ + "url", + "accessed", + "effective_access", + "effective_permission", + "is_password_enabled", + "download_count", + "preview_count" + ], + "properties": { + "url": { + "type": "string", + "format": "url", + "description": "The URL that can be used to access the item on Box.\n\nThis URL will display the item in Box's preview UI where the file\ncan be downloaded if allowed.\n\nThis URL will continue to work even when a custom `vanity_url`\nhas been set for this shared link.", + "example": "https://www.box.com/s/vspke7y05sb214wjokpk", + "nullable": false + }, + "download_url": { + "type": "string", + "format": "url", + "x-box-premium-feature": true, + "description": "A URL that can be used to download the file. This URL can be used in\na browser to download the file. This URL includes the file\nextension so that the file will be saved with the right file type.\n\nThis property will be `null` for folders.", + "example": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", + "nullable": true + }, + "vanity_url": { + "type": "string", + "format": "url", + "description": "The \"Custom URL\" that can also be used to preview the item on Box. Custom\nURLs can only be created or modified in the Box Web application.", + "example": "https://acme.app.box.com/v/my_url/", + "nullable": true + }, + "vanity_name": { + "type": "string", + "description": "The custom name of a shared link, as used in the `vanity_url` field.", + "example": "my_url", + "nullable": true + }, + "access": { + "type": "string", + "description": "The access level for this shared link.\n\n* `open` - provides access to this item to anyone with this link\n* `company` - only provides access to this item to people the same company\n* `collaborators` - only provides access to this item to people who are\n collaborators on this item\n\nIf this field is omitted when creating the shared link, the access level\nwill be set to the default access level specified by the enterprise admin.", + "enum": [ + "open", + "company", + "collaborators" + ], + "example": "open", + "nullable": false + }, + "effective_access": { + "type": "string", + "description": "The effective access level for the shared link. This can be a more\nrestrictive access level than the value in the `access` field when the\nenterprise settings restrict the allowed access levels.", + "enum": [ + "open", + "company", + "collaborators" + ], + "example": "company", + "nullable": false + }, + "effective_permission": { + "type": "string", + "description": "The effective permissions for this shared link.\nThese result in the more restrictive combination of\nthe share link permissions and the item permissions set\nby the administrator, the owner, and any ancestor item\nsuch as a folder.", + "enum": [ + "can_edit", + "can_download", + "can_preview", + "no_access" + ], + "example": "can_download", + "nullable": false + }, + "unshared_at": { + "type": "string", + "format": "date-time", + "description": "The date and time when this link will be unshared. This field can only be\nset by users with paid accounts.", + "example": "2018-04-13T13:53:23-07:00", + "nullable": true + }, + "is_password_enabled": { + "type": "boolean", + "description": "Defines if the shared link requires a password to access the item.", + "example": true, + "nullable": false + }, + "permissions": { + "type": "object", + "description": "Defines if this link allows a user to preview, edit, and download an item.\nThese permissions refer to the shared link only and\ndo not supersede permissions applied to the item itself.", + "required": [ + "can_download", + "can_preview", + "can_edit" + ], + "properties": { + "can_download": { + "type": "boolean", + "example": true, + "nullable": false, + "description": "Defines if the shared link allows for the item to be downloaded. For\nshared links on folders, this also applies to any items in the folder.\n\nThis value can be set to `true` when the effective access level is\nset to `open` or `company`, not `collaborators`." + }, + "can_preview": { + "type": "boolean", + "example": true, + "nullable": false, + "description": "Defines if the shared link allows for the item to be previewed.\n\nThis value is always `true`. For shared links on folders this also\napplies to any items in the folder." + }, + "can_edit": { + "type": "boolean", + "example": false, + "nullable": false, + "description": "Defines if the shared link allows for the item to be edited.\n\nThis value can only be `true` if `can_download` is also `true` and if\nthe item has a type of `file`." + } + } + }, + "download_count": { + "type": "integer", + "example": 3, + "description": "The number of times this item has been downloaded.", + "nullable": false + }, + "preview_count": { + "type": "integer", + "example": 3, + "description": "The number of times this item has been previewed.", + "nullable": false + } + } }, { - "description": "The policy that the legal hold policy assignment\nis part of" + "description": "The shared link for this folder. This will be\n`null` if no shared link has been created for this\nfolder." } - ] + ], + "nullable": true }, - "assigned_to": { + "folder_upload_email": { + "type": "object", + "description": "The `folder_upload_email` parameter is not `null` if one of the following options is **true**:\n\n * The **Allow uploads to this folder via email** and the **Only allow email uploads from collaborators in this folder** are [enabled for a folder in the Admin Console](https://support.box.com/hc/en-us/articles/360043697534-Upload-to-Box-Through-Email), and the user has at least **Upload** permissions granted.\n\n * The **Allow uploads to this folder via email** setting is enabled for a folder in the Admin Console, and the **Only allow email uploads from collaborators in this folder** setting is deactivated (unchecked).\n\nIf the conditions are not met, the parameter will have the following value: `folder_upload_email: null`", + "nullable": true, + "properties": { + "access": { + "type": "string", + "example": "open", + "nullable": false, + "enum": [ + "open", + "collaborators" + ], + "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." + }, + "email": { + "description": "The optional upload email address for this folder.", + "type": "string", + "format": "email", + "example": "upload.Contracts.asd7asd@u.box.com", + "nullable": false + } + } + }, + "parent": { "allOf": [ { - "oneOf": [ - { - "$ref": "#/components/schemas/File" - }, - { - "$ref": "#/components/schemas/Folder" - }, - { - "$ref": "#/components/schemas/WebLink" - } - ] + "$ref": "#/components/schemas/Folder--Mini" }, { - "description": "The item that the the legal hold policy\nis assigned to. Includes type and ID." + "description": "The optional folder that this folder is located within.\n\nThis value may be `null` for some folders such as the\nroot folder or the trash folder." } - ] + ], + "nullable": true }, - "assigned_by": { + "item_status": { + "type": "string", + "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", + "enum": [ + "active", + "trashed", + "deleted" + ], + "nullable": false, + "example": "active" + }, + "item_collection": { "allOf": [ { - "$ref": "#/components/schemas/User--Mini" + "$ref": "#/components/schemas/Items" }, { - "description": "The user who created the legal hold policy\nassignment" + "description": "A page of the items that are in the folder.\n\nThis field can only be requested when querying a folder's\ninformation, not when querying a folder's items." + }, + { + "nullable": false } ] - }, - "assigned_at": { - "type": "string", - "format": "date-time", - "description": "When the legal hold policy assignment object was\ncreated", - "example": "2012-12-12T10:53:43-08:00" - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "description": "When the assignment release request was sent.\n(Because it can take time for an assignment to fully\ndelete, this isn't quite the same time that the\nassignment is fully deleted). If null, Assignment\nwas not deleted.", - "example": "2012-12-12T10:53:43-08:00" } } } ] }, - "LegalHoldPolicyAssignment--Base": { - "title": "Legal hold policy assignment (Base)", + "Folder--Full": { + "title": "Folder (Full)", "type": "object", - "x-box-resource-id": "legal_hold_policy_assignment--base", - "x-box-tag": "legal_hold_policy_assignments", - "x-box-variants": [ - "base", - "standard" - ], - "x-box-variant": "base", - "description": "Legal Hold Assignments are used to assign Legal Hold\nPolicies to Users, Folders, Files, or File Versions.\n\nCreating a Legal Hold Assignment puts a hold\non the File-Versions that belong to the Assignment's\n'apply-to' entity.", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this legal hold assignment", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`legal_hold_policy_assignment`", - "example": "legal_hold_policy_assignment", - "enum": [ - "legal_hold_policy_assignment" - ] - } - } - }, - "LegalHoldPolicyAssignments": { - "title": "Legal hold policy assignments", - "type": "object", - "x-box-resource-id": "legal_hold_policy_assignments", - "x-box-tag": "legal_hold_policy_assignments", - "description": "A list of legal hold policies assignments.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true - }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true - } - } - }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of legal hold\npolicy assignments", - "items": { - "$ref": "#/components/schemas/LegalHoldPolicyAssignment" - } - } - } - } - ] - }, - "Metadata": { - "title": "Metadata instance", - "type": "object", - "x-box-resource-id": "metadata", - "x-box-tag": "file_metadata", - "x-box-variant": "standard", - "description": "An instance of a metadata template, which has been applied to a file or\nfolder.", - "allOf": [ - { - "$ref": "#/components/schemas/Metadata--Base" - } - ] - }, - "Metadata--Full": { - "title": "Metadata instance (Full)", - "type": "object", - "x-box-resource-id": "metadata--full", + "x-box-resource-id": "folder--full", "x-box-variant": "full", - "description": "An instance of a metadata template, which has been applied to a file or\nfolder.", + "description": "A full representation of a folder, as can be returned from any\nfolder API endpoints by default", "allOf": [ { - "$ref": "#/components/schemas/Metadata" + "$ref": "#/components/schemas/Folder" }, { "properties": { - "$canEdit": { + "sync_state": { + "allOf": [ + { + "type": "string", + "example": "synced", + "nullable": false, + "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.", + "enum": [ + "synced", + "not_synced", + "partially_synced" + ] + } + ] + }, + "has_collaborations": { "type": "boolean", "example": true, - "description": "Whether the user can edit this metadata instance." + "nullable": false, + "description": "Specifies if this folder has any other collaborators." }, - "$id": { - "type": "string", - "format": "uuid", - "example": "01234500-12f1-1234-aa12-b1d234cb567e", - "maxLength": 36, - "description": "A UUID to identify the metadata instance." + "permissions": { + "allOf": [ + { + "type": "object", + "description": "The permissions that the authenticated user has for a folder.", + "required": [ + "can_upload" + ], + "allOf": [ + { + "type": "object", + "description": "The permissions that the authenticated user has for an item.", + "required": [ + "can_delete", + "can_download", + "can_invite_collaborator", + "can_rename", + "can_set_share_access", + "can_share" + ], + "properties": { + "can_delete": { + "type": "boolean", + "description": "Specifies if the current user can delete this item.", + "example": true, + "nullable": false + }, + "can_download": { + "type": "boolean", + "description": "Specifies if the current user can download this item.", + "example": true, + "nullable": false + }, + "can_invite_collaborator": { + "type": "boolean", + "description": "Specifies if the current user can invite new\nusers to collaborate on this item, and if the user can\nupdate the role of a user already collaborated on this\nitem.", + "example": true, + "nullable": false + }, + "can_rename": { + "type": "boolean", + "description": "Specifies if the user can rename this item.", + "example": true, + "nullable": false + }, + "can_set_share_access": { + "type": "boolean", + "description": "Specifies if the user can change the access level of an\nexisting shared link on this item.", + "example": true, + "nullable": false + }, + "can_share": { + "type": "boolean", + "description": "Specifies if the user can create a shared link for this item.", + "example": true, + "nullable": false + } + } + }, + { + "properties": { + "can_upload": { + "type": "boolean", + "description": "Specifies if the user can upload into this folder.", + "example": true, + "nullable": false + } + } + } + ] + }, + { + "description": "Describes the permissions that the current user has\nfor this folder" + }, + { + "nullable": false + } + ] }, - "$type": { - "type": "string", - "example": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", - "description": "A unique identifier for the \"type\" of this instance. This is an\ninternal system property and should not be used by a client\napplication." + "tags": { + "allOf": [ + { + "type": "array", + "example": [ + "approved" + ], + "items": { + "type": "string" + }, + "minItems": 1, + "maxItems": 100, + "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." + }, + { + "nullable": false + } + ] }, - "$typeVersion": { - "type": "integer", - "example": 2, - "description": "The last-known version of the template of the object. This is an\ninternal system property and should not be used by a client\napplication." - } - } - }, - { - "additionalProperties": { - "allOf": [ - {}, - { - "example": "Aaron Levie" - }, - { - "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." - } - ], - "x-box-example-key": "name" - } - } - ] - }, - "Metadata--Base": { - "title": "Metadata instance (Base)", - "type": "object", - "x-box-resource-id": "metadata--base", - "x-box-tag": "file_metadata", - "x-box-variants": [ - "base", - "standard", - "full" - ], - "x-box-variant": "base", - "description": "The base representation of a metadata instance.", - "properties": { - "$parent": { - "type": "string", - "example": "folder_59449484661,", - "description": "The identifier of the item that this metadata instance\nhas been attached to. This combines the `type` and the `id`\nof the parent in the form `{type}_{id}`." - }, - "$template": { - "type": "string", - "example": "marketingCollateral", - "description": "The name of the template" - }, - "$scope": { - "type": "string", - "example": "enterprise_27335", - "description": "An ID for the scope in which this template\nhas been applied. This will be `enterprise_{enterprise_id}` for templates\ndefined for use in this enterprise, and `global` for general templates\nthat are available to all enterprises using Box." - }, - "$version": { - "type": "integer", - "example": 1, - "description": "The version of the metadata instance. This version starts at 0 and\nincreases every time a user-defined property is modified." - } - } - }, - "Metadatas": { - "title": "Metadata instances", - "type": "object", - "x-box-resource-id": "metadatas", - "x-box-tag": "file_metadata", - "description": "A list of metadata instances that have been applied to a file or folder.", - "properties": { - "entries": { - "type": "array", - "description": "A list of metadata instances, as applied to this file or folder.", - "items": { - "$ref": "#/components/schemas/Metadata" - } - }, - "limit": { - "description": "The limit that was used for this page of results.", - "example": 100, - "type": "integer" - } - } - }, - "MetadataCascadePolicy": { - "title": "Metadata cascade policy", - "type": "object", - "x-box-resource-id": "metadata_cascade_policy", - "x-box-tag": "metadata_cascade_policies", - "description": "A metadata cascade policy automatically applies a metadata template instance\nto all the files and folders within the targeted folder.", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string", - "example": "6fd4ff89-8fc1-42cf-8b29-1890dedd26d7", - "description": "The ID of the metadata cascade policy object" - }, - "type": { - "type": "string", - "description": "`metadata_cascade_policy`", - "example": "metadata_cascade_policy", - "enum": [ - "metadata_cascade_policy" - ] - }, - "owner_enterprise": { - "type": "object", - "description": "The enterprise that owns this policy.", - "properties": { - "type": { - "type": "string", - "example": "enterprise", - "description": "`enterprise`", - "enum": [ - "enterprise" + "can_non_owners_invite": { + "allOf": [ + { + "type": "boolean", + "example": true, + "description": "Specifies if users who are not the owner\nof the folder can invite new collaborators to the folder." + }, + { + "nullable": false + } ] }, - "id": { - "type": "string", - "example": "690678", - "description": "The ID of the enterprise that owns the policy." - } - } - }, - "parent": { - "type": "object", - "description": "Represent the folder the policy is applied to.", - "properties": { - "type": { - "type": "string", - "example": "folder", - "description": "`folder`", - "enum": [ - "folder" + "is_externally_owned": { + "type": "boolean", + "example": true, + "nullable": false, + "description": "Specifies if this folder is owned by a user outside of the\nauthenticated enterprise." + }, + "metadata": { + "allOf": [ + { + "title": "Item metadata instances", + "type": "object", + "description": "A list of metadata instances, nested within key-value pairs of their `scope`\nand `templateKey`.\n\nTo access the metadata for a file or folder, first use the\nmetadata endpoints to determine the metadata templates available to your\nenterprise.\n\nThen use the `GET /files/:id` or `GET /folder/:id`\nendpoint with the `fields` query parameter to get\nthe metadata by ID.\n\nTo request a metadata instance for a particular `scope` and `templateKey`\nuse the following format for the `fields` parameter:\n`metadata..`\n\nFor example, `?fields=metadata.enterprise_27335.marketingCollateral`.", + "example": { + "enterprise_27335": { + "marketingCollateral": { + "$canEdit": true, + "$id": "01234500-12f1-1234-aa12-b1d234cb567e", + "$parent": "folder_59449484661", + "$scope": "enterprise_27335", + "$template": "marketingCollateral", + "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", + "$typeVersion": 2, + "$version": 1 + } + } + }, + "additionalProperties": { + "type": "object", + "description": "A list of metadata instances, nested within key-value pairs of their `scope`\nand `templateKey`.", + "example": { + "marketingCollateral": { + "$canEdit": true, + "$id": "01234500-12f1-1234-aa12-b1d234cb567e", + "$parent": "folder_59449484661", + "$scope": "enterprise_27335", + "$template": "marketingCollateral", + "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", + "$typeVersion": 2, + "$version": 1 + } + }, + "additionalProperties": { + "$ref": "#/components/schemas/Metadata--Full" + } + } + }, + { + "description": "An object containing the metadata instances that have been\nattached to this folder.\n\nEach metadata instance is uniquely identified by its `scope` and\n`templateKey`. There can only be one instance of any metadata\ntemplate attached to each folder. Each metadata instance is nested\nwithin an object with the `templateKey` as the key, which again\nitself is nested in an object with the `scope` as the key." + } ] }, - "id": { - "type": "string", - "example": "1234567", - "description": "The ID of the folder the policy is applied to." - } - } - }, - "scope": { - "type": "string", - "description": "The scope of the metadata cascade policy can either be `global` or\n`enterprise_*`. The `global` scope is used for policies that are\navailable to any Box enterprise. The `enterprise_*` scope represents\npolicies that have been created within a specific enterprise, where `*`\nwill be the ID of that enterprise.", - "example": "enterprise_123456" - }, - "templateKey": { - "type": "string", - "example": "productInfo", - "description": "The key of the template that is cascaded down to the folder's\nchildren.\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]: e://get-metadata-templates-enterprise\n[file]: e://get-files-id-metadata\n[folder]: e://get-folders-id-metadata" - } - } - }, - "MetadataCascadePolicies": { - "title": "Metadata cascade policies", - "type": "object", - "x-box-resource-id": "metadata_cascade_policies", - "x-box-tag": "metadata_cascade_policies", - "description": "A list of metadata cascade policies.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" + "is_collaboration_restricted_to_enterprise": { + "allOf": [ + { + "type": "boolean", + "example": true, + "description": "Specifies if new invites to this folder are restricted to users\nwithin the enterprise. This does not affect existing\ncollaborations." + }, + { + "nullable": false + } + ] }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true + "allowed_shared_link_access_levels": { + "type": "array", + "example": [ + "open" + ], + "items": { + "type": "string", + "enum": [ + "open", + "company", + "collaborators" + ] + }, + "nullable": false, + "description": "A list of access levels that are available\nfor this folder.\n\nFor some folders, like the root folder, this will always\nbe an empty list as sharing is not allowed at that level." }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true - } - } - }, - { - "properties": { - "entries": { + "allowed_invitee_roles": { "type": "array", - "description": "A list of metadata cascade policies", + "example": [ + "editor" + ], + "nullable": false, + "description": "A list of the types of roles that user can be invited at\nwhen sharing this folder.", "items": { - "$ref": "#/components/schemas/MetadataCascadePolicy" + "type": "string", + "enum": [ + "editor", + "viewer", + "previewer", + "uploader", + "previewer uploader", + "viewer uploader", + "co-owner" + ] } - } - } - } - ] - }, - "MetadataQueryIndex": { - "title": "Metadata query index", - "type": "object", - "x-box-resource-id": "metadata_query_index", - "x-box-tag": "search", - "description": "A metadata query index", - "required": [ - "type", - "status" - ], - "properties": { - "id": { - "type": "string", - "example": "-9876", - "description": "The ID of the metadata query index." - }, - "type": { - "type": "string", - "description": "Value is always `metadata_query_index`", - "example": "metadata_query_index", - "nullable": false - }, - "status": { - "type": "string", - "description": "The status of the metadata query index", - "example": "active", - "enum": [ - "building", - "active", - "disabled" - ], - "nullable": false - }, - "fields": { - "type": "array", - "description": "A list of template fields which make up the index.", - "items": { - "type": "object", - "description": "The field which makes up the index.", - "allOf": [ - { - "properties": { - "key": { - "type": "string", - "example": "vendor name", - "description": "The metadata template field key." - }, - "sort_direction": { - "type": "string", - "example": "asc", - "description": "The sort direction of the field.", - "enum": [ - "asc", - "desc" - ] + }, + "watermark_info": { + "allOf": [ + { + "type": "object", + "description": "Details about the watermark applied to this item", + "properties": { + "is_watermarked": { + "type": "boolean", + "description": "Specifies if this item has a watermark applied.", + "example": true, + "nullable": false + } } + }, + { + "description": "Details about the watermark applied to this folder" + }, + { + "nullable": false } - } - ] + ] + }, + "is_accessible_via_shared_link": { + "type": "boolean", + "description": "Specifies if the folder can be accessed\nwith the direct shared link or a shared link\nto a parent folder.", + "example": true, + "enum": [ + true, + false + ] + }, + "can_non_owners_view_collaborators": { + "type": "boolean", + "example": true, + "description": "Specifies if collaborators who are not owners\nof this folder are restricted from viewing other\ncollaborations on this folder.\n\nIt also restricts non-owners from inviting new\ncollaborators." + }, + "classification": { + "allOf": [ + { + "type": "object", + "description": "The classification applied to an item", + "properties": { + "name": { + "type": "string", + "example": "Top Secret", + "description": "The name of the classification" + }, + "definition": { + "type": "string", + "example": "Content that should not be shared outside the company.", + "description": "An explanation of the meaning of this classification." + }, + "color": { + "type": "string", + "example": "#FF0000", + "description": "The color that is used to display the\nclassification label in a user-interface. Colors are defined by the admin\nor co-admin who created the classification in the Box web app." + } + } + }, + { + "description": "Details about the classification applied to this folder." + }, + { + "nullable": true + } + ] + }, + "is_associated_with_app_item": { + "type": "boolean", + "example": true, + "nullable": false, + "description": "This field will return true if the folder or any ancestor of the\nfolder is associated with at least one app item. Note that this will\nreturn true even if the context user does not have access to the\napp item(s) associated with the folder." + } } } - } + ] }, - "MetadataQueryResults": { - "title": "Metadata query search results", + "Folder--Mini": { + "title": "Folder (Mini)", "type": "object", - "x-box-tag": "search", - "x-box-resource-id": "metadata_query_results", - "description": "A page of files and folders that matched the metadata query.", - "properties": { - "entries": { - "description": "The mini representation of the files and folders that match the search\nterms.\n\nBy default, this endpoint returns only the most basic info about the\nitems. To get additional fields for each item, including any of the\nmetadata, use the `fields` attribute in the query.", - "type": "array", - "x-box-resource-variant": 1, - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/File--Full" - }, - { - "$ref": "#/components/schemas/Folder--Full" - } - ] - } - }, - "limit": { - "description": "The limit that was used for this search. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed.", - "default": 100, - "example": 100, - "type": "integer", - "format": "int64" + "x-box-resource-id": "folder--mini", + "x-box-variant": "mini", + "description": "A mini representation of a file version, used when\nnested under another resource.", + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Base" }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "0!-M7487OpVfBTNBV-XsQjU50gQFlbFFu5nArMWD7Ck61GH_Qo40M1S2xN5zWZPBzEjaQS1SOjJiQoo5BsXEl1bCVLRZ2pTqo4SKp9tyqzWQK2L51KR_nC1EgF5I_TJSFw7uO2Bx4HweGETOjh5_2oPSWw5iMkM-OvGApeR0lGFO48FDKoyzJyLgz5aogxoKd8VE09CesOOnTnmZvrW0puylDc-hFjY5YLmWFBKox3SOWiSDwKFkmZGNHyjEzza1nSwbZg6CYsAdGsDwGJhuCeTNsFzP5Mo5qx9wMloS0lSPuf2CcBInbIJzl2CKlXF3FvqhANttpm2nzdBTQRSoJyJnjVBpf4Q_HjV2eb4KIZBBlLy067UCVdv2AAWQFd5E2i6s1YiGRTtgMEZntOSUYD4IYLMWWm5Ra7ke_SP32SL3GSjbBQYIyCVQ..", - "type": "string" + { + "properties": { + "sequence_id": { + "allOf": [ + { + "type": "string", + "example": "3", + "nullable": true, + "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." + }, + { + "nullable": false + } + ] + }, + "name": { + "type": "string", + "description": "The name of the folder.", + "example": "Contracts", + "nullable": false + } + } } - } + ] }, - "MetadataTemplate": { - "title": "Metadata template", + "Folder--Base": { + "title": "Folder (Base)", "type": "object", - "x-box-resource-id": "metadata_template", - "x-box-tag": "metadata_templates", - "description": "A template for metadata that can be applied to files and folders", + "x-box-resource-id": "folder--base", + "x-box-tag": "folders", + "x-box-variants": [ + "base", + "mini", + "standard", + "full" + ], + "x-box-variant": "base", + "description": "The bare basic representation of a folder, the minimal\namount of fields returned when using the `fields` query\nparameter.", "required": [ - "type", - "id" + "id", + "type" ], "properties": { "id": { "type": "string", - "example": "58063d82-4128-7b43-bba9-92f706befcdf", - "description": "The ID of the metadata template." + "nullable": false, + "description": "The unique identifier that represent a folder.\n\nThe ID for any folder can be determined\nby visiting a folder in the web application\nand copying the ID from the URL. For example,\nfor the URL `https://*.app.box.com/folders/123`\nthe `folder_id` is `123`.", + "example": "12345" + }, + "etag": { + "type": "string", + "nullable": true, + "example": "1", + "description": "The HTTP `etag` of this folder. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the folder if (no) changes have happened." }, "type": { "type": "string", - "description": "`metadata_template`", - "example": "metadata_template", + "description": "`folder`", + "example": "folder", "enum": [ - "metadata_template" + "folder" ], "nullable": false + } + } + }, + "FolderLock": { + "title": "Folder Lock", + "type": "object", + "x-box-resource-id": "folder_lock", + "x-box-tag": "folder_locks", + "description": "Folder locks define access restrictions placed by folder owners\nto prevent specific folders from being moved or deleted.", + "properties": { + "folder": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "description": "The folder that the lock applies to." + } + ] }, - "scope": { + "id": { "type": "string", - "description": "The scope of the metadata template can either be `global` or\n`enterprise_*`. The `global` scope is used for templates that are\navailable to any Box enterprise. The `enterprise_*` scope represents\ntemplates that have been created within a specific enterprise, where `*`\nwill be the ID of that enterprise.", - "example": "enterprise_123456" + "description": "The unique identifier for this folder lock.", + "example": "12345678" }, - "templateKey": { + "type": { "type": "string", - "example": "productInfo", - "description": "A unique identifier for the template. This identifier is unique across\nthe `scope` of the enterprise to which the metadata template is being\napplied, yet is not necessarily unique across different enterprises.", - "maxLength": 64, - "pattern": "^[a-zA-Z_][-a-zA-Z0-9_]*$" + "description": "The object type, always `folder_lock`.", + "example": "folder_lock" }, - "displayName": { - "type": "string", - "description": "The display name of the template. This can be seen in the Box web app\nand mobile apps.", - "maxLength": 4096, - "example": "Product Info" + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "The user or group that created the lock." + } + ] }, - "hidden": { - "type": "boolean", - "example": true, - "description": "Defines if this template is visible in the Box web app UI, or if\nit is purely intended for usage through the API." + "created_at": { + "type": "string", + "format": "date-time", + "example": "2020-09-14T23:12:53Z", + "description": "When the folder lock object was created." }, - "fields": { + "locked_operations": { + "type": "object", + "description": "The operations that have been locked. Currently the `move`\nand `delete` operations cannot be locked separately, and both need to be\nset to `true`.\n", + "required": [ + "move", + "delete" + ], + "properties": { + "move": { + "type": "boolean", + "description": "Whether moving the folder is restricted.", + "nullable": false, + "example": true + }, + "delete": { + "type": "boolean", + "description": "Whether deleting the folder is restricted.", + "nullable": false, + "example": true + } + } + }, + "lock_type": { + "type": "string", + "description": "The lock type, always `freeze`.", + "example": "freeze" + } + } + }, + "FolderLocks": { + "title": "Folder Locks", + "type": "object", + "x-box-resource-id": "folder_locks", + "x-box-tag": "folder_locks", + "description": "A list of folder locks", + "properties": { + "entries": { "type": "array", - "description": "An ordered list of template fields which are part of the template. Each\nfield can be a regular text field, date field, number field, as well as a\nsingle or multi-select list.", + "description": "A list of folder locks", "items": { - "type": "object", - "description": "A field within a metadata template. Fields can be a basic text, date, or\nnumber field, or a list of options.", - "allOf": [ - { - "title": "Metadata Field (Read)", - "description": "A field within a metadata template. Fields can be a basic text, date, or\nnumber field, or a list of options.", - "required": [ - "type", - "key", - "displayName" - ], - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "string", - "description": "The type of field. The basic fields are a `string` field for text, a\n`float` field for numbers, and a `date` fields 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\n**Note**: The `integer` value is deprecated.\nIt is still present in the response,\nbut cannot be used in the POST request.", - "enum": [ - "string", - "float", - "date", - "enum", - "multiSelect", - "integer" - ] - }, - "key": { - "type": "string", - "example": "category", - "description": "A unique identifier for the field. The identifier must\nbe unique within the template to which it belongs.", - "maxLength": 256 - }, - "displayName": { - "type": "string", - "example": "Category", - "description": "The display name of the field as it is shown to the user in the web and\nmobile apps.", - "maxLength": 4096 - }, - "description": { - "type": "string", - "example": "The category", - "description": "A description of the field. This is not shown to the user.", - "maxLength": 4096 - }, - "hidden": { - "type": "boolean", - "example": true, - "description": "Whether this field is hidden in the UI for the user and can only be set\nthrough the API instead." - }, - "options": { - "description": "A list of options for this field. This is used in combination with the\n`enum` and `multiSelect` field types.", - "type": "array", - "items": { - "title": "Metadata Option (Write)", - "type": "object", - "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.", - "required": [ - "key" - ], - "properties": { - "key": { - "description": "The text value of the option. This represents both the display name of the\noption and the internal key used when updating templates.", - "example": "Category 1", - "type": "string" - } - } - } - } - } - }, - { - "properties": { - "id": { - "type": "string", - "example": "822227e0-47a5-921b-88a8-494760b2e6d2", - "description": "The unique ID of the metadata template field." - }, - "options": { - "description": "A list of options for this field. This is used in combination\nwith the `enum` and `multiSelect` field types.", - "type": "array", - "items": { - "type": "object", - "description": "An option for a Metadata Template Field.\n\nOptions are only present for fields of type `enum` and\n`multiSelect`. Options represent the value(s) a user can\nselect for the field either through the UI or through the API.", - "allOf": [ - { - "title": "Metadata Option (Write)", - "type": "object", - "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.", - "required": [ - "key" - ], - "properties": { - "key": { - "description": "The text value of the option. This represents both the display name of the\noption and the internal key used when updating templates.", - "example": "Category 1", - "type": "string" - } - } - }, - { - "properties": { - "id": { - "type": "string", - "example": "45dc2849-a4a7-40a9-a751-4a699a589190", - "description": "The internal unique identifier of the the option." - } - } - } - ] - } - } - } - } - ] + "$ref": "#/components/schemas/FolderLock" } }, - "copyInstanceOnItemCopy": { - "type": "boolean", - "description": "Whether or not to include the metadata when a file or folder is copied.", - "example": true + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": "1000", + "type": "string" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true } } }, - "MetadataTemplates": { - "title": "Metadata templates", + "GenericSource": { + "title": "Generic source", "type": "object", - "x-box-resource-id": "metadata_templates", - "x-box-tag": "metadata_templates", - "description": "A list of metadata templates", + "x-box-resource-id": "generic_source", + "description": "A generic event source type.", + "additionalProperties": { + "allOf": [ + {}, + { + "description": "A definition of a generic\nevent source object. The set of\nparameters depends on the\nobject type. For example, a Box Shield\nevent source would have the following\nset of parameters:\n```yaml\n{\n\"barrier_id\": 123456,\n\"barrier_status\": \"ENABLED\",\n\"barrier_segments\": [\n {\n \"name\": \"8\",\n \"member_count\": 1\n },\n {\n \"name\": \"9\",\n \"member_count\": 1\n }\n ]\n} \n```\n" + } + ] + } + }, + "IntegrationMapping": { + "title": "Integration mapping Slack", + "type": "object", + "x-box-resource-id": "integration_mapping_slack", + "x-box-tag": "integration_mappings", + "x-box-variant": "standard", + "description": "A Slack specific representation of an integration\nmapping object.", "allOf": [ { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", + "$ref": "#/components/schemas/IntegrationMapping--Base" + }, + { "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "integration_type": { "type": "string", - "nullable": true + "nullable": false, + "description": "Identifies the Box partner app,\nwith which the mapping is associated.\nCurrently only supports Slack.\n(part of the composite key together with `id`)", + "example": "slack", + "enum": [ + "slack" + ] }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true + "partner_item": { + "oneOf": [ + { + "$ref": "#/components/schemas/IntegrationMappingPartnerItemSlack" + } + ], + "nullable": false, + "example": { + "id": "C12378991223", + "type": "channel", + "slack_org_id": "E1234567" + }, + "description": "Mapped item object for Slack or Teams" } } }, { + "type": "object", "properties": { - "entries": { - "type": "array", - "description": "A list of metadata templates", - "items": { - "$ref": "#/components/schemas/MetadataTemplate" - } + "box_item": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + } + ], + "description": "The Box folder, to which the object from the\npartner app domain (referenced in `partner_item_id`) is mapped", + "nullable": false + }, + "is_manually_created": { + "type": "boolean", + "example": true, + "description": "Identifies whether the mapping has\nbeen manually set\n(as opposed to being automatically created)", + "nullable": false + }, + "options": { + "nullable": false, + "allOf": [ + { + "$ref": "#/components/schemas/IntegrationMappingSlackOptions" + } + ] + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/UserIntegrationMappings" + } + ], + "description": "An object representing the user who\ncreated the integration mapping", + "nullable": false + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/UserIntegrationMappings" + } + ], + "description": "The user who\nlast modified the integration mapping", + "nullable": false + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "When the integration mapping object was created", + "example": "2012-12-12T10:53:43-08:00", + "nullable": false + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When the integration mapping object was last modified", + "example": "2012-12-12T10:53:43-08:00", + "nullable": false } - } + }, + "required": [ + "box_item" + ] } + ], + "required": [ + "partner_item" ] }, - "RealtimeServer": { - "title": "Real-time server", + "IntegrationMapping--Base": { + "title": "Integration mapping (Base)", "type": "object", - "x-box-resource-id": "realtime_server", - "description": "A real-time server that can be used for\nlong polling user events", + "x-box-resource-id": "integration_mapping--base", + "x-box-tag": "integration_mappings", + "x-box-variant": "base", + "x-box-variants": [ + "base", + "standard", + "mini" + ], + "description": "A base representation of an\nintegration mapping object.", "properties": { - "type": { - "description": "`realtime_server`", - "type": "string", - "example": "realtime_server" - }, - "url": { - "type": "string", - "example": "http://2.realtime.services.box.net/subscribe?channel=cc807c9c4869ffb1c81a&stream_type=all", - "description": "The URL for the server." - }, - "ttl": { - "description": "The time in minutes for which this server is available", - "type": "string", - "example": "10" - }, - "max_retries": { - "description": "The maximum number of retries this server will\nallow before a new long poll should be started by\ngetting a [new list of server](#options-events).", + "id": { "type": "string", - "example": "10" - }, - "retry_timeout": { - "description": "The maximum number of seconds without a response\nafter which you should retry the long poll connection.\n\nThis helps to overcome network issues where the long\npoll looks to be working but no packages are coming\nthrough.", - "type": "integer", - "example": 610 - } - } - }, - "RealtimeServers": { - "title": "Real-time servers", - "type": "object", - "x-box-resource-id": "realtime_servers", - "description": "A list of real-time servers that can\nbe used for long-polling.", - "x-box-tag": "events", - "properties": { - "chunk_size": { - "description": "The number of items in this response.", - "example": 1, - "type": "integer", - "format": "int64" + "nullable": false, + "example": "12345", + "description": "A unique identifier of a folder mapping\n(part of a composite key together\nwith `integration_type`)" }, - "entries": { - "type": "array", - "description": "A list of real-time servers", - "items": { - "$ref": "#/components/schemas/RealtimeServer" - } - } - } - }, - "RecentItem": { - "title": "Recent item", - "type": "object", - "x-box-resource-id": "recent_item", - "description": "A recent item accessed by a user.", - "x-box-tag": "recent_items", - "properties": { "type": { "type": "string", - "description": "`recent_item`", - "example": "recent_item" - }, - "item": { - "allOf": [ - { - "oneOf": [ - { - "$ref": "#/components/schemas/File--Full" - }, - { - "$ref": "#/components/schemas/Folder--Full" - }, - { - "$ref": "#/components/schemas/WebLink" - } - ] - }, - { - "description": "The item that was recently accessed." - } - ] - }, - "interaction_type": { - "type": "string", - "example": "item_preview", - "description": "The most recent type of access the user performed on\nthe item.", + "example": "integration_mapping", "enum": [ - "item_preview", - "item_upload", - "item_comment", - "item_open", - "item_modify" - ] - }, - "interacted_at": { - "type": "string", - "format": "date-time", - "description": "The time of the most recent interaction.", - "example": "2018-04-13T13:53:23-07:00" - }, - "interaction_shared_link": { - "type": "string", - "example": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", - "description": "If the item was accessed through a shared link it will appear here,\notherwise this will be null." + "integration_mapping" + ], + "description": "Mapping type", + "nullable": false } - } + }, + "required": [ + "id", + "type" + ] }, - "RecentItems": { - "title": "Recent items", + "IntegrationMappings": { + "title": "Integration mappings Slack", "type": "object", - "x-box-resource-id": "recent_items", - "description": "A list of recent items.", + "x-box-resource-id": "integration_mappings_slack", + "x-box-tag": "integration_mappings", + "description": "A list of integration mapping\nobjects.", "allOf": [ { "type": "object", @@ -31962,12 +31079,6 @@ "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", "nullable": true - }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true } } }, @@ -31975,247 +31086,124 @@ "properties": { "entries": { "type": "array", - "description": "A list of recent items", + "description": "A list of integration mappings", "items": { - "$ref": "#/components/schemas/RecentItem" + "$ref": "#/components/schemas/IntegrationMapping" } } } } ] }, - "RetentionPolicies": { - "title": "Retention policies", + "Group": { + "title": "Group", "type": "object", - "x-box-resource-id": "retention_policies", - "x-box-tag": "retention_policies", - "description": "A list of retention policies.", + "x-box-resource-id": "group", + "x-box-variant": "standard", + "description": "A standard representation of a group, as returned from any\ngroup API endpoints by default", "allOf": [ { - "properties": { - "entries": { - "description": "A list in which each entry represents a retention policy object.", - "type": "array", - "items": { - "$ref": "#/components/schemas/RetentionPolicy" - } - } - } + "$ref": "#/components/schemas/Group--Mini" }, { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" + "created_at": { + "type": "string", + "format": "date-time", + "description": "When the group object was created", + "example": "2012-12-12T10:53:43-08:00" }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "modified_at": { "type": "string", - "nullable": true + "format": "date-time", + "description": "When the group object was last modified", + "example": "2012-12-12T10:53:43-08:00" } } } ] }, - "RetentionPolicy": { - "title": "Retention policy", + "Groups": { + "title": "Groups", "type": "object", - "x-box-resource-id": "retention_policy", - "x-box-tag": "retention_policies", - "x-box-variant": "standard", - "description": "A retention policy blocks permanent deletion of content\nfor a specified amount of time. Admins can create retention\npolicies and then later assign them to specific folders, metadata\ntemplates, or their entire enterprise. To use this feature, you must\nhave the manage retention policies scope enabled\nfor your API key via your application management console.", + "x-box-resource-id": "groups", + "x-box-tag": "groups", + "description": "A list of groups.", "allOf": [ { - "$ref": "#/components/schemas/RetentionPolicy--Mini" - }, - { + "type": "object", + "description": "The part of an API response that describes pagination", "properties": { - "description": { - "type": "string", - "example": "Policy to retain all reports for at least one month", - "description": "The additional text description of the retention policy." - }, - "policy_type": { - "type": "string", - "example": "finite", - "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.", - "enum": [ - "finite", - "indefinite" - ] - }, - "retention_type": { - "type": "string", - "example": "non_modifiable", - "description": "Specifies the retention type:\n\n* `modifiable`: You can modify the retention policy. For example,\n you can add or remove folders, shorten or lengthen\n the policy duration, or delete the assignment.\n Use this type if your retention policy\n is not related to any regulatory purposes.\n\n* `non-modifiable`: You can modify the retention policy\n only in a limited way: add a folder, lengthen the duration,\n retire the policy, change the disposition action\n or notification settings. You cannot perform other actions,\n such as deleting the assignment or shortening the\n policy duration. Use this type to ensure\n compliance with regulatory retention policies.", - "enum": [ - "modifiable", - "non_modifiable" - ] - }, - "status": { - "type": "string", - "example": "active", - "description": "The status of the retention policy. The status of\na policy will be `active`, unless explicitly retired by an\nadministrator, in which case the status will be `retired`.\nOnce a policy has been retired, it cannot become\nactive again.", - "enum": [ - "active", - "retired" - ] - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "A mini user object representing the user that\ncreated the retention policy." - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "When the retention policy object was created.", - "example": "2012-12-12T10:53:43-08:00" - }, - "modified_at": { - "type": "string", - "format": "date-time", - "description": "When the retention policy object was last modified.", - "example": "2012-12-12T10:53:43-08:00" + "total_count": { + "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 5000, + "type": "integer", + "format": "int64" }, - "can_owner_extend_retention": { - "type": "boolean", - "description": "Determines if the owner of items under the policy\ncan extend the retention when the original\nretention duration is about to end.", - "example": false + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - "are_owners_notified": { - "type": "boolean", - "description": "Determines if owners and co-owners of items\nunder the policy are notified when\nthe retention duration is about to end.", - "example": false + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 2000, + "type": "integer", + "format": "int64" }, - "custom_notification_recipients": { + "order": { + "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", "type": "array", - "description": "A list of users notified when the retention policy duration is about to end.", "items": { - "$ref": "#/components/schemas/User--Mini" - } - }, - "assignment_counts": { - "type": "object", - "description": "Counts the retention policy assignments for each item type.", - "properties": { - "enterprise": { - "description": "The number of enterprise assignments this policy has. The maximum value is 1.", - "format": "int64", - "type": "integer", - "example": 1 - }, - "folder": { - "description": "The number of folder assignments this policy has.", - "format": "int64", - "type": "integer", - "example": 1 - }, - "metadata_template": { - "description": "The number of metadata template assignments this policy has.", - "format": "int64", - "type": "integer", - "example": 1 + "type": "object", + "description": "The order in which a pagination is ordered", + "properties": { + "by": { + "description": "The field to order by", + "example": "type", + "type": "string" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending", + "example": "ASC", + "enum": [ + "ASC", + "DESC" + ] + } } } } } - } - ] - }, - "RetentionPolicy--Mini": { - "title": "Retention policy (Mini)", - "type": "object", - "x-box-resource-id": "retention_policy--mini", - "x-box-variant": "mini", - "description": "A mini representation of a retention policy, used when\nnested within another resource.", - "allOf": [ - { - "$ref": "#/components/schemas/RetentionPolicy--Base" }, { "properties": { - "policy_name": { - "type": "string", - "description": "The name given to the retention policy.", - "example": "Some Policy Name" - }, - "retention_length": { - "type": "string", - "format": "int32", - "example": "365", - "minimum": 1, - "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`." - }, - "disposition_action": { - "type": "string", - "example": "permanently_delete", - "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.", - "enum": [ - "permanently_delete", - "remove_retention" - ] + "entries": { + "type": "array", + "description": "A list of groups", + "items": { + "$ref": "#/components/schemas/Group--Full" + } } } } ] }, - "RetentionPolicy--Base": { - "title": "Retention policy (Base)", + "Group--Base": { + "title": "Group (Base)", "type": "object", - "x-box-resource-id": "retention_policy--base", - "x-box-tag": "retention_policies", + "x-box-resource-id": "group--base", + "x-box-tag": "groups", "x-box-variants": [ "base", "mini", - "standard" - ], - "x-box-variant": "base", - "description": "A base representation of a retention policy.", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string", - "nullable": false, - "description": "The unique identifier that represents a retention policy.", - "example": "12345" - }, - "type": { - "type": "string", - "description": "`retention_policy`", - "example": "retention_policy", - "enum": [ - "retention_policy" - ], - "nullable": false - } - } - }, - "RetentionPolicyAssignment--Base": { - "title": "Retention policy assignment (Base)", - "type": "object", - "x-box-resource-id": "retention_policy_assignment--base", - "x-box-tag": "retention_policy_assignments", - "x-box-variants": [ - "base", - "standard" + "standard", + "full" ], "x-box-variant": "base", - "description": "A base representation of a retention policy assignment.", + "description": "A base representation of a group.", "required": [ "id", "type" @@ -32223,301 +31211,235 @@ "properties": { "id": { "type": "string", - "nullable": false, - "description": "The unique identifier that represents a file version.", - "example": "12345" + "description": "The unique identifier for this object", + "example": "11446498" }, "type": { "type": "string", - "description": "`retention_policy_assignment`", - "example": "retention_policy_assignment", + "description": "`group`", + "example": "group", "enum": [ - "retention_policy_assignment" - ], - "nullable": false + "group" + ] } } }, - "RetentionPolicyAssignment": { - "title": "Retention policy assignment", + "Group--Full": { + "title": "Group (Full)", "type": "object", - "x-box-resource-id": "retention_policy_assignment", - "x-box-tag": "retention_policy_assignments", - "description": "A retention assignment represents a rule specifying\nthe files a retention policy retains.\nAssignments can retain files based on their folder or metadata,\nor hold all files in the enterprise.", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for a retention policy assignment.", - "example": "11446498" + "x-box-resource-id": "group--full", + "x-box-variant": "full", + "description": "Groups contain a set of users, and can be used in place of\nusers in some operations, such as collaborations.", + "allOf": [ + { + "$ref": "#/components/schemas/Group" }, - "type": { - "type": "string", - "description": "`retention_policy_assignment`", - "example": "retention_policy_assignment", - "enum": [ - "retention_policy_assignment" - ] - }, - "retention_policy": { - "allOf": [ - { - "$ref": "#/components/schemas/RetentionPolicy--Mini" - }, - { - "description": "A mini representation of a retention policy object\nthat has been assigned to the content." - } - ] - }, - "assigned_to": { - "type": "object", - "description": "The `type` and `id` of the content that is under\nretention. The `type` can either be `folder`\n`enterprise`, or `metadata_template`.", + { "properties": { - "id": { + "provenance": { "type": "string", - "nullable": true, - "example": "a983f69f-e85f-4ph4-9f46-4afdf9c1af65", - "description": "The ID of the folder, enterprise, or metadata template\nthe policy is assigned to.\nSet to null or omit when type is set to enterprise." + "description": "Keeps track of which external source this group is\ncoming from (e.g. \"Active Directory\", \"Google Groups\",\n\"Facebook Groups\"). Setting this will\nalso prevent Box users from editing the group name\nand its members directly via the Box web application.\nThis is desirable for one-way syncing of groups.", + "maxLength": 255, + "example": "Active Directory" }, - "type": { + "external_sync_identifier": { "type": "string", - "example": "metadata_template", - "description": "The type of resource the policy is assigned to.", + "description": "An arbitrary identifier that can be used by\nexternal group sync tools to link this Box Group to\nan external group. Example values of this field\ncould be an Active Directory Object ID or a Google\nGroup ID. We recommend you use of this field in\norder to avoid issues when group names are updated in\neither Box or external systems.", + "example": "AD:123456" + }, + "description": { + "type": "string", + "description": "Human readable description of the group.", + "maxLength": 255, + "example": "Support Group - as imported from Active Directory" + }, + "invitability_level": { + "type": "string", + "example": "admins_only", + "description": "Specifies who can invite the group to collaborate\non items.\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.", "enum": [ - "folder", - "enterprise", - "metadata_template" + "admins_only", + "admins_and_members", + "all_managed_users" ] - } - } - }, - "filter_fields": { - "type": "array", - "nullable": true, - "description": "An array of field objects. Values are only returned if the `assigned_to`\ntype is `metadata_template`. Otherwise, the array is blank.", - "items": { - "type": "object", - "nullable": true, - "properties": { - "field": { - "type": "string", - "nullable": true, - "description": "The metadata attribute key id.", - "example": "a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4" - }, - "value": { - "type": "string", - "nullable": true, - "description": "The metadata attribute field id. For value, only\nenum and multiselect types are supported.", - "example": "0c27b756-0p87-4fe0-a43a-59fb661ccc4e" - } - } - } - }, - "assigned_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" }, - { - "description": "A mini user object representing the user that\ncreated the retention policy assignment." + "member_viewability_level": { + "type": "string", + "example": "admins_only", + "description": "Specifies who can view the members of the group\n(Get Memberships for 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", + "enum": [ + "admins_only", + "admins_and_members", + "all_managed_users" + ] + }, + "permissions": { + "allOf": [ + { + "type": "object", + "description": "The permissions that the authenticated user has for a group.", + "properties": { + "can_invite_as_collaborator": { + "type": "boolean", + "description": "Specifies if the user can invite the group to collaborate on any items.", + "example": true + } + } + }, + { + "description": "Describes the permissions that the current user has\nfor this group." + } + ] } - ] - }, - "assigned_at": { - "type": "string", - "format": "date-time", - "description": "When the retention policy assignment object was\ncreated.", - "example": "2012-12-12T10:53:43-08:00" - }, - "start_date_field": { - "type": "string", - "description": "The date the retention policy assignment begins.\nIf the `assigned_to` type is `metadata_template`,\nthis field can be a date field's metadata attribute key id.", - "example": "upload_date" + } } - } + ] }, - "RetentionPolicyAssignments": { - "title": "Retention policy assignments", + "Group--Mini": { + "title": "Group (Mini)", "type": "object", - "x-box-resource-id": "retention_policy_assignments", - "x-box-tag": "retention_policy_assignments", - "description": "A list of retention policy assignments.", + "x-box-resource-id": "group--mini", + "x-box-variant": "mini", + "description": "Mini representation of a group, including id and name of\ngroup.", "allOf": [ { - "properties": { - "entries": { - "type": "array", - "description": "A list of retention policy assignments", - "items": { - "$ref": "#/components/schemas/RetentionPolicyAssignment" - } - } - } + "$ref": "#/components/schemas/Group--Base" }, { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" + "name": { + "type": "string", + "description": "The name of the group", + "example": "Support" }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "group_type": { "type": "string", - "nullable": true + "description": "The type of the group.", + "example": "managed_group", + "enum": [ + "managed_group", + "all_users_group" + ] } } } ] }, - "ShieldInformationBarrier": { - "title": "Shield information barrier", + "GroupMembership": { + "title": "Group membership", "type": "object", - "x-box-resource-id": "shield_information_barrier", - "x-box-tag": "shield_information_barriers", - "x-box-variants": [ - "base", - "standard" - ], - "x-box-variant": "standard", - "description": "A standard representation of a\nshield information barrier object", + "x-box-resource-id": "group_membership", + "x-box-tag": "memberships", + "description": "Membership is used to signify that a user is part of a\ngroup.", "properties": { "id": { "type": "string", - "example": "11446498", - "description": "The unique identifier for the shield information barrier" + "description": "The unique identifier for this group membership", + "example": "11446498" }, "type": { "type": "string", - "description": "The type of the shield information barrier", - "example": "shield_information_barrier", + "description": "`group_membership`", + "example": "group_membership", "enum": [ - "shield_information_barrier" + "group_membership" ] }, - "enterprise": { + "user": { "allOf": [ { - "$ref": "#/components/schemas/Enterprise--Base" + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user that the membership applies to" } - ], - "description": "The `type` and `id` of enterprise this barrier is under." + ] }, - "status": { + "group": { + "allOf": [ + { + "$ref": "#/components/schemas/Group--Mini" + }, + { + "description": "The group that the membership applies to" + } + ] + }, + "role": { "type": "string", + "example": "member", + "description": "The role of the user in the group.", "enum": [ - "draft", - "pending", - "disabled", - "enabled", - "invalid" - ], - "description": "Status of the shield information barrier", - "example": "draft" + "member", + "admin" + ] }, "created_at": { "type": "string", "format": "date-time", - "example": "2020-06-26T18:44:45.869Z", - "description": "ISO date time string when this\nshield information barrier object was created." - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" - } - ], - "description": "The user who created this shield information barrier." + "description": "The time this membership was created.", + "example": "2012-12-12T10:53:43-08:00" }, - "updated_at": { + "modified_at": { "type": "string", "format": "date-time", - "example": "2020-07-26T18:44:45.869Z", - "description": "ISO date time string when this shield information barrier was updated." - }, - "updated_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" - } - ], - "description": "The user that updated this shield information barrier." - }, - "enabled_at": { - "type": "string", - "format": "date-time", - "example": "2020-07-26T18:44:45.869Z", - "description": "ISO date time string when this shield information barrier was enabled." - }, - "enabled_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" - }, - { - "description": "The user that enabled this shield information barrier." - } - ] - } - } - }, - "ShieldInformationBarrier--Base": { - "title": "Shield information barrier (Base)", - "type": "object", - "x-box-resource-id": "shield_information_barrier--base", - "x-box-tag": "shield_information_barriers", - "x-box-variants": [ - "base", - "standard" - ], - "x-box-variant": "base", - "description": "A base representation of a\nshield information barrier object", - "properties": { - "id": { - "type": "string", - "example": "11446498", - "description": "The unique identifier for the shield information barrier" - }, - "type": { - "type": "string", - "description": "The type of the shield information barrier", - "example": "shield_information_barrier", - "enum": [ - "shield_information_barrier" - ] + "description": "The time this membership was last modified.", + "example": "2012-12-12T10:53:43-08:00" } } }, - "ShieldInformationBarriers": { - "title": "List of Shield Information Barriers", + "GroupMemberships": { + "title": "Group memberships", "type": "object", - "x-box-resource-id": "shield_information_barriers", - "x-box-tag": "shield_information_barriers", - "description": "List of Shield Information Barrier objects", + "x-box-resource-id": "group_memberships", + "x-box-tag": "memberships", + "description": "A list of group memberships.", "allOf": [ { "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", + "description": "The part of an API response that describes pagination", "properties": { + "total_count": { + "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 5000, + "type": "integer", + "format": "int64" + }, "limit": { "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", "example": 1000, "type": "integer", "format": "int64" }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 2000, + "type": "integer", + "format": "int64" + }, + "order": { + "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "type": "array", + "items": { + "type": "object", + "description": "The order in which a pagination is ordered", + "properties": { + "by": { + "description": "The field to order by", + "example": "type", + "type": "string" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending", + "example": "ASC", + "enum": [ + "ASC", + "DESC" + ] + } + } + } } } }, @@ -32525,116 +31447,95 @@ "properties": { "entries": { "type": "array", - "description": "A list of shield information barrier objects", + "description": "A list of group memberships", "items": { - "$ref": "#/components/schemas/ShieldInformationBarrier" + "$ref": "#/components/schemas/GroupMembership" } } } } ] }, - "ShieldInformationBarrierReport": { - "title": "Shield information barrier report", + "Invite": { + "title": "Invite", "type": "object", - "x-box-resource-id": "shield_information_barrier_report", - "x-box-tag": "shield_information_barrier_reports", - "x-box-variants": [ - "base", - "standard" + "x-box-resource-id": "invite", + "x-box-tag": "invites", + "description": "An invite for a user to an enterprise.", + "required": [ + "id", + "type" ], - "x-box-variant": "standard", - "description": "A standard representation\nof a shield information barrier report object", - "allOf": [ - { - "$ref": "#/components/schemas/ShieldInformationBarrierReport--Base" + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this invite", + "example": "11446498" }, - { + "type": { + "type": "string", + "description": "`invite`", + "example": "invite", + "enum": [ + "invite" + ] + }, + "invited_to": { + "title": "Enterprise", + "type": "object", + "description": "A representation of a Box enterprise", "properties": { - "shield_information_barrier": { - "allOf": [ - { - "$ref": "#/components/schemas/ShieldInformationBarrierReference" - } - ] - }, - "status": { + "id": { "type": "string", - "enum": [ - "pending", - "error", - "done", - "cancelled" - ], - "description": "Status of the shield information report", - "example": "pending" - }, - "details": { - "allOf": [ - { - "$ref": "#/components/schemas/ShieldInformationBarrierReportDetails" - } - ] + "description": "The unique identifier for this enterprise.", + "example": "11446498" }, - "created_at": { + "type": { "type": "string", - "format": "date-time", - "example": "2020-06-26T18:44:45.869Z", - "description": "ISO date time string when this\nshield information barrier report object was created." - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" - }, - { - "description": "The user who created this shield information barrier report." - } + "description": "`enterprise`", + "example": "enterprise", + "enum": [ + "enterprise" ] }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2020-07-26T18:44:45.869Z", - "description": "ISO date time string when this\nshield information barrier report was updated." + "name": { + "description": "The name of the enterprise", + "example": "Acme Inc.", + "type": "string" } } - } - ] - }, - "ShieldInformationBarrierReport--Base": { - "title": "Shield information barrier report (Base)", - "type": "object", - "x-box-resource-id": "shield_information_barrier_report--base", - "x-box-tag": "shield_information_barrier_reports", - "x-box-variants": [ - "base", - "standard" - ], - "x-box-variant": "base", - "description": "A base representation of a\nshield information barrier report object", - "properties": { - "id": { + }, + "actionable_by": { + "$ref": "#/components/schemas/User--Mini" + }, + "invited_by": { + "$ref": "#/components/schemas/User--Mini" + }, + "status": { + "description": "The status of the invite", "type": "string", - "example": "11446498", - "description": "The unique identifier for the shield information barrier report" + "example": "pending" }, - "type": { + "created_at": { "type": "string", - "description": "The type of the shield information barrier report", - "example": "shield_information_barrier_report", - "enum": [ - "shield_information_barrier_report" - ] + "format": "date-time", + "description": "When the invite was created", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When the invite was modified.", + "example": "2012-12-12T10:53:43-08:00" } } }, - "ShieldInformationBarrierReports": { - "title": "List of Shield Information Barrier Reports", + "Items": { + "title": "Items", "type": "object", - "x-box-resource-id": "shield_information_barrier_reports", - "x-box-tag": "shield_information_barrier_reports", - "description": "A list of shield barrier reports.", + "x-box-resource-id": "items", + "x-box-tag": "folders", + "description": "A list of files, folders, and web links in\ntheir mini representation.", "allOf": [ { "type": "object", @@ -32651,279 +31552,207 @@ "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true } } }, { + "type": "object", + "description": "The part of an API response that describes pagination", "properties": { - "entries": { - "type": "array", - "description": "A list of shield information\nbarrier reports.", - "items": { - "$ref": "#/components/schemas/ShieldInformationBarrierReport" - } - } - } - } - ] - }, - "ShieldInformationBarrierSegment": { - "title": "Shield information barrier segment", - "type": "object", - "x-box-resource-id": "shield_information_barrier_segment", - "x-box-tag": "shield_information_barrier_segments", - "description": "A shield information barrier segment object", - "properties": { - "id": { - "type": "string", - "example": "11446498", - "description": "The unique identifier for the shield information barrier segment" - }, - "type": { - "type": "string", - "description": "The type of the shield information barrier segment", - "example": "shield_information_barrier_segment", - "enum": [ - "shield_information_barrier_segment" - ] - }, - "shield_information_barrier": { - "$ref": "#/components/schemas/ShieldInformationBarrier--Base" - }, - "name": { - "type": "string", - "example": "Investment Banking", - "description": "Name of the shield information barrier segment" - }, - "description": { - "type": "string", - "example": "'Corporate division that engages in advisory_based financial\n transactions on behalf of individuals, corporations, and governments.'", - "description": "Description of the shield information barrier segment" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2020-06-26T18:44:45.869Z", - "description": "ISO date time string when this shield information\nbarrier object was created." - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" - }, - { - "description": "The user who created this shield information barrier segment." - } - ] - }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2020-07-26T18:44:45.869Z", - "description": "ISO date time string when this\nshield information barrier segment was updated." - }, - "updated_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" + "total_count": { + "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 5000, + "type": "integer", + "format": "int64" }, - { - "description": "The user that updated this shield information barrier segment." - } - ] - } - } - }, - "ShieldInformationBarrierSegments": { - "title": "List of Shield Information Barrier Segments", - "type": "object", - "x-box-resource-id": "shield_information_barrier_segments", - "x-box-tag": "shield_information_barrier_segments", - "description": "List of Shield Information Barrier Segment objects", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { "limit": { "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", "example": 1000, "type": "integer", "format": "int64" }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 2000, + "type": "integer", + "format": "int64" + }, + "order": { + "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "type": "array", + "items": { + "type": "object", + "description": "The order in which a pagination is ordered", + "properties": { + "by": { + "description": "The field to order by", + "example": "type", + "type": "string" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending", + "example": "ASC", + "enum": [ + "ASC", + "DESC" + ] + } + } + } } } }, { "properties": { "entries": { + "description": "The items in this collection.", "type": "array", - "description": "A list of shield information barrier\nsegments", "items": { - "$ref": "#/components/schemas/ShieldInformationBarrierSegment" + "oneOf": [ + { + "$ref": "#/components/schemas/File--Full" + }, + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "$ref": "#/components/schemas/WebLink" + } + ] } } } } ] }, - "ShieldInformationBarrierSegmentMember": { - "title": "Shield information barrier segment member", + "LegalHoldPolicy": { + "title": "Legal hold policy", "type": "object", - "x-box-resource-id": "shield_information_barrier_segment_member", - "x-box-tag": "shield_information_barrier_segment_members", - "x-box-variants": [ - "base", - "mini", - "standard" - ], + "x-box-resource-id": "legal_hold_policy", "x-box-variant": "standard", - "description": "A standard representation of a\nshield information barrier segment member object", + "description": "Legal Hold Policy information describes the basic\ncharacteristics of the Policy, such as name, description,\nand filter dates.", "allOf": [ { - "$ref": "#/components/schemas/ShieldInformationBarrierSegmentMember--Mini" + "$ref": "#/components/schemas/LegalHoldPolicy--Mini" }, { "properties": { - "shield_information_barrier": { - "$ref": "#/components/schemas/ShieldInformationBarrier--Base" + "policy_name": { + "type": "string", + "example": "Policy 4", + "description": "Name of the legal hold policy.", + "maxLength": 254 }, - "shield_information_barrier_segment": { + "description": { + "type": "string", + "description": "Description of the legal hold policy. Optional\nproperty with a 500 character limit.", + "maxLength": 500, + "example": "Postman created policy" + }, + "status": { + "type": "string", + "example": "active", + "enum": [ + "active", + "applying", + "releasing", + "released" + ], + "description": "* 'active' - the policy is not in a transition state\n* 'applying' - that the policy is in the process of\n being applied\n* 'releasing' - that the process is in the process\n of being released\n* 'released' - the policy is no longer active" + }, + "assignment_counts": { "type": "object", + "description": "Counts of assignments within this a legal hold policy by item type", "properties": { - "id": { - "type": "string", - "example": "432554", - "description": "The ID reference of the requesting\nshield information barrier segment." + "user": { + "type": "integer", + "format": "int64", + "description": "The number of users this policy is applied to", + "example": 1 }, - "type": { - "type": "string", - "example": "shield_information_barrier_segment", - "description": "The type of the shield information barrier segment", - "enum": [ - "shield_information_barrier_segment" - ] + "folder": { + "type": "integer", + "format": "int64", + "description": "The number of folders this policy is applied to", + "example": 2 + }, + "file": { + "type": "integer", + "format": "int64", + "description": "The number of files this policy is applied to", + "example": 3 + }, + "file_version": { + "type": "integer", + "format": "int64", + "description": "The number of file versions this policy is applied to", + "example": 4 } - }, - "description": "The `type` and `id` of the requested\nshield information barrier segment." + } }, - "user": { + "created_by": { "allOf": [ { - "$ref": "#/components/schemas/User--Base" + "$ref": "#/components/schemas/User--Mini" }, { - "description": "The `type` and `id` of the requested shield information barrier segment member." + "description": "The user who created the legal hold policy object" } ] }, "created_at": { "type": "string", "format": "date-time", - "example": "2020-06-26T18:44:45.869Z", - "description": "ISO date time string when this shield\ninformation barrier object was created." + "description": "When the legal hold policy object was created", + "example": "2012-12-12T10:53:43-08:00" }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" - }, - { - "description": "The user who created this shield information barrier segment member." - } - ] + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When the legal hold policy object was modified.\nDoes not update when assignments are added or removed.", + "example": "2012-12-12T10:53:43-08:00" }, - "updated_at": { + "deleted_at": { "type": "string", "format": "date-time", - "example": "2020-07-26T18:44:45.869Z", - "description": "ISO date time string when this\nshield information barrier segment Member was updated." + "description": "When the policy release request was sent. (Because\nit can take time for a policy to fully delete, this\nisn't quite the same time that the policy is fully deleted).\n\nIf `null`, the policy was not deleted.", + "example": "2012-12-12T10:53:43-08:00" }, - "updated_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" - }, - { - "description": "The user that updated this shield information barrier segment Member." - } - ] - } - } - } - ] - }, - "ShieldInformationBarrierSegmentMember--Base": { - "title": "Shield information barrier segment member (Base)", - "type": "object", - "x-box-resource-id": "shield_information_barrier_segment_member--base", - "x-box-tag": "shield_information_barrier_segment_members", - "x-box-variants": [ - "base", - "mini", - "standard" - ], - "x-box-variant": "base", - "description": "A base representation of a\nshield information barrier segment member object", - "properties": { - "id": { - "type": "string", - "example": "11446498", - "description": "The unique identifier for the\nshield information barrier segment member" - }, - "type": { - "type": "string", - "description": "The type of the shield information barrier segment member", - "example": "shield_information_barrier_segment_member", - "enum": [ - "shield_information_barrier_segment_member" - ] - } - } - }, - "ShieldInformationBarrierSegmentMember--Mini": { - "title": "Shield information barrier segment member (Mini)", - "type": "object", - "x-box-resource-id": "shield_information_barrier_segment_member--mini", - "x-box-tag": "shield_information_barrier_segment_members", - "x-box-variants": [ - "base", - "mini", - "standard" - ], - "x-box-variant": "mini", - "description": "A mini representation of a\nshield information barrier segment member object", - "allOf": [ - { - "$ref": "#/components/schemas/ShieldInformationBarrierSegmentMember--Base" - }, - { - "properties": { - "user": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" - }, - { - "description": "The `type` and `id` of the requested shield information barrier segment member." - } - ] + "filter_started_at": { + "type": "string", + "format": "date-time", + "description": "User-specified, optional date filter applies to\nCustodian assignments only", + "example": "2012-12-12T10:53:43-08:00" + }, + "filter_ended_at": { + "type": "string", + "format": "date-time", + "description": "User-specified, optional date filter applies to\nCustodian assignments only", + "example": "2012-12-12T10:53:43-08:00" + }, + "release_notes": { + "type": "string", + "example": "Example", + "description": "Optional notes about why the policy was created.", + "maxLength": 500 } } } ] }, - "ShieldInformationBarrierSegmentMembers": { - "title": "List of Shield Information Barrier Segment Members", + "LegalHoldPolicies": { + "title": "Legal hold policies", "type": "object", - "x-box-resource-id": "shield_information_barrier_segment_members", - "x-box-tag": "shield_information_barrier_segment_members", - "description": "List of Shield Information Barrier Member objects", + "x-box-resource-id": "legal_hold_policies", + "x-box-tag": "legal_hold_policies", + "description": "A list of legal hold policies.", "allOf": [ { "type": "object", @@ -32940,6 +31769,12 @@ "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true } } }, @@ -32947,182 +31782,151 @@ "properties": { "entries": { "type": "array", - "description": "A list of shield information\nbarrier segment members", + "description": "A list of legal hold policies", "items": { - "$ref": "#/components/schemas/ShieldInformationBarrierSegmentMember" + "$ref": "#/components/schemas/LegalHoldPolicy" } } } } ] }, - "ShieldInformationBarrierSegmentRestriction": { - "title": "Shield information barrier segment restriction", + "LegalHoldPolicy--Mini": { + "title": "Legal hold policy (Mini)", "type": "object", - "x-box-resource-id": "shield_information_barrier_segment_restriction", - "x-box-tag": "shield_information_barrier_segment_restrictions", + "x-box-resource-id": "legal_hold_policy--mini", + "x-box-tag": "legal_hold_policies", "x-box-variants": [ - "base", "mini", "standard" ], - "x-box-variant": "standard", - "description": "A standard representation of a\nsegment restriction of a shield information barrier\nobject", + "x-box-variant": "mini", + "description": "A mini legal hold policy", "required": [ - "shield_information_barrier_segment", - "restricted_segment" + "id", + "type" ], + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this legal hold policy", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`legal_hold_policy`", + "example": "legal_hold_policy", + "enum": [ + "legal_hold_policy" + ] + } + } + }, + "LegalHoldPolicyAssignment": { + "title": "Legal hold policy assignment", + "type": "object", + "x-box-resource-id": "legal_hold_policy_assignment", + "x-box-tag": "legal_hold_policy_assignments", + "description": "Legal Hold Assignments are used to assign Legal Hold\nPolicies to Users, Folders, Files, or File Versions.\n\nCreating a Legal Hold Assignment puts a hold\non the File-Versions that belong to the Assignment's\n'apply-to' entity.", "allOf": [ { - "$ref": "#/components/schemas/ShieldInformationBarrierSegmentRestriction--Mini" + "$ref": "#/components/schemas/LegalHoldPolicyAssignment--Base" }, { "properties": { - "shield_information_barrier": { - "$ref": "#/components/schemas/ShieldInformationBarrier--Base" - }, - "created_at": { - "type": "string", - "format": "date-time", - "example": "2020-06-26T18:44:45.869Z", - "description": "ISO date time string when this\nshield information barrier\nSegment Restriction object was created." - }, - "created_by": { + "legal_hold_policy": { "allOf": [ { - "$ref": "#/components/schemas/User--Base" + "$ref": "#/components/schemas/LegalHoldPolicy--Mini" }, { - "description": "The user who created this shield information barrier segment Restriction." + "description": "The policy that the legal hold policy assignment\nis part of" } ] }, - "updated_at": { - "type": "string", - "format": "date-time", - "example": "2020-07-26T18:44:45.869Z", - "description": "ISO date time string when this\nshield information barrier segment\nRestriction was updated." + "assigned_to": { + "allOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/File" + }, + { + "$ref": "#/components/schemas/Folder" + }, + { + "$ref": "#/components/schemas/WebLink" + } + ] + }, + { + "description": "The item that the the legal hold policy\nis assigned to. Includes type and ID." + } + ] }, - "updated_by": { + "assigned_by": { "allOf": [ { - "$ref": "#/components/schemas/User--Base" + "$ref": "#/components/schemas/User--Mini" }, { - "description": "The user that updated this shield information barrier segment Restriction." + "description": "The user who created the legal hold policy\nassignment" } ] + }, + "assigned_at": { + "type": "string", + "format": "date-time", + "description": "When the legal hold policy assignment object was\ncreated", + "example": "2012-12-12T10:53:43-08:00" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "description": "When the assignment release request was sent.\n(Because it can take time for an assignment to fully\ndelete, this isn't quite the same time that the\nassignment is fully deleted). If null, Assignment\nwas not deleted.", + "example": "2012-12-12T10:53:43-08:00" } } } ] }, - "ShieldInformationBarrierSegmentRestriction--Base": { - "title": "Shield information barrier segment restriction (Base)", + "LegalHoldPolicyAssignment--Base": { + "title": "Legal hold policy assignment (Base)", "type": "object", - "x-box-resource-id": "shield_information_barrier_segment_restriction--base", - "x-box-tag": "shield_information_barrier_segment_restrictions", + "x-box-resource-id": "legal_hold_policy_assignment--base", + "x-box-tag": "legal_hold_policy_assignments", "x-box-variants": [ "base", - "mini", "standard" ], "x-box-variant": "base", - "description": "A base representation of\na segment restriction object for\nthe shield information barrier", - "required": [ - "shield_information_barrier_segment", - "restricted_segment" - ], + "description": "Legal Hold Assignments are used to assign Legal Hold\nPolicies to Users, Folders, Files, or File Versions.\n\nCreating a Legal Hold Assignment puts a hold\non the File-Versions that belong to the Assignment's\n'apply-to' entity.", "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this legal hold assignment", + "example": "11446498" + }, "type": { "type": "string", - "description": "Shield information barrier segment restriction", - "example": "shield_information_barrier_segment_restriction", + "description": "`legal_hold_policy_assignment`", + "example": "legal_hold_policy_assignment", "enum": [ - "shield_information_barrier_segment_restriction" + "legal_hold_policy_assignment" ] - }, - "id": { - "type": "string", - "example": "11446498", - "description": "The unique identifier for the\nshield information barrier segment restriction." } } }, - "ShieldInformationBarrierSegmentRestriction--Mini": { - "title": "Shield information barrier segment restriction (Mini)", + "LegalHoldPolicyAssignments": { + "title": "Legal hold policy assignments", "type": "object", - "x-box-resource-id": "shield_information_barrier_segment_restriction--mini", - "x-box-tag": "shield_information_barrier_segment_restrictions", - "x-box-variants": [ - "base", - "mini", - "standard" - ], - "x-box-variant": "mini", - "description": "A mini representation of\na segment restriction object for\nthe shield information barrier", - "required": [ - "shield_information_barrier_segment", - "restricted_segment" - ], + "x-box-resource-id": "legal_hold_policy_assignments", + "x-box-tag": "legal_hold_policy_assignments", + "description": "A list of legal hold policies assignments.", "allOf": [ { - "$ref": "#/components/schemas/ShieldInformationBarrierSegmentRestriction--Base" - }, - { - "properties": { - "shield_information_barrier_segment": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "1910967", - "description": "The ID reference of the\nrequesting shield information barrier segment." - }, - "type": { - "type": "string", - "description": "The type of the shield information barrier segment", - "example": "shield_information_barrier_segment", - "enum": [ - "shield_information_barrier_segment" - ] - } - }, - "description": "The `type` and `id` of the\nrequested shield information barrier segment." - }, - "restricted_segment": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "1910967", - "description": "The ID reference of the\nrestricted shield information barrier segment." - }, - "type": { - "type": "string", - "description": "The type of the shield information segment", - "example": "shield_information_barrier_segment", - "enum": [ - "shield_information_barrier_segment" - ] - } - }, - "description": "The `type` and `id` of the\nrestricted shield information barrier segment." - } - } - } - ] - }, - "ShieldInformationBarrierSegmentRestrictions": { - "title": "List of Shield Information Barrier Segment Restrictions", - "type": "object", - "x-box-resource-id": "shield_information_barrier_segment_restrictions", - "x-box-tag": "shield_information_barrier_segment_restrictions", - "description": "List of shield information barrier segment restriction objects", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", "properties": { "limit": { "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", @@ -33135,6 +31939,12 @@ "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true } } }, @@ -33142,287 +31952,216 @@ "properties": { "entries": { "type": "array", - "description": "A list of shield information barrier\nsegment restriction objects", + "description": "A list of legal hold\npolicy assignments", "items": { - "$ref": "#/components/schemas/ShieldInformationBarrierSegmentRestriction" + "$ref": "#/components/schemas/LegalHoldPolicyAssignment" } } } } ] }, - "SearchResults": { - "title": "Search Results", + "Metadata": { + "title": "Metadata instance", "type": "object", - "x-box-resource-id": "search_results", - "x-box-tag": "search", - "description": "A list of files, folders and web links that matched the search query.", - "required": [ - "type" - ], + "x-box-resource-id": "metadata", + "x-box-tag": "file_metadata", + "x-box-variant": "standard", + "description": "An instance of a metadata template, which has been applied to a file or\nfolder.", "allOf": [ { - "type": "object", - "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the search results.\nThe total number of entries in the collection may be less than\n`total_count`.", - "example": 5000, - "type": "integer", - "format": "int64" - }, - "limit": { - "description": "The limit that was used for this search. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter used.", - "example": 2000, - "type": "integer", - "format": "int64" - } - } - }, - { - "properties": { - "type": { - "description": "Specifies the response as search result items without shared links", - "type": "string", - "example": "search_results_items", - "enum": [ - "search_results_items" - ], - "nullable": false - }, - "entries": { - "description": "The search results for the query provided.", - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/File--Full" - }, - { - "$ref": "#/components/schemas/Folder--Full" - }, - { - "$ref": "#/components/schemas/WebLink" - } - ] - } - } - } + "$ref": "#/components/schemas/Metadata--Base" } ] }, - "SearchResultsWithSharedLinks": { - "title": "Search Results (including Shared Links)", + "Metadata--Full": { + "title": "Metadata instance (Full)", "type": "object", - "x-box-resource-id": "search_results_with_shared_links", - "x-box-tag": "search", - "description": "A list of files, folders and web links that matched the search query,\nincluding the additional information about any shared links through\nwhich the item has been shared with the user.\n\nThis response format is only returned when the `include_recent_shared_links`\nquery parameter has been set to `true`.", - "required": [ - "type" - ], + "x-box-resource-id": "metadata--full", + "x-box-variant": "full", + "description": "An instance of a metadata template, which has been applied to a file or\nfolder.", "allOf": [ { - "type": "object", + "$ref": "#/components/schemas/Metadata" + }, + { "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the search results.\nThe total number of entries in the collection may be less than\n`total_count`.", - "example": 5000, - "type": "integer", - "format": "int64" + "$canEdit": { + "type": "boolean", + "example": true, + "description": "Whether the user can edit this metadata instance." }, - "limit": { - "description": "The limit that was used for this search. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed.", - "example": 1000, - "type": "integer", - "format": "int64" + "$id": { + "type": "string", + "format": "uuid", + "example": "01234500-12f1-1234-aa12-b1d234cb567e", + "maxLength": 36, + "description": "A UUID to identify the metadata instance." }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter used.", - "example": 2000, + "$type": { + "type": "string", + "example": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", + "description": "A unique identifier for the \"type\" of this instance. This is an\ninternal system property and should not be used by a client\napplication." + }, + "$typeVersion": { "type": "integer", - "format": "int64" + "example": 2, + "description": "The last-known version of the template of the object. This is an\ninternal system property and should not be used by a client\napplication." } } }, { - "properties": { - "type": { - "description": "Specifies the response as search result items with shared links", - "type": "string", - "example": "search_results_with_shared_links", - "enum": [ - "search_results_with_shared_links" - ], - "nullable": false - }, - "entries": { - "description": "The search results for the query provided, including the\nadditional information about any shared links through\nwhich the item has been shared with the user.", - "type": "array", - "items": { - "$ref": "#/components/schemas/SearchResultWithSharedLink" + "additionalProperties": { + "allOf": [ + {}, + { + "example": "Aaron Levie" + }, + { + "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." } - } + ], + "x-box-example-key": "name" } } ] }, - "SearchResultWithSharedLink": { - "title": "Search Result (including Shared Link)", + "Metadata--Base": { + "title": "Metadata instance (Base)", "type": "object", - "x-box-resource-id": "search_result_with_shared_link", - "x-box-tag": "search", - "description": "A single of files, folder or web link that matched the search query,\nincluding the additional information about the shared link through\nwhich the item has been shared with the user.\n\nThis response format is only returned when the\n`include_recent_shared_links` query parameter has been set to `true`.", + "x-box-resource-id": "metadata--base", + "x-box-tag": "file_metadata", + "x-box-variants": [ + "base", + "standard", + "full" + ], + "x-box-variant": "base", + "description": "The base representation of a metadata instance.", "properties": { - "accessible_via_shared_link": { - "description": "The optional shared link through which the user has access to this\nitem. This value is only returned for items for which the user has\nrecently accessed the file through a shared link. For all other\nitems this value will return `null`.", - "example": "https://www.box.com/s/vspke7y05sb214wjokpk", + "$parent": { "type": "string", - "format": "url" + "example": "folder_59449484661,", + "description": "The identifier of the item that this metadata instance\nhas been attached to. This combines the `type` and the `id`\nof the parent in the form `{type}_{id}`." }, - "item": { - "allOf": [ - { - "oneOf": [ - { - "$ref": "#/components/schemas/File--Full" - }, - { - "$ref": "#/components/schemas/Folder--Full" - }, - { - "$ref": "#/components/schemas/WebLink" - } - ] - }, - { - "description": "The file, folder or web link that matched the\nsearch query." - } - ] + "$template": { + "type": "string", + "example": "marketingCollateral", + "description": "The name of the template" }, - "type": { - "description": "The result type. The value is always `search_result`.", - "example": "search_result", - "type": "string" + "$scope": { + "type": "string", + "example": "enterprise_27335", + "description": "An ID for the scope in which this template\nhas been applied. This will be `enterprise_{enterprise_id}` for templates\ndefined for use in this enterprise, and `global` for general templates\nthat are available to all enterprises using Box." + }, + "$version": { + "type": "integer", + "example": 1, + "description": "The version of the metadata instance. This version starts at 0 and\nincreases every time a user-defined property is modified." } } }, - "SessionTerminationMessage": { - "title": "Session termination message", + "Metadatas": { + "title": "Metadata instances", "type": "object", - "x-box-resource-id": "session_termination", - "x-box-tag": "session_termination", - "description": "A message informing about the\ntermination job status", + "x-box-resource-id": "metadatas", + "x-box-tag": "file_metadata", + "description": "A list of metadata instances that have been applied to a file or folder.", "properties": { - "message": { - "type": "string", - "description": "The unique identifier for the termination job status", - "example": "Request is successful, please check the admin\nevents for the status of the job" + "entries": { + "type": "array", + "description": "A list of metadata instances, as applied to this file or folder.", + "items": { + "$ref": "#/components/schemas/Metadata" + } + }, + "limit": { + "description": "The limit that was used for this page of results.", + "example": 100, + "type": "integer" } } }, - "SkillCardsMetadata": { - "title": "Skills metadata instance", + "MetadataCascadePolicy": { + "title": "Metadata cascade policy", "type": "object", - "x-box-resource-id": "skill_cards_metadata", - "x-box-tag": "skills", - "description": "The metadata assigned to a using for Box skills.", + "x-box-resource-id": "metadata_cascade_policy", + "x-box-tag": "metadata_cascade_policies", + "description": "A metadata cascade policy automatically applies a metadata template instance\nto all the files and folders within the targeted folder.", + "required": [ + "id", + "type" + ], "properties": { - "$canEdit": { - "type": "boolean", - "example": true, - "description": "Whether the user can edit this metadata" - }, - "$id": { - "type": "string", - "format": "uuid", - "example": "01234500-12f1-1234-aa12-b1d234cb567e", - "maxLength": 36, - "description": "A UUID to identify the metadata object" - }, - "$parent": { - "type": "string", - "example": "folder_59449484661,", - "description": "An ID for the parent folder" - }, - "$scope": { - "type": "string", - "example": "enterprise_27335", - "description": "An ID for the scope in which this template\nhas been applied" - }, - "$template": { + "id": { "type": "string", - "example": "properties", - "description": "The name of the template" + "example": "6fd4ff89-8fc1-42cf-8b29-1890dedd26d7", + "description": "The ID of the metadata cascade policy object" }, - "$type": { + "type": { "type": "string", - "example": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", - "description": "A unique identifier for the \"type\" of this instance. This is an internal\nsystem property and should not be used by a client application." - }, - "$typeVersion": { - "type": "integer", - "example": 2, - "description": "The last-known version of the template of the object. This is an internal\nsystem property and should not be used by a client application." - }, - "$version": { - "type": "integer", - "example": 1, - "description": "The version of the metadata object. Starts at 0 and increases every time\na user-defined property is modified." + "description": "`metadata_cascade_policy`", + "example": "metadata_cascade_policy", + "enum": [ + "metadata_cascade_policy" + ] }, - "cards": { - "type": "array", - "description": "A list of Box Skill cards that have been applied to this file.", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/KeywordSkillCard" - }, - { - "$ref": "#/components/schemas/TimelineSkillCard" - }, - { - "$ref": "#/components/schemas/TranscriptSkillCard" - }, - { - "$ref": "#/components/schemas/StatusSkillCard" - } - ] + "owner_enterprise": { + "type": "object", + "description": "The enterprise that owns this policy.", + "properties": { + "type": { + "type": "string", + "example": "enterprise", + "description": "`enterprise`", + "enum": [ + "enterprise" + ] + }, + "id": { + "type": "string", + "example": "690678", + "description": "The ID of the enterprise that owns the policy." + } } - } - } - }, - "StoragePolicy": { - "title": "Storage policy", - "type": "object", - "x-box-resource-id": "storage_policy", - "x-box-variant": "standard", - "description": "The Storage Policy object describes the storage zone.", - "allOf": [ - { - "$ref": "#/components/schemas/StoragePolicy--Mini" }, - { + "parent": { + "type": "object", + "description": "Represent the folder the policy is applied to.", "properties": { - "name": { - "description": "A descriptive name of the region", + "type": { "type": "string", - "example": "Montreal / Dublin" + "example": "folder", + "description": "`folder`", + "enum": [ + "folder" + ] + }, + "id": { + "type": "string", + "example": "1234567", + "description": "The ID of the folder the policy is applied to." } } + }, + "scope": { + "type": "string", + "description": "The scope of the metadata cascade policy can either be `global` or\n`enterprise_*`. The `global` scope is used for policies that are\navailable to any Box enterprise. The `enterprise_*` scope represents\npolicies that have been created within a specific enterprise, where `*`\nwill be the ID of that enterprise.", + "example": "enterprise_123456" + }, + "templateKey": { + "type": "string", + "example": "productInfo", + "description": "The key of the template that is cascaded down to the folder's\nchildren.\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]: e://get-metadata-templates-enterprise\n[file]: e://get-files-id-metadata\n[folder]: e://get-folders-id-metadata" } - ] + } }, - "StoragePolicies": { - "title": "Storage policies", + "MetadataCascadePolicies": { + "title": "Metadata cascade policies", "type": "object", - "x-box-resource-id": "storage_policies", - "x-box-tag": "storage_policies", - "description": "A list of storage policies.", + "x-box-resource-id": "metadata_cascade_policies", + "x-box-tag": "metadata_cascade_policies", + "description": "A list of metadata cascade policies.", "allOf": [ { "type": "object", @@ -33452,112 +32191,295 @@ "properties": { "entries": { "type": "array", - "description": "A list of storage policies", + "description": "A list of metadata cascade policies", "items": { - "$ref": "#/components/schemas/StoragePolicy" + "$ref": "#/components/schemas/MetadataCascadePolicy" } } } } ] }, - "StoragePolicy--Mini": { - "title": "Storage policy (Mini)", + "MetadataQueryIndex": { + "title": "Metadata query index", "type": "object", - "x-box-resource-id": "storage_policy--mini", - "x-box-tag": "storage_policies", - "x-box-variants": [ - "standard", - "mini" - ], - "x-box-variant": "mini", - "description": "A mini description of a Storage Policy object", + "x-box-resource-id": "metadata_query_index", + "x-box-tag": "search", + "description": "A metadata query index", "required": [ - "id", - "type" + "type", + "status" ], "properties": { "id": { "type": "string", - "description": "The unique identifier for this storage policy", - "example": "11446498" + "example": "-9876", + "description": "The ID of the metadata query index." }, "type": { "type": "string", - "description": "`storage_policy`", - "example": "storage_policy", + "description": "Value is always `metadata_query_index`", + "example": "metadata_query_index", + "nullable": false + }, + "status": { + "type": "string", + "description": "The status of the metadata query index", + "example": "active", "enum": [ - "storage_policy" - ] + "building", + "active", + "disabled" + ], + "nullable": false + }, + "fields": { + "type": "array", + "description": "A list of template fields which make up the index.", + "items": { + "type": "object", + "description": "The field which makes up the index.", + "allOf": [ + { + "properties": { + "key": { + "type": "string", + "example": "vendor name", + "description": "The metadata template field key." + }, + "sort_direction": { + "type": "string", + "example": "asc", + "description": "The sort direction of the field.", + "enum": [ + "asc", + "desc" + ] + } + } + } + ] + } } } }, - "StoragePolicyAssignment": { - "title": "Storage policy assignment", + "MetadataQueryResults": { + "title": "Metadata query search results", "type": "object", - "x-box-resource-id": "storage_policy_assignment", - "x-box-tag": "storage_policy_assignments", - "description": "The assignment of a storage policy to a user or enterprise", - "required": [ - "id", - "type" - ], + "x-box-tag": "search", + "x-box-resource-id": "metadata_query_results", + "description": "A page of files and folders that matched the metadata query.", + "properties": { + "entries": { + "description": "The mini representation of the files and folders that match the search\nterms.\n\nBy default, this endpoint returns only the most basic info about the\nitems. To get additional fields for each item, including any of the\nmetadata, use the `fields` attribute in the query.", + "type": "array", + "x-box-resource-variant": 1, + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/File--Full" + }, + { + "$ref": "#/components/schemas/Folder--Full" + } + ] + } + }, + "limit": { + "description": "The limit that was used for this search. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed.", + "default": 100, + "example": 100, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "0!-M7487OpVfBTNBV-XsQjU50gQFlbFFu5nArMWD7Ck61GH_Qo40M1S2xN5zWZPBzEjaQS1SOjJiQoo5BsXEl1bCVLRZ2pTqo4SKp9tyqzWQK2L51KR_nC1EgF5I_TJSFw7uO2Bx4HweGETOjh5_2oPSWw5iMkM-OvGApeR0lGFO48FDKoyzJyLgz5aogxoKd8VE09CesOOnTnmZvrW0puylDc-hFjY5YLmWFBKox3SOWiSDwKFkmZGNHyjEzza1nSwbZg6CYsAdGsDwGJhuCeTNsFzP5Mo5qx9wMloS0lSPuf2CcBInbIJzl2CKlXF3FvqhANttpm2nzdBTQRSoJyJnjVBpf4Q_HjV2eb4KIZBBlLy067UCVdv2AAWQFd5E2i6s1YiGRTtgMEZntOSUYD4IYLMWWm5Ra7ke_SP32SL3GSjbBQYIyCVQ..", + "type": "string" + } + } + }, + "MetadataTemplate": { + "title": "Metadata template", + "type": "object", + "x-box-resource-id": "metadata_template", + "x-box-tag": "metadata_templates", + "description": "A template for metadata that can be applied to files and folders", + "required": [ + "type", + "id" + ], "properties": { "id": { "type": "string", - "description": "The unique identifier for a storage policy assignment.", - "example": "ZW50ZXJwcmlzZV8xMjM0NTY3ODkw" + "example": "58063d82-4128-7b43-bba9-92f706befcdf", + "description": "The ID of the metadata template." }, "type": { "type": "string", - "description": "`storage_policy_assignment`", - "example": "storage_policy_assignment", + "description": "`metadata_template`", + "example": "metadata_template", "enum": [ - "storage_policy_assignment" - ] + "metadata_template" + ], + "nullable": false }, - "storage_policy": { - "allOf": [ - { - "$ref": "#/components/schemas/StoragePolicy--Mini" - }, - { - "description": "The assigned storage policy" - } - ] + "scope": { + "type": "string", + "description": "The scope of the metadata template can either be `global` or\n`enterprise_*`. The `global` scope is used for templates that are\navailable to any Box enterprise. The `enterprise_*` scope represents\ntemplates that have been created within a specific enterprise, where `*`\nwill be the ID of that enterprise.", + "example": "enterprise_123456" }, - "assigned_to": { - "allOf": [ - { - "title": "Reference", - "description": "The bare basic reference for an object", - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this object", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "The type for this object", - "example": "file" + "templateKey": { + "type": "string", + "example": "productInfo", + "description": "A unique identifier for the template. This identifier is unique across\nthe `scope` of the enterprise to which the metadata template is being\napplied, yet is not necessarily unique across different enterprises.", + "maxLength": 64, + "pattern": "^[a-zA-Z_][-a-zA-Z0-9_]*$" + }, + "displayName": { + "type": "string", + "description": "The display name of the template. This can be seen in the Box web app\nand mobile apps.", + "maxLength": 4096, + "example": "Product Info" + }, + "hidden": { + "type": "boolean", + "example": true, + "description": "Defines if this template is visible in the Box web app UI, or if\nit is purely intended for usage through the API." + }, + "fields": { + "type": "array", + "description": "An ordered list of template fields which are part of the template. Each\nfield can be a regular text field, date field, number field, as well as a\nsingle or multi-select list.", + "items": { + "type": "object", + "description": "A field within a metadata template. Fields can be a basic text, date, or\nnumber field, or a list of options.", + "allOf": [ + { + "title": "Metadata Field (Read)", + "description": "A field within a metadata template. Fields can be a basic text, date, or\nnumber field, or a list of options.", + "required": [ + "type", + "key", + "displayName" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "string", + "description": "The type of field. The basic fields are a `string` field for text, a\n`float` field for numbers, and a `date` fields 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\n**Note**: The `integer` value is deprecated.\nIt is still present in the response,\nbut cannot be used in the POST request.", + "enum": [ + "string", + "float", + "date", + "enum", + "multiSelect", + "integer" + ] + }, + "key": { + "type": "string", + "example": "category", + "description": "A unique identifier for the field. The identifier must\nbe unique within the template to which it belongs.", + "maxLength": 256 + }, + "displayName": { + "type": "string", + "example": "Category", + "description": "The display name of the field as it is shown to the user in the web and\nmobile apps.", + "maxLength": 4096 + }, + "description": { + "type": "string", + "example": "The category", + "description": "A description of the field. This is not shown to the user.", + "maxLength": 4096 + }, + "hidden": { + "type": "boolean", + "example": true, + "description": "Whether this field is hidden in the UI for the user and can only be set\nthrough the API instead." + }, + "options": { + "description": "A list of options for this field. This is used in combination with the\n`enum` and `multiSelect` field types.", + "type": "array", + "items": { + "title": "Metadata Option (Write)", + "type": "object", + "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.", + "required": [ + "key" + ], + "properties": { + "key": { + "description": "The text value of the option. This represents both the display name of the\noption and the internal key used when updating templates.", + "example": "Category 1", + "type": "string" + } + } + } + } + } + }, + { + "properties": { + "id": { + "type": "string", + "example": "822227e0-47a5-921b-88a8-494760b2e6d2", + "description": "The unique ID of the metadata template field." + }, + "options": { + "description": "A list of options for this field. This is used in combination\nwith the `enum` and `multiSelect` field types.", + "type": "array", + "items": { + "type": "object", + "description": "An option for a Metadata Template Field.\n\nOptions are only present for fields of type `enum` and\n`multiSelect`. Options represent the value(s) a user can\nselect for the field either through the UI or through the API.", + "allOf": [ + { + "title": "Metadata Option (Write)", + "type": "object", + "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.", + "required": [ + "key" + ], + "properties": { + "key": { + "description": "The text value of the option. This represents both the display name of the\noption and the internal key used when updating templates.", + "example": "Category 1", + "type": "string" + } + } + }, + { + "properties": { + "id": { + "type": "string", + "example": "45dc2849-a4a7-40a9-a751-4a699a589190", + "description": "The internal unique identifier of the the option." + } + } + } + ] + } + } } } - }, - { - "description": "The enterprise or use the policy is assigned to" - } - ] + ] + } + }, + "copyInstanceOnItemCopy": { + "type": "boolean", + "description": "Whether or not to include the metadata when a file or folder is copied.", + "example": true } } }, - "StoragePolicyAssignments": { - "title": "Storage policy assignments", + "MetadataTemplates": { + "title": "Metadata templates", "type": "object", - "x-box-resource-id": "storage_policy_assignments", - "x-box-tag": "storage_policy_assignments", - "description": "A list of storage policy assignments.", + "x-box-resource-id": "metadata_templates", + "x-box-tag": "metadata_templates", + "description": "A list of metadata templates", "allOf": [ { "type": "object", @@ -33587,353 +32509,369 @@ "properties": { "entries": { "type": "array", - "description": "A list of storage policy assignments", + "description": "A list of metadata templates", "items": { - "$ref": "#/components/schemas/StoragePolicyAssignment" + "$ref": "#/components/schemas/MetadataTemplate" } } } } ] }, - "Task": { - "title": "Task", + "RealtimeServer": { + "title": "Real-time server", "type": "object", - "x-box-resource-id": "task", - "x-box-tag": "tasks", - "description": "A task allows for file-centric workflows within Box. Users can\ncreate tasks on files and assign them to other users for them to complete the\ntasks.", + "x-box-resource-id": "realtime_server", + "description": "A real-time server that can be used for\nlong polling user events", "properties": { - "id": { + "type": { + "description": "`realtime_server`", "type": "string", - "description": "The unique identifier for this task", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`task`", - "example": "task", - "enum": [ - "task" - ] - }, - "item": { - "allOf": [ - { - "$ref": "#/components/schemas/File--Mini" - }, - { - "description": "The file associated with the task" - } - ] - }, - "due_at": { - "type": "string", - "format": "date-time", - "description": "When the task is due", - "example": "2012-12-12T10:53:43-08:00" + "example": "realtime_server" }, - "action": { + "url": { "type": "string", - "example": "review", - "description": "The type of task the task assignee will be prompted to\nperform.", - "enum": [ - "review", - "complete" - ] + "example": "http://2.realtime.services.box.net/subscribe?channel=cc807c9c4869ffb1c81a&stream_type=all", + "description": "The URL for the server." }, - "message": { + "ttl": { + "description": "The time in minutes for which this server is available", "type": "string", - "description": "A message that will be included with the task", - "example": "Legal review" - }, - "task_assignment_collection": { - "allOf": [ - { - "$ref": "#/components/schemas/TaskAssignments" - }, - { - "description": "A collection of task assignment objects\nassociated with the task" - } - ] - }, - "is_completed": { - "type": "boolean", - "description": "Whether the task has been completed", - "example": true - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created the task" - } - ] + "example": "10" }, - "created_at": { + "max_retries": { + "description": "The maximum number of retries this server will\nallow before a new long poll should be started by\ngetting a [new list of server](#options-events).", "type": "string", - "format": "date-time", - "description": "When the task object was created", - "example": "2012-12-12T10:53:43-08:00" + "example": "10" }, - "completion_rule": { - "type": "string", - "description": "Defines which assignees need to complete this task before the task\nis considered completed.\n\n* `all_assignees` requires all assignees to review or\napprove the the task in order for it to be considered completed.\n* `any_assignee` accepts any one assignee to review or\napprove the the task in order for it to be considered completed.", - "example": "all_assignees", - "enum": [ - "all_assignees", - "any_assignee" - ] + "retry_timeout": { + "description": "The maximum number of seconds without a response\nafter which you should retry the long poll connection.\n\nThis helps to overcome network issues where the long\npoll looks to be working but no packages are coming\nthrough.", + "type": "integer", + "example": 610 } } }, - "Tasks": { - "title": "Tasks", + "RealtimeServers": { + "title": "Real-time servers", "type": "object", - "x-box-resource-id": "tasks", - "x-box-tag": "tasks", - "description": "A list of tasks", + "x-box-resource-id": "realtime_servers", + "description": "A list of real-time servers that can\nbe used for long-polling.", + "x-box-tag": "events", "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.", - "example": 5000, + "chunk_size": { + "description": "The number of items in this response.", + "example": 1, "type": "integer", "format": "int64" }, "entries": { "type": "array", - "description": "A list of tasks", + "description": "A list of real-time servers", "items": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/RealtimeServer" } } } }, - "TaskAssignment": { - "title": "Task assignment", + "RecentItem": { + "title": "Recent item", "type": "object", - "x-box-resource-id": "task_assignment", - "x-box-tag": "task_assignments", - "description": "A task assignment defines which task is assigned to which user to complete.", + "x-box-resource-id": "recent_item", + "description": "A recent item accessed by a user.", + "x-box-tag": "recent_items", "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this task assignment", - "example": "11446498" - }, "type": { "type": "string", - "description": "`task_assignment`", - "example": "task_assignment", - "enum": [ - "task_assignment" - ] + "description": "`recent_item`", + "example": "recent_item" }, "item": { "allOf": [ { - "$ref": "#/components/schemas/File--Mini" - }, - { - "description": "The file that the task has been assigned to." - } - ] - }, - "assigned_to": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" + "oneOf": [ + { + "$ref": "#/components/schemas/File--Full" + }, + { + "$ref": "#/components/schemas/Folder--Full" + }, + { + "$ref": "#/components/schemas/WebLink" + } + ] }, { - "description": "The user that the task has been assigned to." + "description": "The item that was recently accessed." } ] }, - "message": { - "type": "string", - "example": "Please review", - "description": "A message that will is included with the task\nassignment. This is visible to the assigned user in the web and mobile\nUI." - }, - "completed_at": { - "type": "string", - "format": "date-time", - "description": "The date at which this task assignment was\ncompleted. This will be `null` if the task is not completed yet.", - "example": "2012-12-12T10:53:43-08:00" - }, - "assigned_at": { + "interaction_type": { "type": "string", - "format": "date-time", - "description": "The date at which this task was assigned to the user.", - "example": "2012-12-12T10:53:43-08:00" + "example": "item_preview", + "description": "The most recent type of access the user performed on\nthe item.", + "enum": [ + "item_preview", + "item_upload", + "item_comment", + "item_open", + "item_modify" + ] }, - "reminded_at": { + "interacted_at": { "type": "string", "format": "date-time", - "description": "The date at which the assigned user was reminded of this task\nassignment.", - "example": "2012-12-12T10:53:43-08:00" + "description": "The time of the most recent interaction.", + "example": "2018-04-13T13:53:23-07:00" }, - "resolution_state": { + "interaction_shared_link": { "type": "string", - "description": "The current state of the assignment. The available states depend on\nthe `action` value of the task object.", - "example": "incomplete", - "enum": [ - "completed", - "incomplete", - "approved", - "rejected" - ] - }, - "assigned_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who assigned this task." - } - ] - } - } - }, - "TaskAssignments": { - "title": "Task assignments", - "type": "object", - "x-box-resource-id": "task_assignments", - "x-box-tag": "task_assignments", - "description": "A list of task assignments", - "properties": { - "total_count": { - "description": "The total number of items in this collection.", - "example": 100, - "type": "integer", - "format": "int64" - }, - "entries": { - "type": "array", - "description": "A list of task assignments", - "items": { - "$ref": "#/components/schemas/TaskAssignment" - } + "example": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", + "description": "If the item was accessed through a shared link it will appear here,\notherwise this will be null." } } }, - "TermsOfService": { - "title": "Terms of service", + "RecentItems": { + "title": "Recent items", "type": "object", - "x-box-resource-id": "terms_of_service", - "x-box-variant": "standard", - "description": "The root-level record that is supposed to represent a\nsingle Terms of Service.", + "x-box-resource-id": "recent_items", + "description": "A list of recent items.", "allOf": [ { - "$ref": "#/components/schemas/TermsOfService--Base" - }, - { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", "properties": { - "status": { - "description": "Whether these terms are enabled or not", - "type": "string", - "example": "enabled", - "enum": [ - "enabled", - "disabled" - ] + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - "enterprise": { - "allOf": [ - { - "title": "Enterprise", - "type": "object", - "description": "A representation of a Box enterprise", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this enterprise.", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`enterprise`", - "example": "enterprise", - "enum": [ - "enterprise" - ] - }, - "name": { - "description": "The name of the enterprise", - "example": "Acme Inc.", - "type": "string" - } - } - }, - { - "description": "The enterprise these terms apply to" - } + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true + } + } + }, + { + "properties": { + "entries": { + "type": "array", + "description": "A list of recent items", + "items": { + "$ref": "#/components/schemas/RecentItem" + } + } + } + } + ] + }, + "RetentionPolicies": { + "title": "Retention policies", + "type": "object", + "x-box-resource-id": "retention_policies", + "x-box-tag": "retention_policies", + "description": "A list of retention policies.", + "allOf": [ + { + "properties": { + "entries": { + "description": "A list in which each entry represents a retention policy object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/RetentionPolicy" + } + } + } + }, + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + } + } + } + ] + }, + "RetentionPolicy": { + "title": "Retention policy", + "type": "object", + "x-box-resource-id": "retention_policy", + "x-box-tag": "retention_policies", + "x-box-variant": "standard", + "description": "A retention policy blocks permanent deletion of content\nfor a specified amount of time. Admins can create retention\npolicies and then later assign them to specific folders, metadata\ntemplates, or their entire enterprise. To use this feature, you must\nhave the manage retention policies scope enabled\nfor your API key via your application management console.", + "allOf": [ + { + "$ref": "#/components/schemas/RetentionPolicy--Mini" + }, + { + "properties": { + "description": { + "type": "string", + "example": "Policy to retain all reports for at least one month", + "description": "The additional text description of the retention policy." + }, + "policy_type": { + "type": "string", + "example": "finite", + "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.", + "enum": [ + "finite", + "indefinite" ] }, - "tos_type": { - "description": "Whether to apply these terms to managed users or external users", + "retention_type": { "type": "string", - "example": "managed", + "example": "non_modifiable", + "description": "Specifies the retention type:\n\n* `modifiable`: You can modify the retention policy. For example,\n you can add or remove folders, shorten or lengthen\n the policy duration, or delete the assignment.\n Use this type if your retention policy\n is not related to any regulatory purposes.\n\n* `non-modifiable`: You can modify the retention policy\n only in a limited way: add a folder, lengthen the duration,\n retire the policy, change the disposition action\n or notification settings. You cannot perform other actions,\n such as deleting the assignment or shortening the\n policy duration. Use this type to ensure\n compliance with regulatory retention policies.", "enum": [ - "managed", - "external" + "modifiable", + "non_modifiable" ] }, - "text": { - "description": "The text for your terms and conditions. This text could be\nempty if the `status` is set to `disabled`.", + "status": { "type": "string", - "example": "By using this service, you agree to ..." + "example": "active", + "description": "The status of the retention policy. The status of\na policy will be `active`, unless explicitly retired by an\nadministrator, in which case the status will be `retired`.\nOnce a policy has been retired, it cannot become\nactive again.", + "enum": [ + "active", + "retired" + ] + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "A mini user object representing the user that\ncreated the retention policy." + } + ] }, "created_at": { "type": "string", "format": "date-time", - "description": "When the legal item was created", + "description": "When the retention policy object was created.", "example": "2012-12-12T10:53:43-08:00" }, "modified_at": { "type": "string", "format": "date-time", - "description": "When the legal item was modified.", + "description": "When the retention policy object was last modified.", "example": "2012-12-12T10:53:43-08:00" + }, + "can_owner_extend_retention": { + "type": "boolean", + "description": "Determines if the owner of items under the policy\ncan extend the retention when the original\nretention duration is about to end.", + "example": false + }, + "are_owners_notified": { + "type": "boolean", + "description": "Determines if owners and co-owners of items\nunder the policy are notified when\nthe retention duration is about to end.", + "example": false + }, + "custom_notification_recipients": { + "type": "array", + "description": "A list of users notified when the retention policy duration is about to end.", + "items": { + "$ref": "#/components/schemas/User--Mini" + } + }, + "assignment_counts": { + "type": "object", + "description": "Counts the retention policy assignments for each item type.", + "properties": { + "enterprise": { + "description": "The number of enterprise assignments this policy has. The maximum value is 1.", + "format": "int64", + "type": "integer", + "example": 1 + }, + "folder": { + "description": "The number of folder assignments this policy has.", + "format": "int64", + "type": "integer", + "example": 1 + }, + "metadata_template": { + "description": "The number of metadata template assignments this policy has.", + "format": "int64", + "type": "integer", + "example": 1 + } + } } } } ] }, - "TermsOfServices": { - "title": "Terms of services", + "RetentionPolicy--Mini": { + "title": "Retention policy (Mini)", "type": "object", - "x-box-resource-id": "terms_of_services", - "x-box-tag": "terms_of_services", - "description": "A list of terms of services", - "properties": { - "total_count": { - "description": "The total number of objects.", - "example": 2, - "type": "integer", - "format": "int64" + "x-box-resource-id": "retention_policy--mini", + "x-box-variant": "mini", + "description": "A mini representation of a retention policy, used when\nnested within another resource.", + "allOf": [ + { + "$ref": "#/components/schemas/RetentionPolicy--Base" }, - "entries": { - "type": "array", - "description": "A list of terms of service objects", - "items": { - "$ref": "#/components/schemas/TermsOfService" + { + "properties": { + "policy_name": { + "type": "string", + "description": "The name given to the retention policy.", + "example": "Some Policy Name" + }, + "retention_length": { + "type": "string", + "format": "int32", + "example": "365", + "minimum": 1, + "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`." + }, + "disposition_action": { + "type": "string", + "example": "permanently_delete", + "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.", + "enum": [ + "permanently_delete", + "remove_retention" + ] + } } } - } + ] }, - "TermsOfService--Base": { - "title": "Terms of service (Base)", + "RetentionPolicy--Base": { + "title": "Retention policy (Base)", "type": "object", - "x-box-resource-id": "terms_of_service--base", - "x-box-tag": "terms_of_services", + "x-box-resource-id": "retention_policy--base", + "x-box-tag": "retention_policies", "x-box-variants": [ "base", + "mini", "standard" ], "x-box-variant": "base", - "description": "The root-level record that is supposed to represent a\nsingle Terms of Service.", + "description": "A base representation of a retention policy.", "required": [ "id", "type" @@ -33941,25 +32879,32 @@ "properties": { "id": { "type": "string", - "description": "The unique identifier for this terms of service.", - "example": "11446498" + "nullable": false, + "description": "The unique identifier that represents a retention policy.", + "example": "12345" }, "type": { "type": "string", - "description": "`terms_of_service`", - "example": "terms_of_service", + "description": "`retention_policy`", + "example": "retention_policy", "enum": [ - "terms_of_service" - ] + "retention_policy" + ], + "nullable": false } } }, - "TermsOfServiceUserStatus": { - "title": "Terms of service user status", + "RetentionPolicyAssignment--Base": { + "title": "Retention policy assignment (Base)", "type": "object", - "x-box-resource-id": "terms_of_service_user_status", - "x-box-tag": "terms_of_service_user_statuses", - "description": "The association between a Terms of Service and a user", + "x-box-resource-id": "retention_policy_assignment--base", + "x-box-tag": "retention_policy_assignments", + "x-box-variants": [ + "base", + "standard" + ], + "x-box-variant": "base", + "description": "A base representation of a retention policy assignment.", "required": [ "id", "type" @@ -33967,2258 +32912,2042 @@ "properties": { "id": { "type": "string", - "description": "The unique identifier for this terms of service user status", + "nullable": false, + "description": "The unique identifier that represents a file version.", + "example": "12345" + }, + "type": { + "type": "string", + "description": "`retention_policy_assignment`", + "example": "retention_policy_assignment", + "enum": [ + "retention_policy_assignment" + ], + "nullable": false + } + } + }, + "RetentionPolicyAssignment": { + "title": "Retention policy assignment", + "type": "object", + "x-box-resource-id": "retention_policy_assignment", + "x-box-tag": "retention_policy_assignments", + "description": "A retention assignment represents a rule specifying\nthe files a retention policy retains.\nAssignments can retain files based on their folder or metadata,\nor hold all files in the enterprise.", + "required": [ + "id", + "type" + ], + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for a retention policy assignment.", "example": "11446498" }, "type": { "type": "string", - "description": "`terms_of_service_user_status`", - "example": "terms_of_service_user_status", + "description": "`retention_policy_assignment`", + "example": "retention_policy_assignment", "enum": [ - "terms_of_service_user_status" + "retention_policy_assignment" ] }, - "tos": { + "retention_policy": { "allOf": [ { - "$ref": "#/components/schemas/TermsOfService--Base" + "$ref": "#/components/schemas/RetentionPolicy--Mini" }, { - "description": "The terms of service" + "description": "A mini representation of a retention policy object\nthat has been assigned to the content." } ] }, - "user": { + "assigned_to": { + "type": "object", + "description": "The `type` and `id` of the content that is under\nretention. The `type` can either be `folder`\n`enterprise`, or `metadata_template`.", + "properties": { + "id": { + "type": "string", + "nullable": true, + "example": "a983f69f-e85f-4ph4-9f46-4afdf9c1af65", + "description": "The ID of the folder, enterprise, or metadata template\nthe policy is assigned to.\nSet to null or omit when type is set to enterprise." + }, + "type": { + "type": "string", + "example": "metadata_template", + "description": "The type of resource the policy is assigned to.", + "enum": [ + "folder", + "enterprise", + "metadata_template" + ] + } + } + }, + "filter_fields": { + "type": "array", + "nullable": true, + "description": "An array of field objects. Values are only returned if the `assigned_to`\ntype is `metadata_template`. Otherwise, the array is blank.", + "items": { + "type": "object", + "nullable": true, + "properties": { + "field": { + "type": "string", + "nullable": true, + "description": "The metadata attribute key id.", + "example": "a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4" + }, + "value": { + "type": "string", + "nullable": true, + "description": "The metadata attribute field id. For value, only\nenum and multiselect types are supported.", + "example": "0c27b756-0p87-4fe0-a43a-59fb661ccc4e" + } + } + } + }, + "assigned_by": { "allOf": [ { "$ref": "#/components/schemas/User--Mini" }, { - "description": "The user" + "description": "A mini user object representing the user that\ncreated the retention policy assignment." } ] }, - "is_accepted": { - "type": "boolean", - "example": true, - "description": "If the user has accepted the terms of services" - }, - "created_at": { + "assigned_at": { "type": "string", "format": "date-time", - "description": "When the legal item was created", + "description": "When the retention policy assignment object was\ncreated.", "example": "2012-12-12T10:53:43-08:00" }, - "modified_at": { + "start_date_field": { "type": "string", - "format": "date-time", - "description": "When the legal item was modified.", - "example": "2012-12-12T10:53:43-08:00" - } - } - }, - "TermsOfServiceUserStatuses": { - "title": "Terms of service user statuses", - "type": "object", - "x-box-resource-id": "terms_of_services_user_statuses", - "x-box-tag": "terms_of_service_user_statuses", - "description": "A list of terms of service user statuses", - "properties": { - "total_count": { - "description": "The total number of objects.", - "example": 2, - "type": "integer", - "format": "int64" - }, - "entries": { - "type": "array", - "description": "A list of terms of service user statuses", - "items": { - "$ref": "#/components/schemas/TermsOfServiceUserStatus" - } + "description": "The date the retention policy assignment begins.\nIf the `assigned_to` type is `metadata_template`,\nthis field can be a date field's metadata attribute key id.", + "example": "upload_date" } } }, - "SignTemplate": { - "title": "Box Sign template", + "RetentionPolicyAssignments": { + "title": "Retention policy assignments", "type": "object", - "x-box-resource-id": "sign_template", - "x-box-tag": "sign_templates", - "description": "A Box Sign template object", + "x-box-resource-id": "retention_policy_assignments", + "x-box-tag": "retention_policy_assignments", + "description": "A list of retention policy assignments.", "allOf": [ { "properties": { - "type": { - "type": "string", - "example": "sign-template", - "enum": [ - "sign-template" - ], - "description": "object type" - }, - "id": { - "type": "string", - "example": "4206996024-14944f75-c34b-478a-95a1-264b1ff80d35", - "description": "Template identifier." - }, - "name": { - "type": "string", - "nullable": true, - "example": "Official contract", - "description": "The name of the template." - }, - "email_subject": { - "type": "string", - "example": "Sign Request from Acme", - "description": "Subject of signature request email. This is cleaned by sign request. If this field is not passed, a default subject will be used.", - "nullable": true - }, - "email_message": { - "type": "string", - "example": "Hello! Please sign the document below", - "description": "Message to include in signature request email. The field is cleaned through sanitization of specific characters. However, some html tags are allowed. Links included in the message are also converted to hyperlinks in the email. The message may contain the following html tags including `a`, `abbr`, `acronym`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, and `strong`. Be aware that when the text to html ratio is too high, the email may end up in spam filters. Custom styles on these tags are not allowed. If this field is not passed, a default message will be used.", - "nullable": true - }, - "days_valid": { - "type": "integer", - "description": "Set the number of days after which the created signature request will automatically expire if not completed. By default, we do not apply any expiration date on signature requests, and the signature request does not expire.", - "minimum": 0, - "maximum": 730, - "example": 2, - "nullable": true - }, - "parent_folder": { - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" - }, - { - "description": "The destination folder to place final, signed document and signing\nlog. Only `ID` and `type` fields are required. The root folder,\nfolder ID `0`, cannot be used." - } - ] - }, - "source_files": { + "entries": { "type": "array", + "description": "A list of retention policy assignments", "items": { - "$ref": "#/components/schemas/File--Mini" - }, - "description": "List of files to create a signing document from. Only the ID and type fields are required for each file." - }, - "are_fields_locked": { - "type": "boolean", - "description": "Indicates if the template input fields are editable or not.", - "example": false - }, - "are_options_locked": { - "type": "boolean", - "description": "Indicates if the template document options are editable or not, for example renaming the document.", - "example": true - }, - "are_recipients_locked": { - "type": "boolean", - "description": "Indicates if the template signers are editable or not.", - "example": false - }, - "are_email_settings_locked": { - "type": "boolean", - "description": "Indicates if the template email settings are editable or not.", - "example": true - }, - "are_files_locked": { - "type": "boolean", - "description": "Indicates if the template files are editable or not. This includes deleting or renaming template files.", - "example": true - }, - "signers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TemplateSigner" - }, - "description": "Array of signers for the template.\n\n**Note**: It may happen that some signers specified in the template belong to conflicting [segments](r://shield-information-barrier-segment-member) (user groups).\nThis means that due to the security policies, users are assigned to segments to prevent exchanges or communication that could lead to ethical conflicts.\nIn such a case, an attempt to send a sign request based on a template that lists signers in conflicting segments will result in an error.\n\nRead more about [segments and ethical walls](https://support.box.com/hc/en-us/articles/9920431507603-Understanding-Information-Barriers#h_01GFVJEHQA06N7XEZ4GCZ9GFAQ)." - }, - "additional_info": { - "description": "Additional information on which fields are required and which fields are not editable.", - "type": "object", - "properties": { - "non_editable": { - "type": "array", - "description": "Non editable fields.", - "items": { - "type": "string", - "enum": [ - "email_subject", - "email_message", - "name", - "days_valid", - "signers", - "source_files" - ] - }, - "example": [ - "email_subject", - "name" - ] - }, - "required": { - "type": "object", - "description": "Required fields.", - "properties": { - "signers": { - "description": "Required signer fields.", - "example": [ - [ - "email" - ], - [ - "email" - ] - ], - "type": "array", - "items": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "email" - ] - }, - "example": [ - "email" - ] - } - } - } - } - } - }, - "ready_sign_link": { - "nullable": true, - "description": "Box's ready-sign link feature enables you to create a link to a signature request that you've created from a template. Use this link when you want to post a signature request on a public form — such as an email, social media post, or web page — without knowing who the signers will be. Note: The ready-sign link feature is limited to Enterprise Plus customers and not available to Box Verified Enterprises.", - "type": "object", - "properties": { - "url": { - "type": "string", - "description": "The URL that can be sent to signers.", - "example": "\"https://app.box.com/sign/\nready-sign-link/a1cdf2c7-fa81-4a67-8163-1e5f4dbe5178\"" - }, - "name": { - "type": "string", - "nullable": true, - "description": "Request name.", - "example": "Official contract" - }, - "instructions": { - "type": "string", - "nullable": true, - "description": "Extra instructions for all signers.", - "example": "Hello! Please sign the document below" - }, - "folder_id": { - "type": "string", - "nullable": true, - "example": "12345", - "description": "The destination folder to place final,\nsigned document and signing\nlog. Only `ID` and `type` fields are required.\nThe root folder,\nfolder ID `0`, cannot be used." - }, - "is_notification_disabled": { - "type": "boolean", - "description": "Whether to disable notifications when\na signer has signed.", - "example": true - }, - "is_active": { - "type": "boolean", - "description": "Whether the ready sign link is enabled or not.", - "example": false - } - } - }, - "custom_branding": { - "nullable": true, - "type": "object", - "description": "Custom branding applied to notifications\nand signature requests.", - "properties": { - "company_name": { - "description": "Name of the company", - "type": "string", - "nullable": true, - "example": "Corporation inc." - }, - "logo_uri": { - "type": "string", - "nullable": true, - "description": "Custom branding logo URI in the form of a base64 image.", - "example": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA\nAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A\n8AAQUBAScY42YAAAAASUVORK5CYII=" - }, - "branding_color": { - "type": "string", - "nullable": true, - "example": "9E5E6F", - "description": "Custom branding color in hex." - }, - "email_footer_text": { - "type": "string", - "nullable": true, - "example": "Contact email email@mail.com", - "description": "Content of the email footer." - } - } - } - } - } - ] - }, - "SignTemplates": { - "title": "Box Sign templates", - "type": "object", - "x-box-resource-id": "sign_templates", - "x-box-tag": "sign_templates", - "description": "A list of templates, as returned from any Box Sign\nAPI endpoints by default.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" + "$ref": "#/components/schemas/RetentionPolicyAssignment" + } + } + } + }, + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, "next_marker": { "description": "The marker for the start of the next page of results.", "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", "nullable": true - }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true - } - } - }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of templates.", - "items": { - "$ref": "#/components/schemas/SignTemplate" - } - } - } - } - ] - }, - "TemplateSigner": { - "title": "Signer fields for Templates", - "type": "object", - "description": "The schema for a Signer for Templates", - "allOf": [ - { - "properties": { - "inputs": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TemplateSignerInput" - }, - "readOnly": true - }, - "email": { - "type": "string", - "description": "Email address of the signer", - "example": "example@mail.com", - "nullable": true - }, - "role": { - "type": "string", - "enum": [ - "signer", - "approver", - "final_copy_reader" - ], - "description": "Defines the role of the signer in the signature request. A role of\n`signer` needs to sign the document, a role `approver`\napproves the document and\na `final_copy_reader` role only\nreceives the final signed document and signing log.", - "example": "signer", - "default": "signer" - }, - "is_in_person": { - "type": "boolean", - "description": "Used in combination with an embed URL for a sender.\nAfter the sender signs, they will be\nredirected to the next `in_person` signer.", - "example": true - }, - "order": { - "type": "integer", - "description": "Order of the signer", - "minimum": 0, - "example": 2 - }, - "signer_group_id": { - "type": "string", - "description": "If provided, this value points signers that are assigned the same inputs and belongs to same signer group.\nA signer group is not a Box Group. It is an entity that belongs to the template itself and can only be used\nwithin Box Sign requests created from it.", - "example": "cd4ff89-8fc1-42cf-8b29-1890dedd26d7", - "nullable": true - }, - "label": { - "type": "string", - "description": "A placeholder label for the signer set by the template creator to differentiate between signers.", - "example": "Jane Doe", - "nullable": true - }, - "public_id": { - "type": "string", - "description": "An identifier for the signer. This can be used to identify a signer within the template.", - "example": "RJZYYVPR" } } } ] }, - "TemplateSignerInput": { - "title": "Template Signer Input", + "ShieldInformationBarrier": { + "title": "Shield information barrier", "type": "object", - "description": "Input created by a Signer on a Template", - "required": [ - "page_index" - ], - "allOf": [ - { - "$ref": "#/components/schemas/SignRequestPrefillTag" - }, - { - "properties": { - "type": { - "type": "string", - "enum": [ - "signature", - "date", - "text", - "checkbox", - "attachment", - "radio", - "dropdown" - ], - "description": "Type of input", - "example": "text" - }, - "content_type": { - "type": "string", - "enum": [ - "signature", - "initial", - "stamp", - "date", - "checkbox", - "text", - "full_name", - "first_name", - "last_name", - "company", - "title", - "email", - "attachment", - "radio", - "dropdown" - ], - "description": "Content type of input", - "example": "text" - }, - "is_required": { - "type": "boolean", - "description": "Whether or not the input is required.", - "example": true - }, - "page_index": { - "type": "integer", - "description": "Index of page that the input is on.", - "example": 4 - }, - "document_id": { - "type": "string", - "description": "Document identifier.", - "example": "123075213-eb54b537-8b25-445e-87c1-5a1c67d8cbd7", - "nullable": true - }, - "dropdown_choices": { - "type": "array", - "example": [ - "Yes", - "No", - "Maybe" - ], - "description": "When the input is of the type `dropdown` this values will be filled with all the dropdown options.", - "nullable": true, - "items": { - "type": "string" - } - }, - "group_id": { - "type": "string", - "description": "When the input is of type `radio` they can be grouped to gather with this identifier.", - "nullable": true, - "example": "da317330-225a-4c72-89ad-0d6dcaaf4df6" - }, - "coordinates": { - "type": "object", - "description": "Where the input is located on a page.", - "properties": { - "x": { - "type": "number", - "example": 0.672258592471358, - "description": "Relative x coordinate to the page the input is on, ranging from 0 to 1." - }, - "y": { - "type": "number", - "example": 0.18654283173599448, - "description": "Relative y coordinate to the page the input is on, ranging from 0 to 1." - } - } - }, - "dimensions": { - "type": "object", - "description": "The size of the input.", - "properties": { - "width": { - "type": "number", - "example": 0.2618657937806874, - "description": "Relative width to the page the input is on, ranging from 0 to 1." - }, - "height": { - "type": "number", - "example": 0.05311728090109673, - "description": "Relative height to the page the input is on, ranging from 0 to 1." - } - } - }, - "label": { - "type": "string", - "description": "The label field is used especially for text, attachment, radio, and checkbox type inputs.", - "nullable": true, - "example": "Legal name" - }, - "read_only": { - "type": "boolean", - "description": "Whether this input was defined as read-only(immutable by signers) or not", - "example": true - } - } - } - ] - }, - "TrashFile": { - "title": "Trashed File", - "type": "object", - "x-box-resource-id": "trash_file", - "x-box-tag": "trashed_files", - "description": "Represents a trashed file.", - "required": [ - "id", - "type", - "sequence_id", - "sha1", - "description", - "size", - "path_collection", - "created_at", - "modified_at", - "modified_by", - "owned_by", - "item_status" + "x-box-resource-id": "shield_information_barrier", + "x-box-tag": "shield_information_barriers", + "x-box-variants": [ + "base", + "standard" ], + "x-box-variant": "standard", + "description": "A standard representation of a\nshield information barrier object", "properties": { "id": { "type": "string", - "nullable": false, - "description": "The unique identifier that represent 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`.", - "example": "123456789" + "example": "11446498", + "description": "The unique identifier for the shield information barrier" }, - "etag": { + "type": { "type": "string", - "example": "1", - "nullable": true, - "description": "The HTTP `etag` of this file. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the file if (no) changes have happened." + "description": "The type of the shield information barrier", + "example": "shield_information_barrier", + "enum": [ + "shield_information_barrier" + ] }, - "type": { + "enterprise": { + "allOf": [ + { + "$ref": "#/components/schemas/Enterprise--Base" + } + ], + "description": "The `type` and `id` of enterprise this barrier is under." + }, + "status": { "type": "string", - "description": "`file`", - "example": "file", "enum": [ - "file" + "draft", + "pending", + "disabled", + "enabled", + "invalid" ], - "nullable": false + "description": "Status of the shield information barrier", + "example": "draft" }, - "sequence_id": { + "created_at": { + "type": "string", + "format": "date-time", + "example": "2020-06-26T18:44:45.869Z", + "description": "ISO date time string when this\nshield information barrier object was created." + }, + "created_by": { "allOf": [ { - "type": "string", - "example": "3", - "nullable": true, - "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." - }, - { - "nullable": false + "$ref": "#/components/schemas/User--Base" } - ] + ], + "description": "The user who created this shield information barrier." }, - "name": { + "updated_at": { "type": "string", - "description": "The name of the file", - "example": "Contract.pdf" + "format": "date-time", + "example": "2020-07-26T18:44:45.869Z", + "description": "ISO date time string when this shield information barrier was updated." }, - "sha1": { + "updated_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + } + ], + "description": "The user that updated this shield information barrier." + }, + "enabled_at": { "type": "string", - "format": "digest", - "nullable": false, - "example": "85136C79CBF9FE36BB9D05D0639C70C265C18D37", - "description": "The SHA1 hash of the file. This can be used to compare the contents\nof a file on Box with a local file." + "format": "date-time", + "example": "2020-07-26T18:44:45.869Z", + "description": "ISO date time string when this shield information barrier was enabled." }, - "file_version": { + "enabled_by": { "allOf": [ { - "$ref": "#/components/schemas/FileVersion--Mini" + "$ref": "#/components/schemas/User--Base" }, { - "description": "The information about the current version of the file." + "description": "The user that enabled this shield information barrier." } ] - }, - "description": { + } + } + }, + "ShieldInformationBarrier--Base": { + "title": "Shield information barrier (Base)", + "type": "object", + "x-box-resource-id": "shield_information_barrier--base", + "x-box-tag": "shield_information_barriers", + "x-box-variants": [ + "base", + "standard" + ], + "x-box-variant": "base", + "description": "A base representation of a\nshield information barrier object", + "properties": { + "id": { "type": "string", - "nullable": false, - "description": "The optional description of this file", - "maxLength": 256, - "example": "Contract for Q1 renewal" - }, - "size": { - "type": "integer", - "nullable": false, - "description": "The file size in bytes. Be careful parsing this integer as it can\nget very large and cause an integer overflow.", - "example": 629644 + "example": "11446498", + "description": "The unique identifier for the shield information barrier" }, - "path_collection": { - "allOf": [ - { - "title": "Path collection (Trash)", - "description": "A list of parent folders for an item in the trash.", - "type": "object", - "required": [ - "total_count", - "entries" - ], - "properties": { - "total_count": { - "description": "The number of folders in this list.", - "example": 1, - "type": "integer", - "format": "int64", - "nullable": false - }, - "entries": { - "description": "Array of folders for this item's path collection", - "type": "array", - "items": { - "type": "object", - "description": "The parent folder for this item", - "properties": { - "type": { - "type": "string", - "description": "`folder`", - "enum": [ - "folder" - ], - "example": "folder" - }, - "id": { - "type": "string", - "description": "The unique identifier that represent a folder.", - "example": "123456789" - }, - "sequence_id": { - "type": "string", - "nullable": true, - "example": null, - "description": "This field is null for the Trash folder" - }, - "etag": { - "type": "string", - "nullable": true, - "example": null, - "description": "This field is null for the Trash folder" - }, - "name": { - "type": "string", - "description": "The name of the Trash folder.", - "example": "Trash", - "nullable": false - } - } - } - } - } - }, - { - "description": "The tree of folders that this file is contained in,\nstarting at the root." - }, - { - "nullable": false - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "nullable": false, - "description": "The date and time when the file was created on Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "modified_at": { - "type": "string", - "format": "date-time", - "nullable": false, - "description": "The date and time when the file was last updated on Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "trashed_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The time at which this file was put in the trash.", - "example": "2012-12-12T10:53:43-08:00" - }, - "purged_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The time at which this file is expected to be purged\nfrom the trash.", - "example": "2012-12-12T10:53:43-08:00" - }, - "content_created_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time at which this file was originally\ncreated, which might be before it was uploaded to Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "content_modified_at": { + "type": { "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time at which this file was last updated,\nwhich might be before it was uploaded to Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created this file" - } - ] - }, - "modified_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who last modified this file" - }, - { - "nullable": false - } - ] - }, - "owned_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who owns this file" - }, - { - "nullable": false - } + "description": "The type of the shield information barrier", + "example": "shield_information_barrier", + "enum": [ + "shield_information_barrier" ] - }, - "shared_link": { - "type": "string", - "description": "The shared link for this file. This will\nbe `null` if a file has been trashed, since the link will no longer\nbe active.", - "example": null, - "nullable": true - }, - "parent": { - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" - }, - { - "description": "The folder that this file is located within." + } + } + }, + "ShieldInformationBarriers": { + "title": "List of Shield Information Barriers", + "type": "object", + "x-box-resource-id": "shield_information_barriers", + "x-box-tag": "shield_information_barriers", + "description": "List of Shield Information Barrier objects", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - { + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", "nullable": true } - ] + } }, - "item_status": { - "type": "string", - "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", - "enum": [ - "active", - "trashed", - "deleted" - ], - "nullable": false, - "example": "trashed" + { + "properties": { + "entries": { + "type": "array", + "description": "A list of shield information barrier objects", + "items": { + "$ref": "#/components/schemas/ShieldInformationBarrier" + } + } + } } - } + ] }, - "TrashFolder": { - "title": "Trashed Folder", + "ShieldInformationBarrierReport": { + "title": "Shield information barrier report", "type": "object", - "x-box-resource-id": "trash_folder", - "x-box-tag": "trashed_folders", - "description": "Represents a trashed folder.", - "required": [ - "id", - "type", - "name", - "description", - "size", - "path_collection", - "created_by", - "modified_by", - "owned_by", - "item_status" + "x-box-resource-id": "shield_information_barrier_report", + "x-box-tag": "shield_information_barrier_reports", + "x-box-variants": [ + "base", + "standard" ], - "properties": { - "id": { - "type": "string", - "nullable": false, - "description": "The unique identifier that represent a folder.\n\nThe ID for any folder can be determined\nby visiting a folder in the web application\nand copying the ID from the URL. For example,\nfor the URL `https://*.app.box.com/folders/123`\nthe `folder_id` is `123`.", - "example": "123456789" - }, - "etag": { - "type": "string", - "nullable": true, - "example": "1", - "description": "The HTTP `etag` of this folder. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the folder if (no) changes have happened." + "x-box-variant": "standard", + "description": "A standard representation\nof a shield information barrier report object", + "allOf": [ + { + "$ref": "#/components/schemas/ShieldInformationBarrierReport--Base" }, - "type": { - "type": "string", - "description": "`folder`", - "example": "folder", - "enum": [ - "folder" - ], - "nullable": false - }, - "sequence_id": { - "allOf": [ - { + { + "properties": { + "shield_information_barrier": { + "allOf": [ + { + "$ref": "#/components/schemas/ShieldInformationBarrierReference" + } + ] + }, + "status": { "type": "string", - "example": "3", - "nullable": true, - "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." + "enum": [ + "pending", + "error", + "done", + "cancelled" + ], + "description": "Status of the shield information report", + "example": "pending" }, - { - "nullable": false + "details": { + "allOf": [ + { + "$ref": "#/components/schemas/ShieldInformationBarrierReportDetails" + } + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2020-06-26T18:44:45.869Z", + "description": "ISO date time string when this\nshield information barrier report object was created." + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "The user who created this shield information barrier report." + } + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2020-07-26T18:44:45.869Z", + "description": "ISO date time string when this\nshield information barrier report was updated." + } + } + } + ] + }, + "ShieldInformationBarrierReport--Base": { + "title": "Shield information barrier report (Base)", + "type": "object", + "x-box-resource-id": "shield_information_barrier_report--base", + "x-box-tag": "shield_information_barrier_reports", + "x-box-variants": [ + "base", + "standard" + ], + "x-box-variant": "base", + "description": "A base representation of a\nshield information barrier report object", + "properties": { + "id": { + "type": "string", + "example": "11446498", + "description": "The unique identifier for the shield information barrier report" + }, + "type": { + "type": "string", + "description": "The type of the shield information barrier report", + "example": "shield_information_barrier_report", + "enum": [ + "shield_information_barrier_report" + ] + } + } + }, + "ShieldInformationBarrierReports": { + "title": "List of Shield Information Barrier Reports", + "type": "object", + "x-box-resource-id": "shield_information_barrier_reports", + "x-box-tag": "shield_information_barrier_reports", + "description": "A list of shield barrier reports.", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + } + } + }, + { + "properties": { + "entries": { + "type": "array", + "description": "A list of shield information\nbarrier reports.", + "items": { + "$ref": "#/components/schemas/ShieldInformationBarrierReport" + } } + } + } + ] + }, + "ShieldInformationBarrierSegment": { + "title": "Shield information barrier segment", + "type": "object", + "x-box-resource-id": "shield_information_barrier_segment", + "x-box-tag": "shield_information_barrier_segments", + "description": "A shield information barrier segment object", + "properties": { + "id": { + "type": "string", + "example": "11446498", + "description": "The unique identifier for the shield information barrier segment" + }, + "type": { + "type": "string", + "description": "The type of the shield information barrier segment", + "example": "shield_information_barrier_segment", + "enum": [ + "shield_information_barrier_segment" ] }, + "shield_information_barrier": { + "$ref": "#/components/schemas/ShieldInformationBarrier--Base" + }, "name": { "type": "string", - "description": "The name of the folder.", - "example": "Contracts", - "nullable": false + "example": "Investment Banking", + "description": "Name of the shield information barrier segment" }, - "created_at": { + "description": { "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time when the folder was created. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", - "example": "2012-12-12T10:53:43-08:00" + "example": "'Corporate division that engages in advisory_based financial\n transactions on behalf of individuals, corporations, and governments.'", + "description": "Description of the shield information barrier segment" }, - "modified_at": { + "created_at": { "type": "string", "format": "date-time", - "description": "The date and time when the folder was last updated. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", - "example": "2012-12-12T10:53:43-08:00", - "nullable": true + "example": "2020-06-26T18:44:45.869Z", + "description": "ISO date time string when this shield information\nbarrier object was created." }, - "description": { + "created_by": { "allOf": [ { - "type": "string", - "description": "The optional description of this folder", - "maxLength": 256, - "example": "Legal contracts for the new ACME deal", - "nullable": false + "$ref": "#/components/schemas/User--Base" }, { - "nullable": false + "description": "The user who created this shield information barrier segment." } ] }, - "size": { - "type": "integer", - "format": "int64", - "description": "The folder size in bytes.\n\nBe careful parsing this integer as its\nvalue can get very large.", - "example": 629644, - "nullable": false + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2020-07-26T18:44:45.869Z", + "description": "ISO date time string when this\nshield information barrier segment was updated." }, - "path_collection": { + "updated_by": { "allOf": [ { - "title": "Path collection (Trash)", - "description": "A list of parent folders for an item in the trash.", - "type": "object", - "required": [ - "total_count", - "entries" - ], - "properties": { - "total_count": { - "description": "The number of folders in this list.", - "example": 1, - "type": "integer", - "format": "int64", - "nullable": false - }, - "entries": { - "description": "Array of folders for this item's path collection", - "type": "array", - "items": { - "type": "object", - "description": "The parent folder for this item", - "properties": { - "type": { - "type": "string", - "description": "`folder`", - "enum": [ - "folder" - ], - "example": "folder" - }, - "id": { - "type": "string", - "description": "The unique identifier that represent a folder.", - "example": "123456789" - }, - "sequence_id": { - "type": "string", - "nullable": true, - "example": null, - "description": "This field is null for the Trash folder" - }, - "etag": { - "type": "string", - "nullable": true, - "example": null, - "description": "This field is null for the Trash folder" - }, - "name": { - "type": "string", - "description": "The name of the Trash folder.", - "example": "Trash", - "nullable": false - } - } - } - } - } - }, - { - "description": "The tree of folders that this file is contained in,\nstarting at the root." + "$ref": "#/components/schemas/User--Base" }, { - "nullable": false + "description": "The user that updated this shield information barrier segment." } ] - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created this folder" + } + } + }, + "ShieldInformationBarrierSegments": { + "title": "List of Shield Information Barrier Segments", + "type": "object", + "x-box-resource-id": "shield_information_barrier_segments", + "x-box-tag": "shield_information_barrier_segments", + "description": "List of Shield Information Barrier Segment objects", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - { - "nullable": false + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true } - ] + } }, - "modified_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who last modified this folder." - }, - { - "nullable": false + { + "properties": { + "entries": { + "type": "array", + "description": "A list of shield information barrier\nsegments", + "items": { + "$ref": "#/components/schemas/ShieldInformationBarrierSegment" + } } - ] - }, - "trashed_at": { - "type": "string", - "format": "date-time", - "description": "The time at which this folder was put in the trash.", - "example": "2012-12-12T10:53:43-08:00", - "nullable": true - }, - "purged_at": { - "type": "string", - "format": "date-time", - "description": "The time at which this folder is expected to be purged\nfrom the trash.", - "example": "2012-12-12T10:53:43-08:00", - "nullable": true - }, - "content_created_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time at which this folder was originally\ncreated.", - "example": "2012-12-12T10:53:43-08:00" - }, - "content_modified_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time at which this folder was last updated.", - "example": "2012-12-12T10:53:43-08:00" + } + } + ] + }, + "ShieldInformationBarrierSegmentMember": { + "title": "Shield information barrier segment member", + "type": "object", + "x-box-resource-id": "shield_information_barrier_segment_member", + "x-box-tag": "shield_information_barrier_segment_members", + "x-box-variants": [ + "base", + "mini", + "standard" + ], + "x-box-variant": "standard", + "description": "A standard representation of a\nshield information barrier segment member object", + "allOf": [ + { + "$ref": "#/components/schemas/ShieldInformationBarrierSegmentMember--Mini" }, - "owned_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" + { + "properties": { + "shield_information_barrier": { + "$ref": "#/components/schemas/ShieldInformationBarrier--Base" }, - { - "description": "The user who owns this folder." + "shield_information_barrier_segment": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "432554", + "description": "The ID reference of the requesting\nshield information barrier segment." + }, + "type": { + "type": "string", + "example": "shield_information_barrier_segment", + "description": "The type of the shield information barrier segment", + "enum": [ + "shield_information_barrier_segment" + ] + } + }, + "description": "The `type` and `id` of the requested\nshield information barrier segment." }, - { - "nullable": false - } - ] - }, - "shared_link": { - "type": "string", - "description": "The shared link for this folder. This will\nbe `null` if a folder has been trashed, since the link will no longer\nbe active.", - "example": null, - "nullable": true - }, - "folder_upload_email": { - "type": "string", - "description": "The folder upload email for this folder. This will\nbe `null` if a folder has been trashed, since the upload will no longer\nwork.", - "example": null, - "nullable": true - }, - "parent": { - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" + "user": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "The `type` and `id` of the requested shield information barrier segment member." + } + ] }, - { - "description": "The optional folder that this folder is located within.\n\nThis value may be `null` for some folders such as the\nroot folder or the trash folder." + "created_at": { + "type": "string", + "format": "date-time", + "example": "2020-06-26T18:44:45.869Z", + "description": "ISO date time string when this shield\ninformation barrier object was created." }, - { - "nullable": true + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "The user who created this shield information barrier segment member." + } + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2020-07-26T18:44:45.869Z", + "description": "ISO date time string when this\nshield information barrier segment Member was updated." + }, + "updated_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "The user that updated this shield information barrier segment Member." + } + ] } - ] - }, - "item_status": { - "type": "string", - "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", - "enum": [ - "active", - "trashed", - "deleted" - ], - "nullable": false, - "example": "trashed" + } } - } + ] }, - "TrashWebLink": { - "title": "Trashed Web Link", + "ShieldInformationBarrierSegmentMember--Base": { + "title": "Shield information barrier segment member (Base)", "type": "object", - "x-box-resource-id": "trash_web_link", - "x-box-tag": "trashed_web_links", - "description": "Represents a trashed web link.", + "x-box-resource-id": "shield_information_barrier_segment_member--base", + "x-box-tag": "shield_information_barrier_segment_members", + "x-box-variants": [ + "base", + "mini", + "standard" + ], + "x-box-variant": "base", + "description": "A base representation of a\nshield information barrier segment member object", "properties": { + "id": { + "type": "string", + "example": "11446498", + "description": "The unique identifier for the\nshield information barrier segment member" + }, "type": { "type": "string", - "description": "`web_link`", - "example": "web_link", + "description": "The type of the shield information barrier segment member", + "example": "shield_information_barrier_segment_member", "enum": [ - "web_link" + "shield_information_barrier_segment_member" ] + } + } + }, + "ShieldInformationBarrierSegmentMember--Mini": { + "title": "Shield information barrier segment member (Mini)", + "type": "object", + "x-box-resource-id": "shield_information_barrier_segment_member--mini", + "x-box-tag": "shield_information_barrier_segment_members", + "x-box-variants": [ + "base", + "mini", + "standard" + ], + "x-box-variant": "mini", + "description": "A mini representation of a\nshield information barrier segment member object", + "allOf": [ + { + "$ref": "#/components/schemas/ShieldInformationBarrierSegmentMember--Base" }, - "id": { - "type": "string", - "description": "The unique identifier for this web link", - "example": "11446498" - }, - "sequence_id": { - "allOf": [ - { - "type": "string", - "example": "3", - "nullable": true, - "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." - }, - { - "nullable": false + { + "properties": { + "user": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "The `type` and `id` of the requested shield information barrier segment member." + } + ] } - ] - }, - "etag": { - "type": "string", - "example": "1", - "description": "The entity tag of this web link. Used with `If-Match`\nheaders." - }, - "name": { - "type": "string", - "description": "The name of the web link", - "example": "My Bookmark" - }, - "url": { - "type": "string", - "example": "https://www.example.com/example/1234", - "description": "The URL this web link points to" - }, - "parent": { - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" + } + } + ] + }, + "ShieldInformationBarrierSegmentMembers": { + "title": "List of Shield Information Barrier Segment Members", + "type": "object", + "x-box-resource-id": "shield_information_barrier_segment_members", + "x-box-tag": "shield_information_barrier_segment_members", + "description": "List of Shield Information Barrier Member objects", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - { - "description": "The parent object the web link belongs to" + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true } - ] + } }, - "description": { - "type": "string", - "example": "Example page", - "description": "The description accompanying the web link. This is\nvisible within the Box web application." + { + "properties": { + "entries": { + "type": "array", + "description": "A list of shield information\nbarrier segment members", + "items": { + "$ref": "#/components/schemas/ShieldInformationBarrierSegmentMember" + } + } + } + } + ] + }, + "ShieldInformationBarrierSegmentRestriction": { + "title": "Shield information barrier segment restriction", + "type": "object", + "x-box-resource-id": "shield_information_barrier_segment_restriction", + "x-box-tag": "shield_information_barrier_segment_restrictions", + "x-box-variants": [ + "base", + "mini", + "standard" + ], + "x-box-variant": "standard", + "description": "A standard representation of a\nsegment restriction of a shield information barrier\nobject", + "required": [ + "shield_information_barrier_segment", + "restricted_segment" + ], + "allOf": [ + { + "$ref": "#/components/schemas/ShieldInformationBarrierSegmentRestriction--Mini" }, - "path_collection": { - "allOf": [ - { - "title": "Path collection (Trash)", - "description": "A list of parent folders for an item in the trash.", - "type": "object", - "required": [ - "total_count", - "entries" - ], - "properties": { - "total_count": { - "description": "The number of folders in this list.", - "example": 1, - "type": "integer", - "format": "int64", - "nullable": false + { + "properties": { + "shield_information_barrier": { + "$ref": "#/components/schemas/ShieldInformationBarrier--Base" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2020-06-26T18:44:45.869Z", + "description": "ISO date time string when this\nshield information barrier\nSegment Restriction object was created." + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" }, - "entries": { - "description": "Array of folders for this item's path collection", - "type": "array", - "items": { - "type": "object", - "description": "The parent folder for this item", - "properties": { - "type": { - "type": "string", - "description": "`folder`", - "enum": [ - "folder" - ], - "example": "folder" - }, - "id": { - "type": "string", - "description": "The unique identifier that represent a folder.", - "example": "123456789" - }, - "sequence_id": { - "type": "string", - "nullable": true, - "example": null, - "description": "This field is null for the Trash folder" - }, - "etag": { - "type": "string", - "nullable": true, - "example": null, - "description": "This field is null for the Trash folder" - }, - "name": { - "type": "string", - "description": "The name of the Trash folder.", - "example": "Trash", - "nullable": false - } - } - } + { + "description": "The user who created this shield information barrier segment Restriction." } - } + ] }, - { - "description": "The tree of folders that this web link is contained in,\nstarting at the root." + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2020-07-26T18:44:45.869Z", + "description": "ISO date time string when this\nshield information barrier segment\nRestriction was updated." }, - { - "nullable": false + "updated_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "The user that updated this shield information barrier segment Restriction." + } + ] } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "When this file was created on Box’s servers.", - "example": "2012-12-12T10:53:43-08:00" - }, - "modified_at": { - "type": "string", - "format": "date-time", - "description": "When this file was last updated on the Box\nservers.", - "example": "2012-12-12T10:53:43-08:00" - }, - "trashed_at": { + } + } + ] + }, + "ShieldInformationBarrierSegmentRestriction--Base": { + "title": "Shield information barrier segment restriction (Base)", + "type": "object", + "x-box-resource-id": "shield_information_barrier_segment_restriction--base", + "x-box-tag": "shield_information_barrier_segment_restrictions", + "x-box-variants": [ + "base", + "mini", + "standard" + ], + "x-box-variant": "base", + "description": "A base representation of\na segment restriction object for\nthe shield information barrier", + "required": [ + "shield_information_barrier_segment", + "restricted_segment" + ], + "properties": { + "type": { "type": "string", - "format": "date-time", - "nullable": true, - "description": "When this file was last moved to the trash.", - "example": "2012-12-12T10:53:43-08:00" + "description": "Shield information barrier segment restriction", + "example": "shield_information_barrier_segment_restriction", + "enum": [ + "shield_information_barrier_segment_restriction" + ] }, - "purged_at": { + "id": { "type": "string", - "format": "date-time", - "nullable": true, - "description": "When this file will be permanently deleted.", - "example": "2012-12-12T10:53:43-08:00" - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created this web link" - } - ] - }, - "modified_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who last modified this web link" - } - ] - }, - "owned_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who owns this web link" - } - ] - }, - "shared_link": { - "type": "string", - "description": "The shared link for this bookmark. This will\nbe `null` if a bookmark has been trashed, since the link will no longer\nbe active.", - "example": null, - "nullable": true - }, - "item_status": { - "type": "string", - "example": "trashed", - "enum": [ - "active", - "trashed", - "deleted" - ], - "description": "Whether this item is deleted or not. Values include `active`,\n`trashed` if the file has been moved to the trash, and `deleted` if\nthe file has been permanently deleted" + "example": "11446498", + "description": "The unique identifier for the\nshield information barrier segment restriction." } } }, - "TrashFileRestored": { - "title": "Trashed File (Restored)", + "ShieldInformationBarrierSegmentRestriction--Mini": { + "title": "Shield information barrier segment restriction (Mini)", "type": "object", - "x-box-resource-id": "trash_file_restored", - "x-box-tag": "trashed_files", - "description": "Represents a file restored from the trash.", + "x-box-resource-id": "shield_information_barrier_segment_restriction--mini", + "x-box-tag": "shield_information_barrier_segment_restrictions", + "x-box-variants": [ + "base", + "mini", + "standard" + ], + "x-box-variant": "mini", + "description": "A mini representation of\na segment restriction object for\nthe shield information barrier", "required": [ - "id", - "type", - "sequence_id", - "sha1", - "description", - "size", - "path_collection", - "created_at", - "modified_at", - "modified_by", - "owned_by", - "item_status" + "shield_information_barrier_segment", + "restricted_segment" ], - "properties": { - "id": { - "type": "string", - "nullable": false, - "description": "The unique identifier that represent 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`.", - "example": "123456789" - }, - "etag": { - "type": "string", - "example": "1", - "nullable": true, - "description": "The HTTP `etag` of this file. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the file if (no) changes have happened." - }, - "type": { - "type": "string", - "description": "`file`", - "example": "file", - "enum": [ - "file" - ], - "nullable": false - }, - "sequence_id": { - "allOf": [ - { - "type": "string", - "example": "3", - "nullable": true, - "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." - }, - { - "nullable": false - } - ] - }, - "name": { - "type": "string", - "description": "The name of the file", - "example": "Contract.pdf" - }, - "sha1": { - "type": "string", - "format": "digest", - "nullable": false, - "example": "85136C79CBF9FE36BB9D05D0639C70C265C18D37", - "description": "The SHA1 hash of the file. This can be used to compare the contents\nof a file on Box with a local file." - }, - "file_version": { - "allOf": [ - { - "$ref": "#/components/schemas/FileVersion--Mini" - }, - { - "description": "The information about the current version of the file." - } - ] - }, - "description": { - "type": "string", - "nullable": false, - "description": "The optional description of this file", - "maxLength": 256, - "example": "Contract for Q1 renewal" - }, - "size": { - "type": "integer", - "nullable": false, - "description": "The file size in bytes. Be careful parsing this integer as it can\nget very large and cause an integer overflow.", - "example": 629644 + "allOf": [ + { + "$ref": "#/components/schemas/ShieldInformationBarrierSegmentRestriction--Base" }, - "path_collection": { - "allOf": [ - { - "title": "Path collection", - "description": "A list of parent folders for an item.", + { + "properties": { + "shield_information_barrier_segment": { "type": "object", - "required": [ - "total_count", - "entries" - ], "properties": { - "total_count": { - "description": "The number of folders in this list.", - "example": 1, - "type": "integer", - "format": "int64", - "nullable": false + "id": { + "type": "string", + "example": "1910967", + "description": "The ID reference of the\nrequesting shield information barrier segment." }, - "entries": { - "type": "array", - "description": "The parent folders for this item", - "nullable": false, - "items": { - "$ref": "#/components/schemas/Folder--Mini" - } + "type": { + "type": "string", + "description": "The type of the shield information barrier segment", + "example": "shield_information_barrier_segment", + "enum": [ + "shield_information_barrier_segment" + ] } - } + }, + "description": "The `type` and `id` of the\nrequested shield information barrier segment." }, - { - "description": "The tree of folders that this file is contained in,\nstarting at the root." + "restricted_segment": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "1910967", + "description": "The ID reference of the\nrestricted shield information barrier segment." + }, + "type": { + "type": "string", + "description": "The type of the shield information segment", + "example": "shield_information_barrier_segment", + "enum": [ + "shield_information_barrier_segment" + ] + } + }, + "description": "The `type` and `id` of the\nrestricted shield information barrier segment." + } + } + } + ] + }, + "ShieldInformationBarrierSegmentRestrictions": { + "title": "List of Shield Information Barrier Segment Restrictions", + "type": "object", + "x-box-resource-id": "shield_information_barrier_segment_restrictions", + "x-box-tag": "shield_information_barrier_segment_restrictions", + "description": "List of shield information barrier segment restriction objects", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - { - "nullable": false + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "nullable": false, - "description": "The date and time when the file was created on Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "modified_at": { - "type": "string", - "format": "date-time", - "nullable": false, - "description": "The date and time when the file was last updated on Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "trashed_at": { - "type": "string", - "nullable": true, - "description": "The time at which this file was put in the\ntrash - becomes `null` after restore.", - "example": null + } }, - "purged_at": { - "type": "string", - "nullable": true, - "description": "The time at which this file is expected to be purged\nfrom the trash - becomes `null` after restore.", - "example": null - }, - "content_created_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time at which this file was originally\ncreated, which might be before it was uploaded to Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "content_modified_at": { - "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time at which this file was last updated,\nwhich might be before it was uploaded to Box.", - "example": "2012-12-12T10:53:43-08:00" - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created this file" + { + "properties": { + "entries": { + "type": "array", + "description": "A list of shield information barrier\nsegment restriction objects", + "items": { + "$ref": "#/components/schemas/ShieldInformationBarrierSegmentRestriction" + } } - ] - }, - "modified_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" + } + } + ] + }, + "SearchResults": { + "title": "Search Results", + "type": "object", + "x-box-resource-id": "search_results", + "x-box-tag": "search", + "description": "A list of files, folders and web links that matched the search query.", + "required": [ + "type" + ], + "allOf": [ + { + "type": "object", + "properties": { + "total_count": { + "description": "One greater than the offset of the last entry in the search results.\nThe total number of entries in the collection may be less than\n`total_count`.", + "example": 5000, + "type": "integer", + "format": "int64" }, - { - "description": "The user who last modified this file" + "limit": { + "description": "The limit that was used for this search. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed.", + "example": 1000, + "type": "integer", + "format": "int64" }, - { - "nullable": false + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter used.", + "example": 2000, + "type": "integer", + "format": "int64" } - ] + } }, - "owned_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" + { + "properties": { + "type": { + "description": "Specifies the response as search result items without shared links", + "type": "string", + "example": "search_results_items", + "enum": [ + "search_results_items" + ], + "nullable": false }, - { - "description": "The user who owns this file" + "entries": { + "description": "The search results for the query provided.", + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/File--Full" + }, + { + "$ref": "#/components/schemas/Folder--Full" + }, + { + "$ref": "#/components/schemas/WebLink" + } + ] + } + } + } + } + ] + }, + "SearchResultsWithSharedLinks": { + "title": "Search Results (including Shared Links)", + "type": "object", + "x-box-resource-id": "search_results_with_shared_links", + "x-box-tag": "search", + "description": "A list of files, folders and web links that matched the search query,\nincluding the additional information about any shared links through\nwhich the item has been shared with the user.\n\nThis response format is only returned when the `include_recent_shared_links`\nquery parameter has been set to `true`.", + "required": [ + "type" + ], + "allOf": [ + { + "type": "object", + "properties": { + "total_count": { + "description": "One greater than the offset of the last entry in the search results.\nThe total number of entries in the collection may be less than\n`total_count`.", + "example": 5000, + "type": "integer", + "format": "int64" }, - { - "nullable": false + "limit": { + "description": "The limit that was used for this search. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter used.", + "example": 2000, + "type": "integer", + "format": "int64" } - ] + } }, - "shared_link": { + { + "properties": { + "type": { + "description": "Specifies the response as search result items with shared links", + "type": "string", + "example": "search_results_with_shared_links", + "enum": [ + "search_results_with_shared_links" + ], + "nullable": false + }, + "entries": { + "description": "The search results for the query provided, including the\nadditional information about any shared links through\nwhich the item has been shared with the user.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchResultWithSharedLink" + } + } + } + } + ] + }, + "SearchResultWithSharedLink": { + "title": "Search Result (including Shared Link)", + "type": "object", + "x-box-resource-id": "search_result_with_shared_link", + "x-box-tag": "search", + "description": "A single of files, folder or web link that matched the search query,\nincluding the additional information about the shared link through\nwhich the item has been shared with the user.\n\nThis response format is only returned when the\n`include_recent_shared_links` query parameter has been set to `true`.", + "properties": { + "accessible_via_shared_link": { + "description": "The optional shared link through which the user has access to this\nitem. This value is only returned for items for which the user has\nrecently accessed the file through a shared link. For all other\nitems this value will return `null`.", + "example": "https://www.box.com/s/vspke7y05sb214wjokpk", "type": "string", - "description": "The shared link for this file. This will\nbe `null` if a file had been trashed, even though the original shared\nlink does become active again.", - "nullable": true, - "example": null + "format": "url" }, - "parent": { + "item": { "allOf": [ { - "$ref": "#/components/schemas/Folder--Mini" - }, - { - "description": "The folder that this file is located within." + "oneOf": [ + { + "$ref": "#/components/schemas/File--Full" + }, + { + "$ref": "#/components/schemas/Folder--Full" + }, + { + "$ref": "#/components/schemas/WebLink" + } + ] }, { - "nullable": true + "description": "The file, folder or web link that matched the\nsearch query." } ] }, - "item_status": { - "type": "string", - "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", - "enum": [ - "active", - "trashed", - "deleted" - ], - "nullable": false, - "example": "active" + "type": { + "description": "The result type. The value is always `search_result`.", + "example": "search_result", + "type": "string" } } }, - "TrashFolderRestored": { - "title": "Trashed Folder (Restored)", + "SessionTerminationMessage": { + "title": "Session termination message", "type": "object", - "x-box-resource-id": "trash_folder_restored", - "x-box-tag": "trashed_folders", - "description": "Represents a folder restored from the trash.", + "x-box-resource-id": "session_termination", + "x-box-tag": "session_termination", + "description": "A message informing about the\ntermination job status", "properties": { - "id": { + "message": { "type": "string", - "nullable": false, - "description": "The unique identifier that represent a folder.\n\nThe ID for any folder can be determined\nby visiting a folder in the web application\nand copying the ID from the URL. For example,\nfor the URL `https://*.app.box.com/folders/123`\nthe `folder_id` is `123`.", - "example": "123456789" + "description": "The unique identifier for the termination job status", + "example": "Request is successful, please check the admin\nevents for the status of the job" + } + } + }, + "SkillCardsMetadata": { + "title": "Skills metadata instance", + "type": "object", + "x-box-resource-id": "skill_cards_metadata", + "x-box-tag": "skills", + "description": "The metadata assigned to a using for Box skills.", + "properties": { + "$canEdit": { + "type": "boolean", + "example": true, + "description": "Whether the user can edit this metadata" }, - "etag": { + "$id": { "type": "string", - "nullable": true, - "example": "1", - "description": "The HTTP `etag` of this folder. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the folder if (no) changes have happened." - }, - "type": { + "format": "uuid", + "example": "01234500-12f1-1234-aa12-b1d234cb567e", + "maxLength": 36, + "description": "A UUID to identify the metadata object" + }, + "$parent": { "type": "string", - "description": "`folder`", - "example": "folder", - "enum": [ - "folder" - ], - "nullable": false + "example": "folder_59449484661,", + "description": "An ID for the parent folder" }, - "sequence_id": { - "allOf": [ - { + "$scope": { + "type": "string", + "example": "enterprise_27335", + "description": "An ID for the scope in which this template\nhas been applied" + }, + "$template": { + "type": "string", + "example": "properties", + "description": "The name of the template" + }, + "$type": { + "type": "string", + "example": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0", + "description": "A unique identifier for the \"type\" of this instance. This is an internal\nsystem property and should not be used by a client application." + }, + "$typeVersion": { + "type": "integer", + "example": 2, + "description": "The last-known version of the template of the object. This is an internal\nsystem property and should not be used by a client application." + }, + "$version": { + "type": "integer", + "example": 1, + "description": "The version of the metadata object. Starts at 0 and increases every time\na user-defined property is modified." + }, + "cards": { + "type": "array", + "description": "A list of Box Skill cards that have been applied to this file.", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/KeywordSkillCard" + }, + { + "$ref": "#/components/schemas/TimelineSkillCard" + }, + { + "$ref": "#/components/schemas/TranscriptSkillCard" + }, + { + "$ref": "#/components/schemas/StatusSkillCard" + } + ] + } + } + } + }, + "StoragePolicy": { + "title": "Storage policy", + "type": "object", + "x-box-resource-id": "storage_policy", + "x-box-variant": "standard", + "description": "The Storage Policy object describes the storage zone.", + "allOf": [ + { + "$ref": "#/components/schemas/StoragePolicy--Mini" + }, + { + "properties": { + "name": { + "description": "A descriptive name of the region", "type": "string", - "example": "3", - "nullable": true, - "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." + "example": "Montreal / Dublin" + } + } + } + ] + }, + "StoragePolicies": { + "title": "Storage policies", + "type": "object", + "x-box-resource-id": "storage_policies", + "x-box-tag": "storage_policies", + "description": "A list of storage policies.", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - { - "nullable": false + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true } - ] + } }, - "name": { + { + "properties": { + "entries": { + "type": "array", + "description": "A list of storage policies", + "items": { + "$ref": "#/components/schemas/StoragePolicy" + } + } + } + } + ] + }, + "StoragePolicy--Mini": { + "title": "Storage policy (Mini)", + "type": "object", + "x-box-resource-id": "storage_policy--mini", + "x-box-tag": "storage_policies", + "x-box-variants": [ + "standard", + "mini" + ], + "x-box-variant": "mini", + "description": "A mini description of a Storage Policy object", + "required": [ + "id", + "type" + ], + "properties": { + "id": { "type": "string", - "description": "The name of the folder.", - "example": "Contracts", - "nullable": false + "description": "The unique identifier for this storage policy", + "example": "11446498" }, - "created_at": { + "type": { "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time when the folder was created. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", - "example": "2012-12-12T10:53:43-08:00" + "description": "`storage_policy`", + "example": "storage_policy", + "enum": [ + "storage_policy" + ] + } + } + }, + "StoragePolicyAssignment": { + "title": "Storage policy assignment", + "type": "object", + "x-box-resource-id": "storage_policy_assignment", + "x-box-tag": "storage_policy_assignments", + "description": "The assignment of a storage policy to a user or enterprise", + "required": [ + "id", + "type" + ], + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for a storage policy assignment.", + "example": "ZW50ZXJwcmlzZV8xMjM0NTY3ODkw" }, - "modified_at": { + "type": { "type": "string", - "format": "date-time", - "description": "The date and time when the folder was last updated. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", - "example": "2012-12-12T10:53:43-08:00", - "nullable": true + "description": "`storage_policy_assignment`", + "example": "storage_policy_assignment", + "enum": [ + "storage_policy_assignment" + ] }, - "description": { + "storage_policy": { "allOf": [ { - "type": "string", - "description": "The optional description of this folder", - "maxLength": 256, - "example": "Legal contracts for the new ACME deal", - "nullable": false + "$ref": "#/components/schemas/StoragePolicy--Mini" }, { - "nullable": false + "description": "The assigned storage policy" } ] }, - "size": { - "type": "integer", - "format": "int64", - "description": "The folder size in bytes.\n\nBe careful parsing this integer as its\nvalue can get very large.", - "example": 629644, - "nullable": false - }, - "path_collection": { + "assigned_to": { "allOf": [ { - "title": "Path collection", - "description": "A list of parent folders for an item.", + "title": "Reference", + "description": "The bare basic reference for an object", "type": "object", - "required": [ - "total_count", - "entries" - ], "properties": { - "total_count": { - "description": "The number of folders in this list.", - "example": 1, - "type": "integer", - "format": "int64", - "nullable": false + "id": { + "type": "string", + "description": "The unique identifier for this object", + "example": "11446498" }, - "entries": { - "type": "array", - "description": "The parent folders for this item", - "nullable": false, - "items": { - "$ref": "#/components/schemas/Folder--Mini" - } + "type": { + "type": "string", + "description": "The type for this object", + "example": "file" } } }, { - "description": "The tree of folders that this file is contained in,\nstarting at the root." - }, - { - "nullable": false + "description": "The enterprise or use the policy is assigned to" } ] - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created this folder" + } + } + }, + "StoragePolicyAssignments": { + "title": "Storage policy assignments", + "type": "object", + "x-box-resource-id": "storage_policy_assignments", + "x-box-tag": "storage_policy_assignments", + "description": "A list of storage policy assignments.", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - { - "nullable": false + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true } + } + }, + { + "properties": { + "entries": { + "type": "array", + "description": "A list of storage policy assignments", + "items": { + "$ref": "#/components/schemas/StoragePolicyAssignment" + } + } + } + } + ] + }, + "Task": { + "title": "Task", + "type": "object", + "x-box-resource-id": "task", + "x-box-tag": "tasks", + "description": "A task allows for file-centric workflows within Box. Users can\ncreate tasks on files and assign them to other users for them to complete the\ntasks.", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this task", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`task`", + "example": "task", + "enum": [ + "task" ] }, - "modified_by": { + "item": { "allOf": [ { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who last modified this folder." + "$ref": "#/components/schemas/File--Mini" }, { - "nullable": false + "description": "The file associated with the task" } ] }, - "trashed_at": { - "type": "string", - "description": "The time at which this folder was put in the\ntrash - becomes `null` after restore.", - "example": null, - "nullable": true - }, - "purged_at": { - "type": "string", - "description": "The time at which this folder is expected to be purged\nfrom the trash - becomes `null` after restore.", - "example": null, - "nullable": true - }, - "content_created_at": { + "due_at": { "type": "string", "format": "date-time", - "nullable": true, - "description": "The date and time at which this folder was originally\ncreated.", + "description": "When the task is due", "example": "2012-12-12T10:53:43-08:00" }, - "content_modified_at": { + "action": { "type": "string", - "format": "date-time", - "nullable": true, - "description": "The date and time at which this folder was last updated.", - "example": "2012-12-12T10:53:43-08:00" + "example": "review", + "description": "The type of task the task assignee will be prompted to\nperform.", + "enum": [ + "review", + "complete" + ] }, - "owned_by": { + "message": { + "type": "string", + "description": "A message that will be included with the task", + "example": "Legal review" + }, + "task_assignment_collection": { "allOf": [ { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who owns this folder." + "$ref": "#/components/schemas/TaskAssignments" }, { - "nullable": false + "description": "A collection of task assignment objects\nassociated with the task" } ] }, - "shared_link": { - "type": "string", - "description": "The shared link for this file. This will\nbe `null` if a folder had been trashed, even though the original shared\nlink does become active again.", - "example": null, - "nullable": true - }, - "folder_upload_email": { - "type": "string", - "description": "The folder upload email for this folder. This will\nbe `null` if a folder has been trashed, even though the original upload\nemail does become active again.", - "example": null, - "nullable": true + "is_completed": { + "type": "boolean", + "description": "Whether the task has been completed", + "example": true }, - "parent": { + "created_by": { "allOf": [ { - "$ref": "#/components/schemas/Folder--Mini" - }, - { - "description": "The optional folder that this folder is located within.\n\nThis value may be `null` for some folders such as the\nroot folder or the trash folder." + "$ref": "#/components/schemas/User--Mini" }, { - "nullable": true + "description": "The user who created the task" } ] }, - "item_status": { + "created_at": { "type": "string", - "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", + "format": "date-time", + "description": "When the task object was created", + "example": "2012-12-12T10:53:43-08:00" + }, + "completion_rule": { + "type": "string", + "description": "Defines which assignees need to complete this task before the task\nis considered completed.\n\n* `all_assignees` requires all assignees to review or\napprove the the task in order for it to be considered completed.\n* `any_assignee` accepts any one assignee to review or\napprove the the task in order for it to be considered completed.", + "example": "all_assignees", "enum": [ - "active", - "trashed", - "deleted" - ], - "nullable": false, - "example": "active" + "all_assignees", + "any_assignee" + ] } } }, - "TrashWebLinkRestored": { - "title": "Trashed Web Link (Restored)", + "Tasks": { + "title": "Tasks", "type": "object", - "x-box-resource-id": "trash_web_link_restored", - "x-box-tag": "trashed_web_links", - "description": "Represents a web link restored from the trash.", - "required": [ - "sequence_id", - "path_collection" - ], + "x-box-resource-id": "tasks", + "x-box-tag": "tasks", + "description": "A list of tasks", "properties": { - "type": { - "type": "string", - "description": "`web_link`", - "example": "web_link", - "enum": [ - "web_link" - ] + "total_count": { + "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.", + "example": 5000, + "type": "integer", + "format": "int64" }, + "entries": { + "type": "array", + "description": "A list of tasks", + "items": { + "$ref": "#/components/schemas/Task" + } + } + } + }, + "TaskAssignment": { + "title": "Task assignment", + "type": "object", + "x-box-resource-id": "task_assignment", + "x-box-tag": "task_assignments", + "description": "A task assignment defines which task is assigned to which user to complete.", + "properties": { "id": { "type": "string", - "description": "The unique identifier for this web link", + "description": "The unique identifier for this task assignment", "example": "11446498" }, - "sequence_id": { + "type": { + "type": "string", + "description": "`task_assignment`", + "example": "task_assignment", + "enum": [ + "task_assignment" + ] + }, + "item": { "allOf": [ { - "type": "string", - "example": "3", - "nullable": true, - "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." + "$ref": "#/components/schemas/File--Mini" }, { - "nullable": false + "description": "The file that the task has been assigned to." } ] }, - "etag": { - "type": "string", - "example": "1", - "description": "The entity tag of this web link. Used with `If-Match`\nheaders." - }, - "name": { - "type": "string", - "description": "The name of the web link", - "example": "My Bookmark" - }, - "url": { - "type": "string", - "example": "https://www.example.com/example/1234", - "description": "The URL this web link points to" - }, - "parent": { + "assigned_to": { "allOf": [ { - "$ref": "#/components/schemas/Folder--Mini" + "$ref": "#/components/schemas/User--Mini" }, { - "description": "The parent object the web link belongs to" + "description": "The user that the task has been assigned to." } ] }, - "description": { + "message": { "type": "string", - "example": "Example page", - "description": "The description accompanying the web link. This is\nvisible within the Box web application." + "example": "Please review", + "description": "A message that will is included with the task\nassignment. This is visible to the assigned user in the web and mobile\nUI." }, - "path_collection": { - "allOf": [ - { - "title": "Path collection", - "description": "A list of parent folders for an item.", - "type": "object", - "required": [ - "total_count", - "entries" - ], - "properties": { - "total_count": { - "description": "The number of folders in this list.", - "example": 1, - "type": "integer", - "format": "int64", - "nullable": false - }, - "entries": { - "type": "array", - "description": "The parent folders for this item", - "nullable": false, - "items": { - "$ref": "#/components/schemas/Folder--Mini" - } - } - } - }, - { - "description": "The tree of folders that this web link is contained in,\nstarting at the root." - }, - { - "nullable": false - } - ] - }, - "created_at": { + "completed_at": { "type": "string", "format": "date-time", - "description": "When this file was created on Box’s servers.", + "description": "The date at which this task assignment was\ncompleted. This will be `null` if the task is not completed yet.", "example": "2012-12-12T10:53:43-08:00" }, - "modified_at": { + "assigned_at": { "type": "string", "format": "date-time", - "description": "When this file was last updated on the Box\nservers.", + "description": "The date at which this task was assigned to the user.", "example": "2012-12-12T10:53:43-08:00" }, - "trashed_at": { + "reminded_at": { "type": "string", - "nullable": true, - "description": "The time at which this bookmark was put in the\ntrash - becomes `null` after restore.", - "example": null + "format": "date-time", + "description": "The date at which the assigned user was reminded of this task\nassignment.", + "example": "2012-12-12T10:53:43-08:00" }, - "purged_at": { + "resolution_state": { "type": "string", - "nullable": true, - "description": "The time at which this bookmark will be permanently\ndeleted - becomes `null` after restore.", - "example": null - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created this web link" - } - ] - }, - "modified_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who last modified this web link" - } + "description": "The current state of the assignment. The available states depend on\nthe `action` value of the task object.", + "example": "incomplete", + "enum": [ + "completed", + "incomplete", + "approved", + "rejected" ] }, - "owned_by": { + "assigned_by": { "allOf": [ { "$ref": "#/components/schemas/User--Mini" }, { - "description": "The user who owns this web link" + "description": "The user who assigned this task." } ] + } + } + }, + "TaskAssignments": { + "title": "Task assignments", + "type": "object", + "x-box-resource-id": "task_assignments", + "x-box-tag": "task_assignments", + "description": "A list of task assignments", + "properties": { + "total_count": { + "description": "The total number of items in this collection.", + "example": 100, + "type": "integer", + "format": "int64" }, - "shared_link": { - "type": "string", - "description": "The shared link for this bookmark. This will\nbe `null` if a bookmark had been trashed, even though the original shared\nlink does become active again.", - "nullable": true, - "example": null - }, - "item_status": { - "type": "string", - "example": "trashed", - "enum": [ - "active", - "trashed", - "deleted" - ], - "description": "Whether this item is deleted or not. Values include `active`,\n`trashed` if the file has been moved to the trash, and `deleted` if\nthe file has been permanently deleted" + "entries": { + "type": "array", + "description": "A list of task assignments", + "items": { + "$ref": "#/components/schemas/TaskAssignment" + } } } }, - "UploadPart": { - "title": "Upload part", + "TermsOfService": { + "title": "Terms of service", "type": "object", - "x-box-resource-id": "upload_part", + "x-box-resource-id": "terms_of_service", "x-box-variant": "standard", - "description": "The representation of an upload\nsession chunk.", + "description": "The root-level record that is supposed to represent a\nsingle Terms of Service.", "allOf": [ { - "$ref": "#/components/schemas/UploadPart--Mini" + "$ref": "#/components/schemas/TermsOfService--Base" }, { "properties": { - "sha1": { - "description": "The SHA1 hash of the chunk.", + "status": { + "description": "Whether these terms are enabled or not", "type": "string", - "example": "134b65991ed521fcfe4724b7d814ab8ded5185dc" + "example": "enabled", + "enum": [ + "enabled", + "disabled" + ] + }, + "enterprise": { + "allOf": [ + { + "title": "Enterprise", + "type": "object", + "description": "A representation of a Box enterprise", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this enterprise.", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`enterprise`", + "example": "enterprise", + "enum": [ + "enterprise" + ] + }, + "name": { + "description": "The name of the enterprise", + "example": "Acme Inc.", + "type": "string" + } + } + }, + { + "description": "The enterprise these terms apply to" + } + ] + }, + "tos_type": { + "description": "Whether to apply these terms to managed users or external users", + "type": "string", + "example": "managed", + "enum": [ + "managed", + "external" + ] + }, + "text": { + "description": "The text for your terms and conditions. This text could be\nempty if the `status` is set to `disabled`.", + "type": "string", + "example": "By using this service, you agree to ..." + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "When the legal item was created", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When the legal item was modified.", + "example": "2012-12-12T10:53:43-08:00" } } } ] }, - "UploadPart--Mini": { - "title": "Upload part (Mini)", + "TermsOfServices": { + "title": "Terms of services", "type": "object", - "x-box-resource-id": "upload_part--mini", - "x-box-tag": "chunked_uploads", - "x-box-variants": [ - "mini", - "standard" - ], - "x-box-variant": "mini", - "description": "The basic representation of an upload\nsession chunk.", + "x-box-resource-id": "terms_of_services", + "x-box-tag": "terms_of_services", + "description": "A list of terms of services", "properties": { - "part_id": { - "description": "The unique ID of the chunk.", - "type": "string", - "example": "6F2D3486" - }, - "offset": { - "description": "The offset of the chunk within the file\nin bytes. The lower bound of the position\nof the chunk within the file.", + "total_count": { + "description": "The total number of objects.", + "example": 2, "type": "integer", - "format": "int64", - "example": 16777216 + "format": "int64" }, - "size": { - "description": "The size of the chunk in bytes.", - "type": "integer", - "format": "int64", - "example": 3222784 + "entries": { + "type": "array", + "description": "A list of terms of service objects", + "items": { + "$ref": "#/components/schemas/TermsOfService" + } } } }, - "UploadedPart": { - "title": "Uploaded part", + "TermsOfService--Base": { + "title": "Terms of service (Base)", "type": "object", - "x-box-resource-id": "uploaded_part", - "description": "A chunk of a file uploaded as part of\nan upload session, as returned by some endpoints.", - "x-box-tag": "chunked_uploads", + "x-box-resource-id": "terms_of_service--base", + "x-box-tag": "terms_of_services", + "x-box-variants": [ + "base", + "standard" + ], + "x-box-variant": "base", + "description": "The root-level record that is supposed to represent a\nsingle Terms of Service.", + "required": [ + "id", + "type" + ], "properties": { - "part": { - "$ref": "#/components/schemas/UploadPart" - } - } - }, - "UploadParts": { - "title": "Upload parts", - "type": "object", - "x-box-resource-id": "upload_parts", - "x-box-tag": "chunked_uploads", - "description": "A list of uploaded chunks for an upload\nsession.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes pagination", - "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 5000, - "type": "integer", - "format": "int64" - }, - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 2000, - "type": "integer", - "format": "int64" - }, - "order": { - "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "type": "array", - "items": { - "type": "object", - "description": "The order in which a pagination is ordered", - "properties": { - "by": { - "description": "The field to order by", - "example": "type", - "type": "string" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending", - "example": "ASC", - "enum": [ - "ASC", - "DESC" - ] - } - } - } - } - } + "id": { + "type": "string", + "description": "The unique identifier for this terms of service.", + "example": "11446498" }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of uploaded chunks for an upload\nsession", - "items": { - "$ref": "#/components/schemas/UploadPart" - } - } - } + "type": { + "type": "string", + "description": "`terms_of_service`", + "example": "terms_of_service", + "enum": [ + "terms_of_service" + ] } - ] + } }, - "UploadSession": { - "title": "Upload session", + "TermsOfServiceUserStatus": { + "title": "Terms of service user status", "type": "object", - "x-box-resource-id": "upload_session", - "description": "An upload session for chunk uploading a file.", - "x-box-tag": "chunked_uploads", + "x-box-resource-id": "terms_of_service_user_status", + "x-box-tag": "terms_of_service_user_statuses", + "description": "The association between a Terms of Service and a user", + "required": [ + "id", + "type" + ], "properties": { "id": { "type": "string", - "description": "The unique identifier for this session", - "example": "F971964745A5CD0C001BBE4E58196BFD" + "description": "The unique identifier for this terms of service user status", + "example": "11446498" }, "type": { "type": "string", - "description": "`upload_session`", - "example": "upload_session", + "description": "`terms_of_service_user_status`", + "example": "terms_of_service_user_status", "enum": [ - "upload_session" + "terms_of_service_user_status" ] }, - "session_expires_at": { - "description": "The date and time when this session expires.", - "type": "string", - "format": "date-time", - "example": "2012-12-12T10:53:43-08:00" - }, - "part_size": { - "type": "integer", - "format": "int64", - "example": 1024, - "description": "The size in bytes that must be used for all parts of of the\nupload.\n\nOnly the last part is allowed to be of a smaller size." - }, - "total_parts": { - "type": "integer", - "format": "int32", - "example": 1000, - "description": "The total number of parts expected in this upload session,\nas determined by the file size and part size." - }, - "num_parts_processed": { - "type": "integer", - "format": "int32", - "example": 455, - "description": "The number of parts that have been uploaded and processed\nby the server. This starts at `0`.\n\nWhen committing a file files, inspecting this property can\nprovide insight if all parts have been uploaded correctly." + "tos": { + "allOf": [ + { + "$ref": "#/components/schemas/TermsOfService--Base" + }, + { + "description": "The terms of service" + } + ] }, - "session_endpoints": { + "user": { "allOf": [ { - "title": "Session endpoints", - "description": "A list of endpoints for a chunked upload session.", - "type": "object", - "properties": { - "upload_part": { - "type": "string", - "description": "The URL to upload parts to", - "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD" - }, - "commit": { - "type": "string", - "description": "The URL used to commit the file", - "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/commit" - }, - "abort": { - "type": "string", - "description": "The URL for used to abort the session.", - "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD" - }, - "list_parts": { - "type": "string", - "description": "The URL users to list all parts.", - "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/parts" - }, - "status": { - "type": "string", - "description": "The URL used to get the status of the upload.", - "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD" - }, - "log_event": { - "type": "string", - "description": "The URL used to get the upload log from.", - "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/log" - } - } + "$ref": "#/components/schemas/User--Mini" }, { - "description": "A list of endpoints for this session." + "description": "The user" } ] + }, + "is_accepted": { + "type": "boolean", + "example": true, + "description": "If the user has accepted the terms of services" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "When the legal item was created", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When the legal item was modified.", + "example": "2012-12-12T10:53:43-08:00" } } }, - "UploadUrl": { - "title": "Upload URL", + "TermsOfServiceUserStatuses": { + "title": "Terms of service user statuses", "type": "object", - "x-box-resource-id": "upload_url", - "x-box-tag": "uploads", - "description": "The details for the upload session for the file.", + "x-box-resource-id": "terms_of_services_user_statuses", + "x-box-tag": "terms_of_service_user_statuses", + "description": "A list of terms of service user statuses", "properties": { - "upload_url": { - "type": "string", - "example": "https://upload-las.app.box.com/api/2.0/files/content?upload_session_id=1234", - "description": "A URL for an upload session that can be used to upload\nthe file." + "total_count": { + "description": "The total number of objects.", + "example": 2, + "type": "integer", + "format": "int64" }, - "upload_token": { - "type": "string", - "example": "Pc3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQP", - "description": "An optional access token to use to upload the file" + "entries": { + "type": "array", + "description": "A list of terms of service user statuses", + "items": { + "$ref": "#/components/schemas/TermsOfServiceUserStatus" + } } } }, - "User": { - "title": "User", + "SignTemplate": { + "title": "Box Sign template", "type": "object", - "x-box-resource-id": "user", - "x-box-variant": "standard", - "description": "A standard representation of a user, as returned from any\nuser API endpoints by default", + "x-box-resource-id": "sign_template", + "x-box-tag": "sign_templates", + "description": "A Box Sign template object", "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, { "properties": { - "created_at": { + "type": { "type": "string", - "format": "date-time", - "description": "When the user object was created", - "example": "2012-12-12T10:53:43-08:00" + "example": "sign-template", + "enum": [ + "sign-template" + ], + "description": "object type" }, - "modified_at": { + "id": { "type": "string", - "format": "date-time", - "description": "When the user object was last modified", - "example": "2012-12-12T10:53:43-08:00" + "example": "4206996024-14944f75-c34b-478a-95a1-264b1ff80d35", + "description": "Template identifier." }, - "language": { + "name": { "type": "string", - "description": "The language of the user, formatted in modified version of the\n[ISO 639-1](/guides/api-calls/language-codes) format.", - "example": "en" - }, - "timezone": { + "nullable": true, + "example": "Official contract", + "description": "The name of the template." + }, + "email_subject": { "type": "string", - "format": "timezone", - "description": "The user's timezone", - "example": "Africa/Bujumbura" + "example": "Sign Request from Acme", + "description": "Subject of signature request email. This is cleaned by sign request. If this field is not passed, a default subject will be used.", + "nullable": true }, - "space_amount": { - "type": "integer", - "format": "int64", - "description": "The user’s total available space amount in bytes", - "example": 11345156112 + "email_message": { + "type": "string", + "example": "Hello! Please sign the document below", + "description": "Message to include in signature request email. The field is cleaned through sanitization of specific characters. However, some html tags are allowed. Links included in the message are also converted to hyperlinks in the email. The message may contain the following html tags including `a`, `abbr`, `acronym`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, and `strong`. Be aware that when the text to html ratio is too high, the email may end up in spam filters. Custom styles on these tags are not allowed. If this field is not passed, a default message will be used.", + "nullable": true }, - "space_used": { + "days_valid": { "type": "integer", - "format": "int64", - "description": "The amount of space in use by the user", - "example": 1237009912 + "description": "Set the number of days after which the created signature request will automatically expire if not completed. By default, we do not apply any expiration date on signature requests, and the signature request does not expire.", + "minimum": 0, + "maximum": 730, + "example": 2, + "nullable": true }, - "max_upload_size": { - "type": "integer", - "format": "int64", - "description": "The maximum individual file size in bytes the user can have", - "example": 2147483648 + "parent_folder": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "description": "The destination folder to place final, signed document and signing\nlog. Only `ID` and `type` fields are required. The root folder,\nfolder ID `0`, cannot be used." + } + ] }, - "status": { - "type": "string", - "enum": [ - "active", - "inactive", - "cannot_delete_edit", - "cannot_delete_edit_upload" - ], - "description": "The user's account status", - "example": "active" + "source_files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/File--Mini" + }, + "description": "List of files to create a signing document from. Only the ID and type fields are required for each file." }, - "job_title": { - "type": "string", - "description": "The user’s job title", - "maxLength": 100, - "example": "CEO" + "are_fields_locked": { + "type": "boolean", + "description": "Indicates if the template input fields are editable or not.", + "example": false }, - "phone": { - "type": "string", - "description": "The user’s phone number", - "maxLength": 100, - "example": "6509241374" + "are_options_locked": { + "type": "boolean", + "description": "Indicates if the template document options are editable or not, for example renaming the document.", + "example": true }, - "address": { - "type": "string", - "description": "The user’s address", - "maxLength": 255, - "example": "900 Jefferson Ave, Redwood City, CA 94063" + "are_recipients_locked": { + "type": "boolean", + "description": "Indicates if the template signers are editable or not.", + "example": false }, - "avatar_url": { - "type": "string", - "description": "URL of the user’s avatar image", - "example": "https://www.box.com/api/avatar/large/181216415" + "are_email_settings_locked": { + "type": "boolean", + "description": "Indicates if the template email settings are editable or not.", + "example": true }, - "notification_email": { + "are_files_locked": { + "type": "boolean", + "description": "Indicates if the template files are editable or not. This includes deleting or renaming template files.", + "example": true + }, + "signers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateSigner" + }, + "description": "Array of signers for the template.\n\n**Note**: It may happen that some signers specified in the template belong to conflicting [segments](r://shield-information-barrier-segment-member) (user groups).\nThis means that due to the security policies, users are assigned to segments to prevent exchanges or communication that could lead to ethical conflicts.\nIn such a case, an attempt to send a sign request based on a template that lists signers in conflicting segments will result in an error.\n\nRead more about [segments and ethical walls](https://support.box.com/hc/en-us/articles/9920431507603-Understanding-Information-Barriers#h_01GFVJEHQA06N7XEZ4GCZ9GFAQ)." + }, + "additional_info": { + "description": "Additional information on which fields are required and which fields are not editable.", "type": "object", - "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.", + "properties": { + "non_editable": { + "type": "array", + "description": "Non editable fields.", + "items": { + "type": "string", + "enum": [ + "email_subject", + "email_message", + "name", + "days_valid", + "signers", + "source_files" + ] + }, + "example": [ + "email_subject", + "name" + ] + }, + "required": { + "type": "object", + "description": "Required fields.", + "properties": { + "signers": { + "description": "Required signer fields.", + "example": [ + [ + "email" + ], + [ + "email" + ] + ], + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "email" + ] + }, + "example": [ + "email" + ] + } + } + } + } + } + }, + "ready_sign_link": { "nullable": true, + "description": "Box's ready-sign link feature enables you to create a link to a signature request that you've created from a template. Use this link when you want to post a signature request on a public form — such as an email, social media post, or web page — without knowing who the signers will be. Note: The ready-sign link feature is limited to Enterprise Plus customers and not available to Box Verified Enterprises.", + "type": "object", "properties": { - "email": { + "url": { "type": "string", - "example": "notifications@example.com", - "description": "The email address to send the notifications to." + "description": "The URL that can be sent to signers.", + "example": "\"https://app.box.com/sign/\nready-sign-link/a1cdf2c7-fa81-4a67-8163-1e5f4dbe5178\"" }, - "is_confirmed": { + "name": { + "type": "string", + "nullable": true, + "description": "Request name.", + "example": "Official contract" + }, + "instructions": { + "type": "string", + "nullable": true, + "description": "Extra instructions for all signers.", + "example": "Hello! Please sign the document below" + }, + "folder_id": { + "type": "string", + "nullable": true, + "example": "12345", + "description": "The destination folder to place final,\nsigned document and signing\nlog. Only `ID` and `type` fields are required.\nThe root folder,\nfolder ID `0`, cannot be used." + }, + "is_notification_disabled": { "type": "boolean", - "example": true, - "description": "Specifies if this email address has been confirmed." + "description": "Whether to disable notifications when\na signer has signed.", + "example": true + }, + "is_active": { + "type": "boolean", + "description": "Whether the ready sign link is enabled or not.", + "example": false + } + } + }, + "custom_branding": { + "nullable": true, + "type": "object", + "description": "Custom branding applied to notifications\nand signature requests.", + "properties": { + "company_name": { + "description": "Name of the company", + "type": "string", + "nullable": true, + "example": "Corporation inc." + }, + "logo_uri": { + "type": "string", + "nullable": true, + "description": "Custom branding logo URI in the form of a base64 image.", + "example": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA\nAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A\n8AAQUBAScY42YAAAAASUVORK5CYII=" + }, + "branding_color": { + "type": "string", + "nullable": true, + "example": "9E5E6F", + "description": "Custom branding color in hex." + }, + "email_footer_text": { + "type": "string", + "nullable": true, + "example": "Contact email email@mail.com", + "description": "Content of the email footer." } } } @@ -36226,46 +34955,16 @@ } ] }, - "UserAvatar": { - "title": "User avatar", + "SignTemplates": { + "title": "Box Sign templates", "type": "object", - "x-box-resource-id": "user_avatar", - "x-box-tag": "avatars", - "description": "A resource holding URLs to the\navatar uploaded to a Box application.", - "properties": { - "pic_urls": { + "x-box-resource-id": "sign_templates", + "x-box-tag": "sign_templates", + "description": "A list of templates, as returned from any Box Sign\nAPI endpoints by default.", + "allOf": [ + { "type": "object", - "description": "Represents an object with user avatar URLs.", - "properties": { - "small": { - "type": "string", - "description": "The location of a small-sized avatar.", - "example": "https://app.box.com/index.php?rm=pic_storage_auth&pic=euks! pac3kv01!7B6R5cZLmurEV_xB-KkycPk8Oi7oENUX2O_qUtIuO4342CG IldyCto9hqiQP7uxqYU5V2w63Ft4ln4UVVLDtDZu903OqzkflY2O-Lq00 ubA29xU-RJ6b_KzJEWRYgUhX1zEl3dzWo12g8eWRE2rStf123DF7AYahNqM 1BmLmviL_nODc7SDQHedTXPAjxURUAra5BvtLe7B05AizbNXdPlCNp-LNh _S-eZ_RjDXcGO-MkRWd_3BOMHnvjf450t5BfKoJ15WhEfiMlfXH1tmouHXrsC 66cT6-pzF9E40Iir_zThqSlrFxzP_xcmXzHapr_k-0E2qr2TXp4iC396TSlEw\n" - }, - "large": { - "type": "string", - "description": "The location of a large-sized avatar.", - "example": "https://app.box.com/index.php?rm=pic_storage_auth&pic=euks\npac3kv01!lipGQlQQOtCTCoB6zCOArUjVWLFJtLr5tn6aOZMCybhRx0NNuFQbVI36nw\njtEk5YjUUz1KVdVuvU2yDhu_ftK_bvxeKP1Ffrx9vKGVvJ-UJc1z32p6n2CmFzzpc\ngSoX4pnPhFgydAL-u9jDspXUGElr-htDG_HPMiE9DZjqDueOxXHy8xe22wbaPAheC\nao1emv8r_fmufaUgSndeMYmyZj-KqOYsLBrBNgdeiK5tZmPOQggAEUmyQPkrd8W92TQ6sSlIp0r" - }, - "preview": { - "type": "string", - "description": "The location of the avatar preview.", - "example": "https://app.box.com/index.php?rm=pic_storage_auth&pic=euks!\npac3kv01!8UcNPweOOAWj2DtHk_dCQB4wJpzyPkl7mT5nHj5ZdjY92ejYCBBZc95--403b29CW\nk-8hSo_uBjh5h9QG42Ihu-cOZ-816sej1kof3SOm5gjn7qjMAx89cHjUaNK-6XasRqSNboenjZ\n04laZuV9vSH12BZGAYycIZvvQ5R66Go8xG5GTMARf2nBU84c4H_SL5iws-HeBS4oQJWOJh6FBl\nsSJDSTI74LGXqeZb3EY_As34VFC95F10uozoTOSubZmPYylPlaKXoKWk2f9wYQso1ZTN7sh-Gc\n9Kp43zMLhArIWhok0Im6FlRAuWOQ03KYgL-k4L5EZp4Gw6B7uqVRwcBbsTwMIorWq1g" - } - } - } - } - }, - "Users": { - "title": "Users", - "type": "object", - "x-box-resource-id": "users", - "x-box-tag": "users", - "description": "A list of users.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", + "description": "The part of an API response that describes marker\nbased pagination", "properties": { "limit": { "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", @@ -36287,818 +34986,757 @@ } } }, - { - "type": "object", - "description": "The part of an API response that describes pagination", - "properties": { - "total_count": { - "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 5000, - "type": "integer", - "format": "int64" - }, - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" - }, - "offset": { - "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "example": 2000, - "type": "integer", - "format": "int64" - }, - "order": { - "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", - "type": "array", - "items": { - "type": "object", - "description": "The order in which a pagination is ordered", - "properties": { - "by": { - "description": "The field to order by", - "example": "type", - "type": "string" - }, - "direction": { - "type": "string", - "description": "The direction to order by, either ascending or descending", - "example": "ASC", - "enum": [ - "ASC", - "DESC" - ] - } - } - } - } - } - }, { "properties": { "entries": { "type": "array", - "description": "A list of users", + "description": "A list of templates.", "items": { - "$ref": "#/components/schemas/User--Full" + "$ref": "#/components/schemas/SignTemplate" } } } } ] }, - "User--Full": { - "title": "User (Full)", + "TemplateSigner": { + "title": "Signer fields for Templates", "type": "object", - "x-box-resource-id": "user--full", - "x-box-variant": "full", - "description": "A full representation of a user, as can be returned from any\nuser API endpoint.", + "description": "The schema for a Signer for Templates", "allOf": [ - { - "$ref": "#/components/schemas/User" - }, { "properties": { - "role": { - "type": "string", - "enum": [ - "admin", - "coadmin", - "user" - ], - "description": "The user’s enterprise role", - "example": "admin" - }, - "tracking_codes": { + "inputs": { "type": "array", "items": { - "$ref": "#/components/schemas/TrackingCode" + "$ref": "#/components/schemas/TemplateSignerInput" }, - "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\nbefore it can be used." - }, - "can_see_managed_users": { - "type": "boolean", - "example": true, - "description": "Whether the user can see other enterprise users in their contact list" - }, - "is_sync_enabled": { - "type": "boolean", - "description": "Whether the user can use Box Sync", - "example": true + "readOnly": true }, - "is_external_collab_restricted": { - "type": "boolean", - "example": true, - "description": "Whether the user is allowed to collaborate with users outside their\nenterprise" + "email": { + "type": "string", + "description": "Email address of the signer", + "example": "example@mail.com", + "nullable": true }, - "is_exempt_from_device_limits": { - "type": "boolean", - "example": true, - "description": "Whether to exempt the user from Enterprise device limits" + "role": { + "type": "string", + "enum": [ + "signer", + "approver", + "final_copy_reader" + ], + "description": "Defines the role of the signer in the signature request. A role of\n`signer` needs to sign the document, a role `approver`\napproves the document and\na `final_copy_reader` role only\nreceives the final signed document and signing log.", + "example": "signer", + "default": "signer" }, - "is_exempt_from_login_verification": { + "is_in_person": { "type": "boolean", - "example": true, - "description": "Whether the user must use two-factor authentication" - }, - "enterprise": { - "allOf": [ - { - "title": "Enterprise", - "type": "object", - "description": "A representation of a Box enterprise", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this enterprise.", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`enterprise`", - "example": "enterprise", - "enum": [ - "enterprise" - ] - }, - "name": { - "description": "The name of the enterprise", - "example": "Acme Inc.", - "type": "string" - } - } - }, - { - "description": "Representation of the user’s enterprise" - } - ] + "description": "Used in combination with an embed URL for a sender.\nAfter the sender signs, they will be\nredirected to the next `in_person` signer.", + "example": true }, - "my_tags": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "important" - ], - "description": "Tags for all files and folders owned by the user. Values returned\nwill only contain tags that were set by the requester." + "order": { + "type": "integer", + "description": "Order of the signer", + "minimum": 0, + "example": 2 }, - "hostname": { + "signer_group_id": { "type": "string", - "example": "https://example.app.box.com/", - "description": "The root (protocol, subdomain, domain) of any links that need to be\ngenerated for the user" + "description": "If provided, this value points signers that are assigned the same inputs and belongs to same signer group.\nA signer group is not a Box Group. It is an entity that belongs to the template itself and can only be used\nwithin Box Sign requests created from it.", + "example": "cd4ff89-8fc1-42cf-8b29-1890dedd26d7", + "nullable": true }, - "is_platform_access_only": { - "type": "boolean", - "example": true, - "description": "Whether the user is an App User" + "label": { + "type": "string", + "description": "A placeholder label for the signer set by the template creator to differentiate between signers.", + "example": "Jane Doe", + "nullable": true }, - "external_app_user_id": { + "public_id": { "type": "string", - "example": "my-user-1234", - "description": "An external identifier for an app user, which can be used to look up\nthe user. This can be used to tie user IDs from external identity\nproviders to Box users." + "description": "An identifier for the signer. This can be used to identify a signer within the template.", + "example": "RJZYYVPR" } } } ] }, - "User--Mini": { - "title": "User (Mini)", + "TemplateSignerInput": { + "title": "Template Signer Input", "type": "object", - "x-box-resource-id": "user--mini", - "x-box-variant": "mini", - "description": "A mini representation of a user, as can be returned when nested within other\nresources.", + "description": "Input created by a Signer on a Template", + "required": [ + "page_index" + ], "allOf": [ { - "$ref": "#/components/schemas/User--Base" + "$ref": "#/components/schemas/SignRequestPrefillTag" }, { "properties": { - "name": { + "type": { "type": "string", - "description": "The display name of this user", - "example": "Aaron Levie", - "maxLength": 50, - "nullable": false + "enum": [ + "signature", + "date", + "text", + "checkbox", + "attachment", + "radio", + "dropdown" + ], + "description": "Type of input", + "example": "text" }, - "login": { + "content_type": { "type": "string", - "format": "email", - "description": "The primary email address of this user", - "example": "ceo@example.com", - "nullable": false - } - } - } - ] - }, - "User--Base": { - "title": "User (Base)", - "type": "object", - "x-box-resource-id": "user--base", - "x-box-tag": "users", - "x-box-variants": [ - "base", - "mini", - "standard", - "full" - ], - "x-box-variant": "base", - "description": "A mini representation of a user, used when\nnested within another resource.", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for this user", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`user`", - "example": "user", - "nullable": false, - "enum": [ - "user" - ] - } - } - }, - "User--Collaborations": { - "title": "User (Collaborations)", - "type": "object", - "x-box-resource-id": "user_collaborations", - "x-box-variant": "collaborations", - "description": "A mini representation of a user, can be returned only when\nthe status is `pending`.", - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" - }, - { - "properties": { - "name": { + "enum": [ + "signature", + "initial", + "stamp", + "date", + "checkbox", + "text", + "full_name", + "first_name", + "last_name", + "company", + "title", + "email", + "attachment", + "radio", + "dropdown" + ], + "description": "Content type of input", + "example": "text" + }, + "is_required": { + "type": "boolean", + "description": "Whether or not the input is required.", + "example": true + }, + "page_index": { + "type": "integer", + "description": "Index of page that the input is on.", + "example": 4 + }, + "document_id": { "type": "string", - "description": "The display name of this user. If the collaboration status is `pending`, an empty string is returned.", - "example": "Aaron Levie", - "maxLength": 50, - "nullable": false + "description": "Document identifier.", + "example": "123075213-eb54b537-8b25-445e-87c1-5a1c67d8cbd7", + "nullable": true }, - "login": { + "dropdown_choices": { + "type": "array", + "example": [ + "Yes", + "No", + "Maybe" + ], + "description": "When the input is of the type `dropdown` this values will be filled with all the dropdown options.", + "nullable": true, + "items": { + "type": "string" + } + }, + "group_id": { "type": "string", - "format": "email", - "description": "The primary email address of this user. If the collaboration status is `pending`, an empty string is returned.", - "example": "ceo@example.com", - "nullable": false + "description": "When the input is of type `radio` they can be grouped to gather with this identifier.", + "nullable": true, + "example": "da317330-225a-4c72-89ad-0d6dcaaf4df6" }, - "is_active": { + "coordinates": { + "type": "object", + "description": "Where the input is located on a page.", + "properties": { + "x": { + "type": "number", + "example": 0.672258592471358, + "description": "Relative x coordinate to the page the input is on, ranging from 0 to 1." + }, + "y": { + "type": "number", + "example": 0.18654283173599448, + "description": "Relative y coordinate to the page the input is on, ranging from 0 to 1." + } + } + }, + "dimensions": { + "type": "object", + "description": "The size of the input.", + "properties": { + "width": { + "type": "number", + "example": 0.2618657937806874, + "description": "Relative width to the page the input is on, ranging from 0 to 1." + }, + "height": { + "type": "number", + "example": 0.05311728090109673, + "description": "Relative height to the page the input is on, ranging from 0 to 1." + } + } + }, + "label": { + "type": "string", + "description": "The label field is used especially for text, attachment, radio, and checkbox type inputs.", + "nullable": true, + "example": "Legal name" + }, + "read_only": { "type": "boolean", - "example": true, - "description": "If set to `false`, the user is either deactivated or deleted." + "description": "Whether this input was defined as read-only(immutable by signers) or not", + "example": true } } } ] }, - "UserIntegrationMappings": { - "title": "User (Integration Mappings)", + "TrashFile": { + "title": "Trashed File", "type": "object", - "x-box-resource-id": "user_integration_mappings_reference", - "x-box-tag": "users", - "description": "A user representation for integration mappings\nAPI purposes. Fields name and login are not required.", - "allOf": [ - { - "$ref": "#/components/schemas/User--Base" + "x-box-resource-id": "trash_file", + "x-box-tag": "trashed_files", + "description": "Represents a trashed file.", + "required": [ + "id", + "type", + "sequence_id", + "sha1", + "description", + "size", + "path_collection", + "created_at", + "modified_at", + "modified_by", + "owned_by", + "item_status" + ], + "properties": { + "id": { + "type": "string", + "nullable": false, + "description": "The unique identifier that represent 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`.", + "example": "123456789" }, - { - "properties": { - "name": { + "etag": { + "type": "string", + "example": "1", + "nullable": true, + "description": "The HTTP `etag` of this file. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the file if (no) changes have happened." + }, + "type": { + "type": "string", + "description": "`file`", + "example": "file", + "enum": [ + "file" + ], + "nullable": false + }, + "sequence_id": { + "allOf": [ + { "type": "string", - "description": "The display name of this user", - "example": "Aaron Levie", - "maxLength": 50, - "nullable": false + "example": "3", + "nullable": true, + "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." }, - "login": { - "type": "string", - "format": "email", - "description": "The primary email address of this user", - "example": "ceo@example.com", + { "nullable": false } - } - } - ] - }, - "Watermark": { - "title": "Watermark", - "type": "object", - "x-box-resource-id": "watermark", - "x-box-tag": "file_watermarks", - "description": "A watermark is a semi-transparent overlay on an embedded file\npreview that displays a viewer's email address or user ID\nand the time of access over a file's content", - "properties": { - "watermark": { - "type": "object", - "properties": { - "created_at": { - "type": "string", - "format": "date-time", - "description": "When this watermark was created", - "example": "2012-12-12T10:53:43-08:00" + ] + }, + "name": { + "type": "string", + "description": "The name of the file", + "example": "Contract.pdf" + }, + "sha1": { + "type": "string", + "format": "digest", + "nullable": false, + "example": "85136C79CBF9FE36BB9D05D0639C70C265C18D37", + "description": "The SHA1 hash of the file. This can be used to compare the contents\nof a file on Box with a local file." + }, + "file_version": { + "allOf": [ + { + "$ref": "#/components/schemas/FileVersion--Mini" }, - "modified_at": { - "type": "string", - "format": "date-time", - "description": "When this task was modified", - "example": "2012-12-12T10:53:43-08:00" + { + "description": "The information about the current version of the file." } - } - } - } - }, - "Webhook": { - "title": "Webhook", - "type": "object", - "x-box-resource-id": "webhook", - "x-box-variant": "standard", - "x-box-tag": "webhooks", - "description": "Represents a configured webhook.", - "allOf": [ - { - "$ref": "#/components/schemas/Webhook--Mini" + ] }, - { - "properties": { - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" + "description": { + "type": "string", + "nullable": false, + "description": "The optional description of this file", + "maxLength": 256, + "example": "Contract for Q1 renewal" + }, + "size": { + "type": "integer", + "nullable": false, + "description": "The file size in bytes. Be careful parsing this integer as it can\nget very large and cause an integer overflow.", + "example": 629644 + }, + "path_collection": { + "allOf": [ + { + "title": "Path collection (Trash)", + "description": "A list of parent folders for an item in the trash.", + "type": "object", + "required": [ + "total_count", + "entries" + ], + "properties": { + "total_count": { + "description": "The number of folders in this list.", + "example": 1, + "type": "integer", + "format": "int64", + "nullable": false }, - { - "description": "The user who created the webhook" + "entries": { + "description": "Array of folders for this item's path collection", + "type": "array", + "items": { + "type": "object", + "description": "The parent folder for this item", + "properties": { + "type": { + "type": "string", + "description": "`folder`", + "enum": [ + "folder" + ], + "example": "folder" + }, + "id": { + "type": "string", + "description": "The unique identifier that represent a folder.", + "example": "123456789" + }, + "sequence_id": { + "type": "string", + "nullable": true, + "example": null, + "description": "This field is null for the Trash folder" + }, + "etag": { + "type": "string", + "nullable": true, + "example": null, + "description": "This field is null for the Trash folder" + }, + "name": { + "type": "string", + "description": "The name of the Trash folder.", + "example": "Trash", + "nullable": false + } + } + } } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "A timestamp identifying the time that\nthe webhook was created.", - "example": "2012-12-12T10:53:43-08:00" + } }, - "address": { - "type": "string", - "example": "https://example.com/webhooks", - "description": "The URL that is notified by this webhook" + { + "description": "The tree of folders that this file is contained in,\nstarting at the root." }, - "triggers": { - "type": "array", - "example": [ - "FILE.UPLOADED" - ], - "description": "An array of event names that this webhook is\nto be triggered for", - "items": { - "title": "Webhook Trigger", - "example": "FILE.UPLOADED", - "type": "string", - "description": "The event name that triggered this webhook", - "enum": [ - "FILE.UPLOADED", - "FILE.PREVIEWED", - "FILE.DOWNLOADED", - "FILE.TRASHED", - "FILE.DELETED", - "FILE.RESTORED", - "FILE.COPIED", - "FILE.MOVED", - "FILE.LOCKED", - "FILE.UNLOCKED", - "FILE.RENAMED", - "COMMENT.CREATED", - "COMMENT.UPDATED", - "COMMENT.DELETED", - "TASK_ASSIGNMENT.CREATED", - "TASK_ASSIGNMENT.UPDATED", - "METADATA_INSTANCE.CREATED", - "METADATA_INSTANCE.UPDATED", - "METADATA_INSTANCE.DELETED", - "FOLDER.CREATED", - "FOLDER.RENAMED", - "FOLDER.DOWNLOADED", - "FOLDER.RESTORED", - "FOLDER.DELETED", - "FOLDER.COPIED", - "FOLDER.MOVED", - "FOLDER.TRASHED", - "WEBHOOK.DELETED", - "COLLABORATION.CREATED", - "COLLABORATION.ACCEPTED", - "COLLABORATION.REJECTED", - "COLLABORATION.REMOVED", - "COLLABORATION.UPDATED", - "SHARED_LINK.DELETED", - "SHARED_LINK.CREATED", - "SHARED_LINK.UPDATED", - "SIGN_REQUEST.COMPLETED", - "SIGN_REQUEST.DECLINED", - "SIGN_REQUEST.EXPIRED", - "SIGN_REQUEST.SIGNER_EMAIL_BOUNCED" - ] - } + { + "nullable": false } - } - } - ] - }, - "Webhook--Mini": { - "title": "Webhook (Mini)", - "type": "object", - "x-box-resource-id": "webhook--mini", - "x-box-tag": "webhooks", - "x-box-variants": [ - "mini", - "standard" - ], - "x-box-variant": "mini", - "description": "Represents a configured webhook.", - "properties": { - "id": { + ] + }, + "created_at": { "type": "string", - "description": "The unique identifier for this webhook.", - "example": "11446498" + "format": "date-time", + "nullable": false, + "description": "The date and time when the file was created on Box.", + "example": "2012-12-12T10:53:43-08:00" }, - "type": { + "modified_at": { "type": "string", - "description": "`webhook`", - "example": "webhook", - "enum": [ - "webhook" - ] + "format": "date-time", + "nullable": false, + "description": "The date and time when the file was last updated on Box.", + "example": "2012-12-12T10:53:43-08:00" }, - "target": { - "type": "object", - "description": "The item that will trigger the webhook", - "properties": { - "id": { - "description": "The ID of the item to trigger a webhook", - "type": "string", - "example": "1231232" + "trashed_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The time at which this file was put in the trash.", + "example": "2012-12-12T10:53:43-08:00" + }, + "purged_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The time at which this file is expected to be purged\nfrom the trash.", + "example": "2012-12-12T10:53:43-08:00" + }, + "content_created_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time at which this file was originally\ncreated, which might be before it was uploaded to Box.", + "example": "2012-12-12T10:53:43-08:00" + }, + "content_modified_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time at which this file was last updated,\nwhich might be before it was uploaded to Box.", + "example": "2012-12-12T10:53:43-08:00" + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" }, - "type": { - "description": "The type of item to trigger a webhook", - "type": "string", - "example": "file", - "enum": [ - "file", - "folder" - ] + { + "description": "The user who created this file" } - } - } - } - }, - "Webhooks": { - "title": "Webhooks", - "type": "object", - "x-box-resource-id": "webhooks", - "x-box-tag": "webhooks", - "description": "A list of webhooks.", - "allOf": [ - { - "type": "object", - "description": "The part of an API response that describes marker\nbased pagination", - "properties": { - "limit": { - "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", - "example": 1000, - "type": "integer", - "format": "int64" + ] + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" }, - "next_marker": { - "description": "The marker for the start of the next page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", - "type": "string", - "nullable": true + { + "description": "The user who last modified this file" }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true + { + "nullable": false } - } + ] }, - { - "properties": { - "entries": { - "type": "array", - "description": "A list of webhooks", - "items": { - "$ref": "#/components/schemas/Webhook--Mini" - } + "owned_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who owns this file" + }, + { + "nullable": false } - } + ] + }, + "shared_link": { + "type": "string", + "description": "The shared link for this file. This will\nbe `null` if a file has been trashed, since the link will no longer\nbe active.", + "example": null, + "nullable": true + }, + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "description": "The folder that this file is located within." + }, + { + "nullable": true + } + ] + }, + "item_status": { + "type": "string", + "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", + "enum": [ + "active", + "trashed", + "deleted" + ], + "nullable": false, + "example": "trashed" } - ] + } }, - "WebLink": { - "title": "Web link", + "TrashFolder": { + "title": "Trashed Folder", "type": "object", - "x-box-resource-id": "web_link", - "x-box-variant": "standard", - "description": "Web links are objects that point to URLs. These objects\nare also known as bookmarks within the Box web application.\n\nWeb link objects are treated similarly to file objects,\nthey will also support most actions that apply to regular files.", - "allOf": [ - { - "$ref": "#/components/schemas/WebLink--Mini" + "x-box-resource-id": "trash_folder", + "x-box-tag": "trashed_folders", + "description": "Represents a trashed folder.", + "required": [ + "id", + "type", + "name", + "description", + "size", + "path_collection", + "created_by", + "modified_by", + "owned_by", + "item_status" + ], + "properties": { + "id": { + "type": "string", + "nullable": false, + "description": "The unique identifier that represent a folder.\n\nThe ID for any folder can be determined\nby visiting a folder in the web application\nand copying the ID from the URL. For example,\nfor the URL `https://*.app.box.com/folders/123`\nthe `folder_id` is `123`.", + "example": "123456789" }, - { - "properties": { - "parent": { - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" - }, - { - "description": "The parent object the web link belongs to" - } - ] - }, - "description": { - "type": "string", - "example": "Example page", - "description": "The description accompanying the web link. This is\nvisible within the Box web application." - }, - "path_collection": { - "allOf": [ - { - "title": "Path collection", - "description": "A list of parent folders for an item.", - "type": "object", - "required": [ - "total_count", - "entries" - ], - "properties": { - "total_count": { - "description": "The number of folders in this list.", - "example": 1, - "type": "integer", - "format": "int64", - "nullable": false - }, - "entries": { - "type": "array", - "description": "The parent folders for this item", - "nullable": false, - "items": { - "$ref": "#/components/schemas/Folder--Mini" - } - } - } - }, - { - "description": "The tree of folders that this web link is contained in,\nstarting at the root." - }, - { - "nullable": false - } - ] - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "When this file was created on Box’s servers.", - "example": "2012-12-12T10:53:43-08:00" - }, - "modified_at": { - "type": "string", - "format": "date-time", - "description": "When this file was last updated on the Box\nservers.", - "example": "2012-12-12T10:53:43-08:00" - }, - "trashed_at": { + "etag": { + "type": "string", + "nullable": true, + "example": "1", + "description": "The HTTP `etag` of this folder. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the folder if (no) changes have happened." + }, + "type": { + "type": "string", + "description": "`folder`", + "example": "folder", + "enum": [ + "folder" + ], + "nullable": false + }, + "sequence_id": { + "allOf": [ + { "type": "string", - "format": "date-time", + "example": "3", "nullable": true, - "description": "When this file was moved to the trash.", - "example": "2012-12-12T10:53:43-08:00" + "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." }, - "purged_at": { + { + "nullable": false + } + ] + }, + "name": { + "type": "string", + "description": "The name of the folder.", + "example": "Contracts", + "nullable": false + }, + "created_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time when the folder was created. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "The date and time when the folder was last updated. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", + "example": "2012-12-12T10:53:43-08:00", + "nullable": true + }, + "description": { + "allOf": [ + { "type": "string", - "format": "date-time", - "nullable": true, - "description": "When this file will be permanently deleted.", - "example": "2012-12-12T10:53:43-08:00" - }, - "created_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who created this web link" - } - ] + "description": "The optional description of this folder", + "maxLength": 256, + "example": "Legal contracts for the new ACME deal", + "nullable": false }, - "modified_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" - }, - { - "description": "The user who last modified this web link" - } - ] - }, - "owned_by": { - "allOf": [ - { - "$ref": "#/components/schemas/User--Mini" + { + "nullable": false + } + ] + }, + "size": { + "type": "integer", + "format": "int64", + "description": "The folder size in bytes.\n\nBe careful parsing this integer as its\nvalue can get very large.", + "example": 629644, + "nullable": false + }, + "path_collection": { + "allOf": [ + { + "title": "Path collection (Trash)", + "description": "A list of parent folders for an item in the trash.", + "type": "object", + "required": [ + "total_count", + "entries" + ], + "properties": { + "total_count": { + "description": "The number of folders in this list.", + "example": 1, + "type": "integer", + "format": "int64", + "nullable": false }, - { - "description": "The user who owns this web link" - } - ] - }, - "shared_link": { - "allOf": [ - { - "title": "Shared link", - "description": "Shared links provide direct, read-only access to files or folder on Box.\n\nShared links with open access level allow anyone with the URL\nto access the item, while shared links with company or collaborators access\nlevels can only be accessed by appropriately authenticated Box users.", - "type": "object", - "required": [ - "url", - "accessed", - "effective_access", - "effective_permission", - "is_password_enabled", - "download_count", - "preview_count" - ], - "properties": { - "url": { - "type": "string", - "format": "url", - "description": "The URL that can be used to access the item on Box.\n\nThis URL will display the item in Box's preview UI where the file\ncan be downloaded if allowed.\n\nThis URL will continue to work even when a custom `vanity_url`\nhas been set for this shared link.", - "example": "https://www.box.com/s/vspke7y05sb214wjokpk", - "nullable": false - }, - "download_url": { - "type": "string", - "format": "url", - "x-box-premium-feature": true, - "description": "A URL that can be used to download the file. This URL can be used in\na browser to download the file. This URL includes the file\nextension so that the file will be saved with the right file type.\n\nThis property will be `null` for folders.", - "example": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", - "nullable": true - }, - "vanity_url": { - "type": "string", - "format": "url", - "description": "The \"Custom URL\" that can also be used to preview the item on Box. Custom\nURLs can only be created or modified in the Box Web application.", - "example": "https://acme.app.box.com/v/my_url/", - "nullable": true - }, - "vanity_name": { - "type": "string", - "description": "The custom name of a shared link, as used in the `vanity_url` field.", - "example": "my_url", - "nullable": true - }, - "access": { - "type": "string", - "description": "The access level for this shared link.\n\n* `open` - provides access to this item to anyone with this link\n* `company` - only provides access to this item to people the same company\n* `collaborators` - only provides access to this item to people who are\n collaborators on this item\n\nIf this field is omitted when creating the shared link, the access level\nwill be set to the default access level specified by the enterprise admin.", - "enum": [ - "open", - "company", - "collaborators" - ], - "example": "open", - "nullable": false - }, - "effective_access": { - "type": "string", - "description": "The effective access level for the shared link. This can be a more\nrestrictive access level than the value in the `access` field when the\nenterprise settings restrict the allowed access levels.", - "enum": [ - "open", - "company", - "collaborators" - ], - "example": "company", - "nullable": false - }, - "effective_permission": { - "type": "string", - "description": "The effective permissions for this shared link.\nThese result in the more restrictive combination of\nthe share link permissions and the item permissions set\nby the administrator, the owner, and any ancestor item\nsuch as a folder.", - "enum": [ - "can_edit", - "can_download", - "can_preview", - "no_access" - ], - "example": "can_download", - "nullable": false - }, - "unshared_at": { - "type": "string", - "format": "date-time", - "description": "The date and time when this link will be unshared. This field can only be\nset by users with paid accounts.", - "example": "2018-04-13T13:53:23-07:00", - "nullable": true - }, - "is_password_enabled": { - "type": "boolean", - "description": "Defines if the shared link requires a password to access the item.", - "example": true, - "nullable": false - }, - "permissions": { - "type": "object", - "description": "Defines if this link allows a user to preview, edit, and download an item.\nThese permissions refer to the shared link only and\ndo not supersede permissions applied to the item itself.", - "required": [ - "can_download", - "can_preview", - "can_edit" - ], - "properties": { - "can_download": { - "type": "boolean", - "example": true, - "nullable": false, - "description": "Defines if the shared link allows for the item to be downloaded. For\nshared links on folders, this also applies to any items in the folder.\n\nThis value can be set to `true` when the effective access level is\nset to `open` or `company`, not `collaborators`." - }, - "can_preview": { - "type": "boolean", - "example": true, - "nullable": false, - "description": "Defines if the shared link allows for the item to be previewed.\n\nThis value is always `true`. For shared links on folders this also\napplies to any items in the folder." - }, - "can_edit": { - "type": "boolean", - "example": false, - "nullable": false, - "description": "Defines if the shared link allows for the item to be edited.\n\nThis value can only be `true` if `can_download` is also `true` and if\nthe item has a type of `file`." - } + "entries": { + "description": "Array of folders for this item's path collection", + "type": "array", + "items": { + "type": "object", + "description": "The parent folder for this item", + "properties": { + "type": { + "type": "string", + "description": "`folder`", + "enum": [ + "folder" + ], + "example": "folder" + }, + "id": { + "type": "string", + "description": "The unique identifier that represent a folder.", + "example": "123456789" + }, + "sequence_id": { + "type": "string", + "nullable": true, + "example": null, + "description": "This field is null for the Trash folder" + }, + "etag": { + "type": "string", + "nullable": true, + "example": null, + "description": "This field is null for the Trash folder" + }, + "name": { + "type": "string", + "description": "The name of the Trash folder.", + "example": "Trash", + "nullable": false } - }, - "download_count": { - "type": "integer", - "example": 3, - "description": "The number of times this item has been downloaded.", - "nullable": false - }, - "preview_count": { - "type": "integer", - "example": 3, - "description": "The number of times this item has been previewed.", - "nullable": false } } - }, - { - "description": "The shared link object for this item. Will be\n`null` if no shared link has been created." - }, - { - "nullable": true } - ] + } }, - "item_status": { - "type": "string", - "example": "active", - "enum": [ - "active", - "trashed", - "deleted" - ], - "description": "Whether this item is deleted or not. Values include `active`,\n`trashed` if the file has been moved to the trash, and `deleted` if\nthe file has been permanently deleted" + { + "description": "The tree of folders that this file is contained in,\nstarting at the root." + }, + { + "nullable": false } - } - } - ] - }, - "WebLink--Base": { - "title": "Web link (Base)", - "type": "object", - "x-box-resource-id": "web_link--base", - "x-box-tag": "web_links", - "x-box-variants": [ - "base", - "mini", - "standard" - ], - "x-box-variant": "base", - "description": "Web links are objects that point to URLs. These objects\nare also known as bookmarks within the Box web application.\n\nWeb link objects are treated similarly to file objects,\nthey will also support most actions that apply to regular files.", - "required": [ - "id", - "type" - ], - "properties": { - "id": { + ] + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who created this folder" + }, + { + "nullable": false + } + ] + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who last modified this folder." + }, + { + "nullable": false + } + ] + }, + "trashed_at": { "type": "string", - "description": "The unique identifier for this web link", - "example": "11446498" + "format": "date-time", + "description": "The time at which this folder was put in the trash.", + "example": "2012-12-12T10:53:43-08:00", + "nullable": true + }, + "purged_at": { + "type": "string", + "format": "date-time", + "description": "The time at which this folder is expected to be purged\nfrom the trash.", + "example": "2012-12-12T10:53:43-08:00", + "nullable": true + }, + "content_created_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time at which this folder was originally\ncreated.", + "example": "2012-12-12T10:53:43-08:00" + }, + "content_modified_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time at which this folder was last updated.", + "example": "2012-12-12T10:53:43-08:00" + }, + "owned_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who owns this folder." + }, + { + "nullable": false + } + ] + }, + "shared_link": { + "type": "string", + "description": "The shared link for this folder. This will\nbe `null` if a folder has been trashed, since the link will no longer\nbe active.", + "example": null, + "nullable": true + }, + "folder_upload_email": { + "type": "string", + "description": "The folder upload email for this folder. This will\nbe `null` if a folder has been trashed, since the upload will no longer\nwork.", + "example": null, + "nullable": true + }, + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "description": "The optional folder that this folder is located within.\n\nThis value may be `null` for some folders such as the\nroot folder or the trash folder." + }, + { + "nullable": true + } + ] }, + "item_status": { + "type": "string", + "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", + "enum": [ + "active", + "trashed", + "deleted" + ], + "nullable": false, + "example": "trashed" + } + } + }, + "TrashWebLink": { + "title": "Trashed Web Link", + "type": "object", + "x-box-resource-id": "trash_web_link", + "x-box-tag": "trashed_web_links", + "description": "Represents a trashed web link.", + "properties": { "type": { "type": "string", "description": "`web_link`", @@ -37107,51 +35745,2102 @@ "web_link" ] }, + "id": { + "type": "string", + "description": "The unique identifier for this web link", + "example": "11446498" + }, + "sequence_id": { + "allOf": [ + { + "type": "string", + "example": "3", + "nullable": true, + "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." + }, + { + "nullable": false + } + ] + }, "etag": { "type": "string", "example": "1", "description": "The entity tag of this web link. Used with `If-Match`\nheaders." - } - } - }, - "WebLink--Mini": { - "title": "Web link (Mini)", - "type": "object", - "x-box-resource-id": "web_link--mini", - "x-box-variant": "mini", - "description": "Web links are objects that point to URLs. These objects\nare also known as bookmarks within the Box web application.\n\nWeb link objects are treated similarly to file objects,\nthey will also support most actions that apply to regular files.", - "allOf": [ - { - "$ref": "#/components/schemas/WebLink--Base" }, - { - "properties": { - "url": { - "type": "string", - "example": "https://www.example.com/example/1234", - "description": "The URL this web link points to" + "name": { + "type": "string", + "description": "The name of the web link", + "example": "My Bookmark" + }, + "url": { + "type": "string", + "example": "https://www.example.com/example/1234", + "description": "The URL this web link points to" + }, + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" }, - "sequence_id": { - "allOf": [ - { - "type": "string", - "example": "3", - "nullable": true, - "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." - }, - { + { + "description": "The parent object the web link belongs to" + } + ] + }, + "description": { + "type": "string", + "example": "Example page", + "description": "The description accompanying the web link. This is\nvisible within the Box web application." + }, + "path_collection": { + "allOf": [ + { + "title": "Path collection (Trash)", + "description": "A list of parent folders for an item in the trash.", + "type": "object", + "required": [ + "total_count", + "entries" + ], + "properties": { + "total_count": { + "description": "The number of folders in this list.", + "example": 1, + "type": "integer", + "format": "int64", "nullable": false + }, + "entries": { + "description": "Array of folders for this item's path collection", + "type": "array", + "items": { + "type": "object", + "description": "The parent folder for this item", + "properties": { + "type": { + "type": "string", + "description": "`folder`", + "enum": [ + "folder" + ], + "example": "folder" + }, + "id": { + "type": "string", + "description": "The unique identifier that represent a folder.", + "example": "123456789" + }, + "sequence_id": { + "type": "string", + "nullable": true, + "example": null, + "description": "This field is null for the Trash folder" + }, + "etag": { + "type": "string", + "nullable": true, + "example": null, + "description": "This field is null for the Trash folder" + }, + "name": { + "type": "string", + "description": "The name of the Trash folder.", + "example": "Trash", + "nullable": false + } + } + } } - ] + } }, - "name": { - "type": "string", - "description": "The name of the web link", - "example": "My Bookmark" + { + "description": "The tree of folders that this web link is contained in,\nstarting at the root." + }, + { + "nullable": false } - } - } - ] + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "When this file was created on Box’s servers.", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When this file was last updated on the Box\nservers.", + "example": "2012-12-12T10:53:43-08:00" + }, + "trashed_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When this file was last moved to the trash.", + "example": "2012-12-12T10:53:43-08:00" + }, + "purged_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When this file will be permanently deleted.", + "example": "2012-12-12T10:53:43-08:00" + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who created this web link" + } + ] + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who last modified this web link" + } + ] + }, + "owned_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who owns this web link" + } + ] + }, + "shared_link": { + "type": "string", + "description": "The shared link for this bookmark. This will\nbe `null` if a bookmark has been trashed, since the link will no longer\nbe active.", + "example": null, + "nullable": true + }, + "item_status": { + "type": "string", + "example": "trashed", + "enum": [ + "active", + "trashed", + "deleted" + ], + "description": "Whether this item is deleted or not. Values include `active`,\n`trashed` if the file has been moved to the trash, and `deleted` if\nthe file has been permanently deleted" + } + } + }, + "TrashFileRestored": { + "title": "Trashed File (Restored)", + "type": "object", + "x-box-resource-id": "trash_file_restored", + "x-box-tag": "trashed_files", + "description": "Represents a file restored from the trash.", + "required": [ + "id", + "type", + "sequence_id", + "sha1", + "description", + "size", + "path_collection", + "created_at", + "modified_at", + "modified_by", + "owned_by", + "item_status" + ], + "properties": { + "id": { + "type": "string", + "nullable": false, + "description": "The unique identifier that represent 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`.", + "example": "123456789" + }, + "etag": { + "type": "string", + "example": "1", + "nullable": true, + "description": "The HTTP `etag` of this file. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the file if (no) changes have happened." + }, + "type": { + "type": "string", + "description": "`file`", + "example": "file", + "enum": [ + "file" + ], + "nullable": false + }, + "sequence_id": { + "allOf": [ + { + "type": "string", + "example": "3", + "nullable": true, + "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." + }, + { + "nullable": false + } + ] + }, + "name": { + "type": "string", + "description": "The name of the file", + "example": "Contract.pdf" + }, + "sha1": { + "type": "string", + "format": "digest", + "nullable": false, + "example": "85136C79CBF9FE36BB9D05D0639C70C265C18D37", + "description": "The SHA1 hash of the file. This can be used to compare the contents\nof a file on Box with a local file." + }, + "file_version": { + "allOf": [ + { + "$ref": "#/components/schemas/FileVersion--Mini" + }, + { + "description": "The information about the current version of the file." + } + ] + }, + "description": { + "type": "string", + "nullable": false, + "description": "The optional description of this file", + "maxLength": 256, + "example": "Contract for Q1 renewal" + }, + "size": { + "type": "integer", + "nullable": false, + "description": "The file size in bytes. Be careful parsing this integer as it can\nget very large and cause an integer overflow.", + "example": 629644 + }, + "path_collection": { + "allOf": [ + { + "title": "Path collection", + "description": "A list of parent folders for an item.", + "type": "object", + "required": [ + "total_count", + "entries" + ], + "properties": { + "total_count": { + "description": "The number of folders in this list.", + "example": 1, + "type": "integer", + "format": "int64", + "nullable": false + }, + "entries": { + "type": "array", + "description": "The parent folders for this item", + "nullable": false, + "items": { + "$ref": "#/components/schemas/Folder--Mini" + } + } + } + }, + { + "description": "The tree of folders that this file is contained in,\nstarting at the root." + }, + { + "nullable": false + } + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "nullable": false, + "description": "The date and time when the file was created on Box.", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "nullable": false, + "description": "The date and time when the file was last updated on Box.", + "example": "2012-12-12T10:53:43-08:00" + }, + "trashed_at": { + "type": "string", + "nullable": true, + "description": "The time at which this file was put in the\ntrash - becomes `null` after restore.", + "example": null + }, + "purged_at": { + "type": "string", + "nullable": true, + "description": "The time at which this file is expected to be purged\nfrom the trash - becomes `null` after restore.", + "example": null + }, + "content_created_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time at which this file was originally\ncreated, which might be before it was uploaded to Box.", + "example": "2012-12-12T10:53:43-08:00" + }, + "content_modified_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time at which this file was last updated,\nwhich might be before it was uploaded to Box.", + "example": "2012-12-12T10:53:43-08:00" + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who created this file" + } + ] + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who last modified this file" + }, + { + "nullable": false + } + ] + }, + "owned_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who owns this file" + }, + { + "nullable": false + } + ] + }, + "shared_link": { + "type": "string", + "description": "The shared link for this file. This will\nbe `null` if a file had been trashed, even though the original shared\nlink does become active again.", + "nullable": true, + "example": null + }, + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "description": "The folder that this file is located within." + }, + { + "nullable": true + } + ] + }, + "item_status": { + "type": "string", + "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", + "enum": [ + "active", + "trashed", + "deleted" + ], + "nullable": false, + "example": "active" + } + } + }, + "TrashFolderRestored": { + "title": "Trashed Folder (Restored)", + "type": "object", + "x-box-resource-id": "trash_folder_restored", + "x-box-tag": "trashed_folders", + "description": "Represents a folder restored from the trash.", + "properties": { + "id": { + "type": "string", + "nullable": false, + "description": "The unique identifier that represent a folder.\n\nThe ID for any folder can be determined\nby visiting a folder in the web application\nand copying the ID from the URL. For example,\nfor the URL `https://*.app.box.com/folders/123`\nthe `folder_id` is `123`.", + "example": "123456789" + }, + "etag": { + "type": "string", + "nullable": true, + "example": "1", + "description": "The HTTP `etag` of this folder. This can be used within some API\nendpoints in the `If-Match` and `If-None-Match` headers to only\nperform changes on the folder if (no) changes have happened." + }, + "type": { + "type": "string", + "description": "`folder`", + "example": "folder", + "enum": [ + "folder" + ], + "nullable": false + }, + "sequence_id": { + "allOf": [ + { + "type": "string", + "example": "3", + "nullable": true, + "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." + }, + { + "nullable": false + } + ] + }, + "name": { + "type": "string", + "description": "The name of the folder.", + "example": "Contracts", + "nullable": false + }, + "created_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time when the folder was created. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "The date and time when the folder was last updated. This value may\nbe `null` for some folders such as the root folder or the trash\nfolder.", + "example": "2012-12-12T10:53:43-08:00", + "nullable": true + }, + "description": { + "allOf": [ + { + "type": "string", + "description": "The optional description of this folder", + "maxLength": 256, + "example": "Legal contracts for the new ACME deal", + "nullable": false + }, + { + "nullable": false + } + ] + }, + "size": { + "type": "integer", + "format": "int64", + "description": "The folder size in bytes.\n\nBe careful parsing this integer as its\nvalue can get very large.", + "example": 629644, + "nullable": false + }, + "path_collection": { + "allOf": [ + { + "title": "Path collection", + "description": "A list of parent folders for an item.", + "type": "object", + "required": [ + "total_count", + "entries" + ], + "properties": { + "total_count": { + "description": "The number of folders in this list.", + "example": 1, + "type": "integer", + "format": "int64", + "nullable": false + }, + "entries": { + "type": "array", + "description": "The parent folders for this item", + "nullable": false, + "items": { + "$ref": "#/components/schemas/Folder--Mini" + } + } + } + }, + { + "description": "The tree of folders that this file is contained in,\nstarting at the root." + }, + { + "nullable": false + } + ] + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who created this folder" + }, + { + "nullable": false + } + ] + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who last modified this folder." + }, + { + "nullable": false + } + ] + }, + "trashed_at": { + "type": "string", + "description": "The time at which this folder was put in the\ntrash - becomes `null` after restore.", + "example": null, + "nullable": true + }, + "purged_at": { + "type": "string", + "description": "The time at which this folder is expected to be purged\nfrom the trash - becomes `null` after restore.", + "example": null, + "nullable": true + }, + "content_created_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time at which this folder was originally\ncreated.", + "example": "2012-12-12T10:53:43-08:00" + }, + "content_modified_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date and time at which this folder was last updated.", + "example": "2012-12-12T10:53:43-08:00" + }, + "owned_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who owns this folder." + }, + { + "nullable": false + } + ] + }, + "shared_link": { + "type": "string", + "description": "The shared link for this file. This will\nbe `null` if a folder had been trashed, even though the original shared\nlink does become active again.", + "example": null, + "nullable": true + }, + "folder_upload_email": { + "type": "string", + "description": "The folder upload email for this folder. This will\nbe `null` if a folder has been trashed, even though the original upload\nemail does become active again.", + "example": null, + "nullable": true + }, + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "description": "The optional folder that this folder is located within.\n\nThis value may be `null` for some folders such as the\nroot folder or the trash folder." + }, + { + "nullable": true + } + ] + }, + "item_status": { + "type": "string", + "description": "Defines if this item has been deleted or not.\n\n* `active` when the item has is not in the trash\n* `trashed` when the item has been moved to the trash but not deleted\n* `deleted` when the item has been permanently deleted.", + "enum": [ + "active", + "trashed", + "deleted" + ], + "nullable": false, + "example": "active" + } + } + }, + "TrashWebLinkRestored": { + "title": "Trashed Web Link (Restored)", + "type": "object", + "x-box-resource-id": "trash_web_link_restored", + "x-box-tag": "trashed_web_links", + "description": "Represents a web link restored from the trash.", + "required": [ + "sequence_id", + "path_collection" + ], + "properties": { + "type": { + "type": "string", + "description": "`web_link`", + "example": "web_link", + "enum": [ + "web_link" + ] + }, + "id": { + "type": "string", + "description": "The unique identifier for this web link", + "example": "11446498" + }, + "sequence_id": { + "allOf": [ + { + "type": "string", + "example": "3", + "nullable": true, + "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." + }, + { + "nullable": false + } + ] + }, + "etag": { + "type": "string", + "example": "1", + "description": "The entity tag of this web link. Used with `If-Match`\nheaders." + }, + "name": { + "type": "string", + "description": "The name of the web link", + "example": "My Bookmark" + }, + "url": { + "type": "string", + "example": "https://www.example.com/example/1234", + "description": "The URL this web link points to" + }, + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "description": "The parent object the web link belongs to" + } + ] + }, + "description": { + "type": "string", + "example": "Example page", + "description": "The description accompanying the web link. This is\nvisible within the Box web application." + }, + "path_collection": { + "allOf": [ + { + "title": "Path collection", + "description": "A list of parent folders for an item.", + "type": "object", + "required": [ + "total_count", + "entries" + ], + "properties": { + "total_count": { + "description": "The number of folders in this list.", + "example": 1, + "type": "integer", + "format": "int64", + "nullable": false + }, + "entries": { + "type": "array", + "description": "The parent folders for this item", + "nullable": false, + "items": { + "$ref": "#/components/schemas/Folder--Mini" + } + } + } + }, + { + "description": "The tree of folders that this web link is contained in,\nstarting at the root." + }, + { + "nullable": false + } + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "When this file was created on Box’s servers.", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When this file was last updated on the Box\nservers.", + "example": "2012-12-12T10:53:43-08:00" + }, + "trashed_at": { + "type": "string", + "nullable": true, + "description": "The time at which this bookmark was put in the\ntrash - becomes `null` after restore.", + "example": null + }, + "purged_at": { + "type": "string", + "nullable": true, + "description": "The time at which this bookmark will be permanently\ndeleted - becomes `null` after restore.", + "example": null + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who created this web link" + } + ] + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who last modified this web link" + } + ] + }, + "owned_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who owns this web link" + } + ] + }, + "shared_link": { + "type": "string", + "description": "The shared link for this bookmark. This will\nbe `null` if a bookmark had been trashed, even though the original shared\nlink does become active again.", + "nullable": true, + "example": null + }, + "item_status": { + "type": "string", + "example": "trashed", + "enum": [ + "active", + "trashed", + "deleted" + ], + "description": "Whether this item is deleted or not. Values include `active`,\n`trashed` if the file has been moved to the trash, and `deleted` if\nthe file has been permanently deleted" + } + } + }, + "UploadPart": { + "title": "Upload part", + "type": "object", + "x-box-resource-id": "upload_part", + "x-box-variant": "standard", + "description": "The representation of an upload\nsession chunk.", + "allOf": [ + { + "$ref": "#/components/schemas/UploadPart--Mini" + }, + { + "properties": { + "sha1": { + "description": "The SHA1 hash of the chunk.", + "type": "string", + "example": "134b65991ed521fcfe4724b7d814ab8ded5185dc" + } + } + } + ] + }, + "UploadPart--Mini": { + "title": "Upload part (Mini)", + "type": "object", + "x-box-resource-id": "upload_part--mini", + "x-box-tag": "chunked_uploads", + "x-box-variants": [ + "mini", + "standard" + ], + "x-box-variant": "mini", + "description": "The basic representation of an upload\nsession chunk.", + "properties": { + "part_id": { + "description": "The unique ID of the chunk.", + "type": "string", + "example": "6F2D3486" + }, + "offset": { + "description": "The offset of the chunk within the file\nin bytes. The lower bound of the position\nof the chunk within the file.", + "type": "integer", + "format": "int64", + "example": 16777216 + }, + "size": { + "description": "The size of the chunk in bytes.", + "type": "integer", + "format": "int64", + "example": 3222784 + } + } + }, + "UploadedPart": { + "title": "Uploaded part", + "type": "object", + "x-box-resource-id": "uploaded_part", + "description": "A chunk of a file uploaded as part of\nan upload session, as returned by some endpoints.", + "x-box-tag": "chunked_uploads", + "properties": { + "part": { + "$ref": "#/components/schemas/UploadPart" + } + } + }, + "UploadParts": { + "title": "Upload parts", + "type": "object", + "x-box-resource-id": "upload_parts", + "x-box-tag": "chunked_uploads", + "description": "A list of uploaded chunks for an upload\nsession.", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes pagination", + "properties": { + "total_count": { + "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 5000, + "type": "integer", + "format": "int64" + }, + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 2000, + "type": "integer", + "format": "int64" + }, + "order": { + "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "type": "array", + "items": { + "type": "object", + "description": "The order in which a pagination is ordered", + "properties": { + "by": { + "description": "The field to order by", + "example": "type", + "type": "string" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending", + "example": "ASC", + "enum": [ + "ASC", + "DESC" + ] + } + } + } + } + } + }, + { + "properties": { + "entries": { + "type": "array", + "description": "A list of uploaded chunks for an upload\nsession", + "items": { + "$ref": "#/components/schemas/UploadPart" + } + } + } + } + ] + }, + "UploadSession": { + "title": "Upload session", + "type": "object", + "x-box-resource-id": "upload_session", + "description": "An upload session for chunk uploading a file.", + "x-box-tag": "chunked_uploads", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this session", + "example": "F971964745A5CD0C001BBE4E58196BFD" + }, + "type": { + "type": "string", + "description": "`upload_session`", + "example": "upload_session", + "enum": [ + "upload_session" + ] + }, + "session_expires_at": { + "description": "The date and time when this session expires.", + "type": "string", + "format": "date-time", + "example": "2012-12-12T10:53:43-08:00" + }, + "part_size": { + "type": "integer", + "format": "int64", + "example": 1024, + "description": "The size in bytes that must be used for all parts of of the\nupload.\n\nOnly the last part is allowed to be of a smaller size." + }, + "total_parts": { + "type": "integer", + "format": "int32", + "example": 1000, + "description": "The total number of parts expected in this upload session,\nas determined by the file size and part size." + }, + "num_parts_processed": { + "type": "integer", + "format": "int32", + "example": 455, + "description": "The number of parts that have been uploaded and processed\nby the server. This starts at `0`.\n\nWhen committing a file files, inspecting this property can\nprovide insight if all parts have been uploaded correctly." + }, + "session_endpoints": { + "allOf": [ + { + "title": "Session endpoints", + "description": "A list of endpoints for a chunked upload session.", + "type": "object", + "properties": { + "upload_part": { + "type": "string", + "description": "The URL to upload parts to", + "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD" + }, + "commit": { + "type": "string", + "description": "The URL used to commit the file", + "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/commit" + }, + "abort": { + "type": "string", + "description": "The URL for used to abort the session.", + "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD" + }, + "list_parts": { + "type": "string", + "description": "The URL users to list all parts.", + "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/parts" + }, + "status": { + "type": "string", + "description": "The URL used to get the status of the upload.", + "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD" + }, + "log_event": { + "type": "string", + "description": "The URL used to get the upload log from.", + "example": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/log" + } + } + }, + { + "description": "A list of endpoints for this session." + } + ] + } + } + }, + "UploadUrl": { + "title": "Upload URL", + "type": "object", + "x-box-resource-id": "upload_url", + "x-box-tag": "uploads", + "description": "The details for the upload session for the file.", + "properties": { + "upload_url": { + "type": "string", + "example": "https://upload-las.app.box.com/api/2.0/files/content?upload_session_id=1234", + "description": "A URL for an upload session that can be used to upload\nthe file." + }, + "upload_token": { + "type": "string", + "example": "Pc3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQP", + "description": "An optional access token to use to upload the file" + } + } + }, + "User": { + "title": "User", + "type": "object", + "x-box-resource-id": "user", + "x-box-variant": "standard", + "description": "A standard representation of a user, as returned from any\nuser API endpoints by default", + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "properties": { + "created_at": { + "type": "string", + "format": "date-time", + "description": "When the user object was created", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When the user object was last modified", + "example": "2012-12-12T10:53:43-08:00" + }, + "language": { + "type": "string", + "description": "The language of the user, formatted in modified version of the\n[ISO 639-1](/guides/api-calls/language-codes) format.", + "example": "en" + }, + "timezone": { + "type": "string", + "format": "timezone", + "description": "The user's timezone", + "example": "Africa/Bujumbura" + }, + "space_amount": { + "type": "integer", + "format": "int64", + "description": "The user’s total available space amount in bytes", + "example": 11345156112 + }, + "space_used": { + "type": "integer", + "format": "int64", + "description": "The amount of space in use by the user", + "example": 1237009912 + }, + "max_upload_size": { + "type": "integer", + "format": "int64", + "description": "The maximum individual file size in bytes the user can have", + "example": 2147483648 + }, + "status": { + "type": "string", + "enum": [ + "active", + "inactive", + "cannot_delete_edit", + "cannot_delete_edit_upload" + ], + "description": "The user's account status", + "example": "active" + }, + "job_title": { + "type": "string", + "description": "The user’s job title", + "maxLength": 100, + "example": "CEO" + }, + "phone": { + "type": "string", + "description": "The user’s phone number", + "maxLength": 100, + "example": "6509241374" + }, + "address": { + "type": "string", + "description": "The user’s address", + "maxLength": 255, + "example": "900 Jefferson Ave, Redwood City, CA 94063" + }, + "avatar_url": { + "type": "string", + "description": "URL of the user’s avatar image", + "example": "https://www.box.com/api/avatar/large/181216415" + }, + "notification_email": { + "type": "object", + "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.", + "nullable": true, + "properties": { + "email": { + "type": "string", + "example": "notifications@example.com", + "description": "The email address to send the notifications to." + }, + "is_confirmed": { + "type": "boolean", + "example": true, + "description": "Specifies if this email address has been confirmed." + } + } + } + } + } + ] + }, + "UserAvatar": { + "title": "User avatar", + "type": "object", + "x-box-resource-id": "user_avatar", + "x-box-tag": "avatars", + "description": "A resource holding URLs to the\navatar uploaded to a Box application.", + "properties": { + "pic_urls": { + "type": "object", + "description": "Represents an object with user avatar URLs.", + "properties": { + "small": { + "type": "string", + "description": "The location of a small-sized avatar.", + "example": "https://app.box.com/index.php?rm=pic_storage_auth&pic=euks! pac3kv01!7B6R5cZLmurEV_xB-KkycPk8Oi7oENUX2O_qUtIuO4342CG IldyCto9hqiQP7uxqYU5V2w63Ft4ln4UVVLDtDZu903OqzkflY2O-Lq00 ubA29xU-RJ6b_KzJEWRYgUhX1zEl3dzWo12g8eWRE2rStf123DF7AYahNqM 1BmLmviL_nODc7SDQHedTXPAjxURUAra5BvtLe7B05AizbNXdPlCNp-LNh _S-eZ_RjDXcGO-MkRWd_3BOMHnvjf450t5BfKoJ15WhEfiMlfXH1tmouHXrsC 66cT6-pzF9E40Iir_zThqSlrFxzP_xcmXzHapr_k-0E2qr2TXp4iC396TSlEw\n" + }, + "large": { + "type": "string", + "description": "The location of a large-sized avatar.", + "example": "https://app.box.com/index.php?rm=pic_storage_auth&pic=euks\npac3kv01!lipGQlQQOtCTCoB6zCOArUjVWLFJtLr5tn6aOZMCybhRx0NNuFQbVI36nw\njtEk5YjUUz1KVdVuvU2yDhu_ftK_bvxeKP1Ffrx9vKGVvJ-UJc1z32p6n2CmFzzpc\ngSoX4pnPhFgydAL-u9jDspXUGElr-htDG_HPMiE9DZjqDueOxXHy8xe22wbaPAheC\nao1emv8r_fmufaUgSndeMYmyZj-KqOYsLBrBNgdeiK5tZmPOQggAEUmyQPkrd8W92TQ6sSlIp0r" + }, + "preview": { + "type": "string", + "description": "The location of the avatar preview.", + "example": "https://app.box.com/index.php?rm=pic_storage_auth&pic=euks!\npac3kv01!8UcNPweOOAWj2DtHk_dCQB4wJpzyPkl7mT5nHj5ZdjY92ejYCBBZc95--403b29CW\nk-8hSo_uBjh5h9QG42Ihu-cOZ-816sej1kof3SOm5gjn7qjMAx89cHjUaNK-6XasRqSNboenjZ\n04laZuV9vSH12BZGAYycIZvvQ5R66Go8xG5GTMARf2nBU84c4H_SL5iws-HeBS4oQJWOJh6FBl\nsSJDSTI74LGXqeZb3EY_As34VFC95F10uozoTOSubZmPYylPlaKXoKWk2f9wYQso1ZTN7sh-Gc\n9Kp43zMLhArIWhok0Im6FlRAuWOQ03KYgL-k4L5EZp4Gw6B7uqVRwcBbsTwMIorWq1g" + } + } + } + } + }, + "Users": { + "title": "Users", + "type": "object", + "x-box-resource-id": "users", + "x-box-tag": "users", + "description": "A list of users.", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true + } + } + }, + { + "type": "object", + "description": "The part of an API response that describes pagination", + "properties": { + "total_count": { + "description": "One greater than the offset of the last entry in the entire collection.\nThe total number of entries in the collection may be less than\n`total_count`.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 5000, + "type": "integer", + "format": "int64" + }, + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "offset": { + "description": "The 0-based offset of the first entry in this set. This will be the same\nas the `offset` query parameter.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "example": 2000, + "type": "integer", + "format": "int64" + }, + "order": { + "description": "The order by which items are returned.\n\nThis field is only returned for calls that use offset-based pagination.\nFor marker-based paginated APIs, this field will be omitted.", + "type": "array", + "items": { + "type": "object", + "description": "The order in which a pagination is ordered", + "properties": { + "by": { + "description": "The field to order by", + "example": "type", + "type": "string" + }, + "direction": { + "type": "string", + "description": "The direction to order by, either ascending or descending", + "example": "ASC", + "enum": [ + "ASC", + "DESC" + ] + } + } + } + } + } + }, + { + "properties": { + "entries": { + "type": "array", + "description": "A list of users", + "items": { + "$ref": "#/components/schemas/User--Full" + } + } + } + } + ] + }, + "User--Full": { + "title": "User (Full)", + "type": "object", + "x-box-resource-id": "user--full", + "x-box-variant": "full", + "description": "A full representation of a user, as can be returned from any\nuser API endpoint.", + "allOf": [ + { + "$ref": "#/components/schemas/User" + }, + { + "properties": { + "role": { + "type": "string", + "enum": [ + "admin", + "coadmin", + "user" + ], + "description": "The user’s enterprise role", + "example": "admin" + }, + "tracking_codes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TrackingCode" + }, + "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\nbefore it can be used." + }, + "can_see_managed_users": { + "type": "boolean", + "example": true, + "description": "Whether the user can see other enterprise users in their contact list" + }, + "is_sync_enabled": { + "type": "boolean", + "description": "Whether the user can use Box Sync", + "example": true + }, + "is_external_collab_restricted": { + "type": "boolean", + "example": true, + "description": "Whether the user is allowed to collaborate with users outside their\nenterprise" + }, + "is_exempt_from_device_limits": { + "type": "boolean", + "example": true, + "description": "Whether to exempt the user from Enterprise device limits" + }, + "is_exempt_from_login_verification": { + "type": "boolean", + "example": true, + "description": "Whether the user must use two-factor authentication" + }, + "enterprise": { + "allOf": [ + { + "title": "Enterprise", + "type": "object", + "description": "A representation of a Box enterprise", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this enterprise.", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`enterprise`", + "example": "enterprise", + "enum": [ + "enterprise" + ] + }, + "name": { + "description": "The name of the enterprise", + "example": "Acme Inc.", + "type": "string" + } + } + }, + { + "description": "Representation of the user’s enterprise" + } + ] + }, + "my_tags": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "important" + ], + "description": "Tags for all files and folders owned by the user. Values returned\nwill only contain tags that were set by the requester." + }, + "hostname": { + "type": "string", + "example": "https://example.app.box.com/", + "description": "The root (protocol, subdomain, domain) of any links that need to be\ngenerated for the user" + }, + "is_platform_access_only": { + "type": "boolean", + "example": true, + "description": "Whether the user is an App User" + }, + "external_app_user_id": { + "type": "string", + "example": "my-user-1234", + "description": "An external identifier for an app user, which can be used to look up\nthe user. This can be used to tie user IDs from external identity\nproviders to Box users." + } + } + } + ] + }, + "User--Mini": { + "title": "User (Mini)", + "type": "object", + "x-box-resource-id": "user--mini", + "x-box-variant": "mini", + "description": "A mini representation of a user, as can be returned when nested within other\nresources.", + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "properties": { + "name": { + "type": "string", + "description": "The display name of this user", + "example": "Aaron Levie", + "maxLength": 50, + "nullable": false + }, + "login": { + "type": "string", + "format": "email", + "description": "The primary email address of this user", + "example": "ceo@example.com", + "nullable": false + } + } + } + ] + }, + "User--Base": { + "title": "User (Base)", + "type": "object", + "x-box-resource-id": "user--base", + "x-box-tag": "users", + "x-box-variants": [ + "base", + "mini", + "standard", + "full" + ], + "x-box-variant": "base", + "description": "A mini representation of a user, used when\nnested within another resource.", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this user", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`user`", + "example": "user", + "nullable": false, + "enum": [ + "user" + ] + } + } + }, + "User--Collaborations": { + "title": "User (Collaborations)", + "type": "object", + "x-box-resource-id": "user_collaborations", + "x-box-variant": "collaborations", + "description": "A mini representation of a user, can be returned only when\nthe status is `pending`.", + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "properties": { + "name": { + "type": "string", + "description": "The display name of this user. If the collaboration status is `pending`, an empty string is returned.", + "example": "Aaron Levie", + "maxLength": 50, + "nullable": false + }, + "login": { + "type": "string", + "format": "email", + "description": "The primary email address of this user. If the collaboration status is `pending`, an empty string is returned.", + "example": "ceo@example.com", + "nullable": false + }, + "is_active": { + "type": "boolean", + "example": true, + "description": "If set to `false`, the user is either deactivated or deleted." + } + } + } + ] + }, + "UserIntegrationMappings": { + "title": "User (Integration Mappings)", + "type": "object", + "x-box-resource-id": "user_integration_mappings_reference", + "x-box-tag": "users", + "description": "A user representation for integration mappings\nAPI purposes. Fields name and login are not required.", + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "properties": { + "name": { + "type": "string", + "description": "The display name of this user", + "example": "Aaron Levie", + "maxLength": 50, + "nullable": false + }, + "login": { + "type": "string", + "format": "email", + "description": "The primary email address of this user", + "example": "ceo@example.com", + "nullable": false + } + } + } + ] + }, + "Watermark": { + "title": "Watermark", + "type": "object", + "x-box-resource-id": "watermark", + "x-box-tag": "file_watermarks", + "description": "A watermark is a semi-transparent overlay on an embedded file\npreview that displays a viewer's email address or user ID\nand the time of access over a file's content", + "properties": { + "watermark": { + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time", + "description": "When this watermark was created", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When this task was modified", + "example": "2012-12-12T10:53:43-08:00" + } + } + } + } + }, + "Webhook": { + "title": "Webhook", + "type": "object", + "x-box-resource-id": "webhook", + "x-box-variant": "standard", + "x-box-tag": "webhooks", + "description": "Represents a configured webhook.", + "allOf": [ + { + "$ref": "#/components/schemas/Webhook--Mini" + }, + { + "properties": { + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who created the webhook" + } + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "A timestamp identifying the time that\nthe webhook was created.", + "example": "2012-12-12T10:53:43-08:00" + }, + "address": { + "type": "string", + "example": "https://example.com/webhooks", + "description": "The URL that is notified by this webhook" + }, + "triggers": { + "type": "array", + "example": [ + "FILE.UPLOADED" + ], + "description": "An array of event names that this webhook is\nto be triggered for", + "items": { + "title": "Webhook Trigger", + "example": "FILE.UPLOADED", + "type": "string", + "description": "The event name that triggered this webhook", + "enum": [ + "FILE.UPLOADED", + "FILE.PREVIEWED", + "FILE.DOWNLOADED", + "FILE.TRASHED", + "FILE.DELETED", + "FILE.RESTORED", + "FILE.COPIED", + "FILE.MOVED", + "FILE.LOCKED", + "FILE.UNLOCKED", + "FILE.RENAMED", + "COMMENT.CREATED", + "COMMENT.UPDATED", + "COMMENT.DELETED", + "TASK_ASSIGNMENT.CREATED", + "TASK_ASSIGNMENT.UPDATED", + "METADATA_INSTANCE.CREATED", + "METADATA_INSTANCE.UPDATED", + "METADATA_INSTANCE.DELETED", + "FOLDER.CREATED", + "FOLDER.RENAMED", + "FOLDER.DOWNLOADED", + "FOLDER.RESTORED", + "FOLDER.DELETED", + "FOLDER.COPIED", + "FOLDER.MOVED", + "FOLDER.TRASHED", + "WEBHOOK.DELETED", + "COLLABORATION.CREATED", + "COLLABORATION.ACCEPTED", + "COLLABORATION.REJECTED", + "COLLABORATION.REMOVED", + "COLLABORATION.UPDATED", + "SHARED_LINK.DELETED", + "SHARED_LINK.CREATED", + "SHARED_LINK.UPDATED", + "SIGN_REQUEST.COMPLETED", + "SIGN_REQUEST.DECLINED", + "SIGN_REQUEST.EXPIRED", + "SIGN_REQUEST.SIGNER_EMAIL_BOUNCED" + ] + } + } + } + } + ] + }, + "Webhook--Mini": { + "title": "Webhook (Mini)", + "type": "object", + "x-box-resource-id": "webhook--mini", + "x-box-tag": "webhooks", + "x-box-variants": [ + "mini", + "standard" + ], + "x-box-variant": "mini", + "description": "Represents a configured webhook.", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this webhook.", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`webhook`", + "example": "webhook", + "enum": [ + "webhook" + ] + }, + "target": { + "type": "object", + "description": "The item that will trigger the webhook", + "properties": { + "id": { + "description": "The ID of the item to trigger a webhook", + "type": "string", + "example": "1231232" + }, + "type": { + "description": "The type of item to trigger a webhook", + "type": "string", + "example": "file", + "enum": [ + "file", + "folder" + ] + } + } + } + } + }, + "Webhooks": { + "title": "Webhooks", + "type": "object", + "x-box-resource-id": "webhooks", + "x-box-tag": "webhooks", + "description": "A list of webhooks.", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true + } + } + }, + { + "properties": { + "entries": { + "type": "array", + "description": "A list of webhooks", + "items": { + "$ref": "#/components/schemas/Webhook--Mini" + } + } + } + } + ] + }, + "WebLink": { + "title": "Web link", + "type": "object", + "x-box-resource-id": "web_link", + "x-box-variant": "standard", + "description": "Web links are objects that point to URLs. These objects\nare also known as bookmarks within the Box web application.\n\nWeb link objects are treated similarly to file objects,\nthey will also support most actions that apply to regular files.", + "allOf": [ + { + "$ref": "#/components/schemas/WebLink--Mini" + }, + { + "properties": { + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/Folder--Mini" + }, + { + "description": "The parent object the web link belongs to" + } + ] + }, + "description": { + "type": "string", + "example": "Example page", + "description": "The description accompanying the web link. This is\nvisible within the Box web application." + }, + "path_collection": { + "allOf": [ + { + "title": "Path collection", + "description": "A list of parent folders for an item.", + "type": "object", + "required": [ + "total_count", + "entries" + ], + "properties": { + "total_count": { + "description": "The number of folders in this list.", + "example": 1, + "type": "integer", + "format": "int64", + "nullable": false + }, + "entries": { + "type": "array", + "description": "The parent folders for this item", + "nullable": false, + "items": { + "$ref": "#/components/schemas/Folder--Mini" + } + } + } + }, + { + "description": "The tree of folders that this web link is contained in,\nstarting at the root." + }, + { + "nullable": false + } + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "When this file was created on Box’s servers.", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "When this file was last updated on the Box\nservers.", + "example": "2012-12-12T10:53:43-08:00" + }, + "trashed_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When this file was moved to the trash.", + "example": "2012-12-12T10:53:43-08:00" + }, + "purged_at": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "When this file will be permanently deleted.", + "example": "2012-12-12T10:53:43-08:00" + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who created this web link" + } + ] + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who last modified this web link" + } + ] + }, + "owned_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Mini" + }, + { + "description": "The user who owns this web link" + } + ] + }, + "shared_link": { + "allOf": [ + { + "title": "Shared link", + "description": "Shared links provide direct, read-only access to files or folder on Box.\n\nShared links with open access level allow anyone with the URL\nto access the item, while shared links with company or collaborators access\nlevels can only be accessed by appropriately authenticated Box users.", + "type": "object", + "required": [ + "url", + "accessed", + "effective_access", + "effective_permission", + "is_password_enabled", + "download_count", + "preview_count" + ], + "properties": { + "url": { + "type": "string", + "format": "url", + "description": "The URL that can be used to access the item on Box.\n\nThis URL will display the item in Box's preview UI where the file\ncan be downloaded if allowed.\n\nThis URL will continue to work even when a custom `vanity_url`\nhas been set for this shared link.", + "example": "https://www.box.com/s/vspke7y05sb214wjokpk", + "nullable": false + }, + "download_url": { + "type": "string", + "format": "url", + "x-box-premium-feature": true, + "description": "A URL that can be used to download the file. This URL can be used in\na browser to download the file. This URL includes the file\nextension so that the file will be saved with the right file type.\n\nThis property will be `null` for folders.", + "example": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", + "nullable": true + }, + "vanity_url": { + "type": "string", + "format": "url", + "description": "The \"Custom URL\" that can also be used to preview the item on Box. Custom\nURLs can only be created or modified in the Box Web application.", + "example": "https://acme.app.box.com/v/my_url/", + "nullable": true + }, + "vanity_name": { + "type": "string", + "description": "The custom name of a shared link, as used in the `vanity_url` field.", + "example": "my_url", + "nullable": true + }, + "access": { + "type": "string", + "description": "The access level for this shared link.\n\n* `open` - provides access to this item to anyone with this link\n* `company` - only provides access to this item to people the same company\n* `collaborators` - only provides access to this item to people who are\n collaborators on this item\n\nIf this field is omitted when creating the shared link, the access level\nwill be set to the default access level specified by the enterprise admin.", + "enum": [ + "open", + "company", + "collaborators" + ], + "example": "open", + "nullable": false + }, + "effective_access": { + "type": "string", + "description": "The effective access level for the shared link. This can be a more\nrestrictive access level than the value in the `access` field when the\nenterprise settings restrict the allowed access levels.", + "enum": [ + "open", + "company", + "collaborators" + ], + "example": "company", + "nullable": false + }, + "effective_permission": { + "type": "string", + "description": "The effective permissions for this shared link.\nThese result in the more restrictive combination of\nthe share link permissions and the item permissions set\nby the administrator, the owner, and any ancestor item\nsuch as a folder.", + "enum": [ + "can_edit", + "can_download", + "can_preview", + "no_access" + ], + "example": "can_download", + "nullable": false + }, + "unshared_at": { + "type": "string", + "format": "date-time", + "description": "The date and time when this link will be unshared. This field can only be\nset by users with paid accounts.", + "example": "2018-04-13T13:53:23-07:00", + "nullable": true + }, + "is_password_enabled": { + "type": "boolean", + "description": "Defines if the shared link requires a password to access the item.", + "example": true, + "nullable": false + }, + "permissions": { + "type": "object", + "description": "Defines if this link allows a user to preview, edit, and download an item.\nThese permissions refer to the shared link only and\ndo not supersede permissions applied to the item itself.", + "required": [ + "can_download", + "can_preview", + "can_edit" + ], + "properties": { + "can_download": { + "type": "boolean", + "example": true, + "nullable": false, + "description": "Defines if the shared link allows for the item to be downloaded. For\nshared links on folders, this also applies to any items in the folder.\n\nThis value can be set to `true` when the effective access level is\nset to `open` or `company`, not `collaborators`." + }, + "can_preview": { + "type": "boolean", + "example": true, + "nullable": false, + "description": "Defines if the shared link allows for the item to be previewed.\n\nThis value is always `true`. For shared links on folders this also\napplies to any items in the folder." + }, + "can_edit": { + "type": "boolean", + "example": false, + "nullable": false, + "description": "Defines if the shared link allows for the item to be edited.\n\nThis value can only be `true` if `can_download` is also `true` and if\nthe item has a type of `file`." + } + } + }, + "download_count": { + "type": "integer", + "example": 3, + "description": "The number of times this item has been downloaded.", + "nullable": false + }, + "preview_count": { + "type": "integer", + "example": 3, + "description": "The number of times this item has been previewed.", + "nullable": false + } + } + }, + { + "description": "The shared link object for this item. Will be\n`null` if no shared link has been created." + }, + { + "nullable": true + } + ] + }, + "item_status": { + "type": "string", + "example": "active", + "enum": [ + "active", + "trashed", + "deleted" + ], + "description": "Whether this item is deleted or not. Values include `active`,\n`trashed` if the file has been moved to the trash, and `deleted` if\nthe file has been permanently deleted" + } + } + } + ] + }, + "WebLink--Base": { + "title": "Web link (Base)", + "type": "object", + "x-box-resource-id": "web_link--base", + "x-box-tag": "web_links", + "x-box-variants": [ + "base", + "mini", + "standard" + ], + "x-box-variant": "base", + "description": "Web links are objects that point to URLs. These objects\nare also known as bookmarks within the Box web application.\n\nWeb link objects are treated similarly to file objects,\nthey will also support most actions that apply to regular files.", + "required": [ + "id", + "type" + ], + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for this web link", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`web_link`", + "example": "web_link", + "enum": [ + "web_link" + ] + }, + "etag": { + "type": "string", + "example": "1", + "description": "The entity tag of this web link. Used with `If-Match`\nheaders." + } + } + }, + "WebLink--Mini": { + "title": "Web link (Mini)", + "type": "object", + "x-box-resource-id": "web_link--mini", + "x-box-variant": "mini", + "description": "Web links are objects that point to URLs. These objects\nare also known as bookmarks within the Box web application.\n\nWeb link objects are treated similarly to file objects,\nthey will also support most actions that apply to regular files.", + "allOf": [ + { + "$ref": "#/components/schemas/WebLink--Base" + }, + { + "properties": { + "url": { + "type": "string", + "example": "https://www.example.com/example/1234", + "description": "The URL this web link points to" + }, + "sequence_id": { + "allOf": [ + { + "type": "string", + "example": "3", + "nullable": true, + "description": "A numeric identifier that represents the most recent user event\nthat has been applied to this item.\n\nThis can be used in combination with the `GET /events`-endpoint\nto filter out user events that would have occurred before this\nidentifier was read.\n\nAn example would be where a Box Drive-like application\nwould fetch an item via the API, and then listen to incoming\nuser events for changes to the item. The application would\nignore any user events where the `sequence_id` in the event\nis smaller than or equal to the `sequence_id` in the originally\nfetched resource." + }, + { + "nullable": false + } + ] + }, + "name": { + "type": "string", + "description": "The name of the web link", + "example": "My Bookmark" + } + } + } + ] }, "Workflow": { "title": "Workflow", @@ -37413,49 +38102,489 @@ } } } - ] + ] + }, + "Workflow--Full": { + "title": "Workflow (Full)", + "type": "object", + "x-box-resource-id": "workflow--full", + "x-box-variant": "full", + "description": "Box Relay Workflows are objects that represent a named collection of flows.\n\nYou application must be authorized to use the `Manage Box Relay` application\nscope within the developer console in order to use this resource.", + "allOf": [ + { + "$ref": "#/components/schemas/Workflow" + }, + { + "properties": { + "created_at": { + "type": "string", + "format": "date-time", + "description": "The date and time when the workflow was created on Box", + "example": "2012-12-12T10:53:43-08:00" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "The date and time when the workflow was last updated on Box", + "example": "2012-12-12T10:53:43-08:00" + }, + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "The user who created this workflow" + } + ] + }, + "modified_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "The user who last modified this workflow" + } + ] + } + } + } + ] + }, + "Workflow--Mini": { + "title": "Workflow (Mini)", + "type": "object", + "x-box-resource-id": "workflow--mini", + "x-box-tag": "workflows", + "x-box-variants": [ + "mini", + "standard", + "full" + ], + "x-box-variant": "mini", + "description": "Box Relay Workflows are objects that represent a named collection of flows.\n\nYou application must be authorized to use the `Manage Box Relay` application\nscope within the developer console in order to use this resource.", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for the workflow", + "example": "11446498" + }, + "type": { + "type": "string", + "description": "`workflow`", + "example": "workflow", + "enum": [ + "workflow" + ] + }, + "name": { + "type": "string", + "example": "New Hire Workflow", + "description": "The name of the workflow" + }, + "description": { + "type": "string", + "description": "The description for a workflow.", + "example": "This workflow sets off a new hire approval flow" + }, + "is_enabled": { + "type": "boolean", + "example": true, + "description": "Specifies if this workflow is enabled" + } + } + }, + "Workflows": { + "title": "Workflows", + "type": "object", + "x-box-resource-id": "workflows", + "x-box-tag": "workflows", + "description": "A list of workflows.\n\nYou application must be authorized to use the `Manage Box Relay` application\nscope within the developer console in order to use this resource.", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true + } + } + }, + { + "properties": { + "entries": { + "type": "array", + "description": "A list of workflows", + "items": { + "$ref": "#/components/schemas/Workflow" + } + } + } + } + ] + }, + "ZipDownload": { + "title": "Zip download", + "type": "object", + "x-box-resource-id": "zip_download", + "x-box-tag": "zip_downloads", + "x-box-reference-category": "zip_downloads", + "description": "Represents a successful request to create a `zip` archive of a list of files\nand folders.", + "example": { + "download_url": "https://dl.boxcloud.com/2.0/zip_downloads/29l00nfxDyHOt7RphI9zT_w==nDnZEDjY2S8iEWWCHEEiptFxwoWojjlibZjJ6geuE5xnXENDTPxzgbks_yY=/content", + "status_url": "https://api.box.com/2.0/zip_downloads/29l00nfxDyHOt7RphI9zT_w==nDnZEDjY2S8iEWWCHEEiptFxwoWojjlibZjJ6geuE5xnXENDTPxzgbks_yY=/status", + "expires_at": "2020-07-22T11:26:08Z", + "name_conflicts": [ + [ + { + "id": "12345", + "type": "file", + "original_name": "Report.pdf", + "download_name": "3aa6a7.pdf" + }, + { + "id": "34325", + "type": "file", + "original_name": "Report.pdf", + "download_name": "5d53f2.pdf" + } + ] + ] + }, + "properties": { + "download_url": { + "type": "string", + "description": "The URL that can be used to download the `zip` archive. A `Get` request to\nthis URL will start streaming the items requested. By default, this URL\nis only valid for a few seconds, until the `expires_at` time, unless a\ndownload is started after which it is valid for the duration of the\ndownload.\n\nIt is important to note that the domain and path of this URL might change\nbetween API calls, and therefore it's important to use this URL as-is.", + "example": "https://dl.boxcloud.com/2.0/zip_downloads/Lu6fA9Ob-jyysp3AAvMF4AkLEwZwAYbL=tgj2zIC=eK9RvJnJbjJl9rNh2qBgHDpyOCAOhpM=vajg2mKq8Mdd/content" + }, + "status_url": { + "type": "string", + "description": "The URL that can be used to get the status of the `zip` archive being\ndownloaded. A `Get` request to this URL will return the number of files\nin the archive as well as the number of items already downloaded or\nskipped. By default, this URL is only valid for a few seconds, until the\n`expires_at` time, unless a download is started after which the URL is\nvalid for 12 hours from the start of the download.\n\nIt is important to note that the domain and path of this URL might change\nbetween API calls, and therefore it's important to use this URL as-is.", + "example": "https://api.box.com/2.0/zip_downloads/Lu6fA9Ob-jyysp3AAvMF4AkLEwZwAYbL=tgj2zIC=eK9RvJnJbjJl9rNh2qBgHDpyOCAOhpM=vajg2mKq8Mdd/status" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "The time and date when this archive will expire. After this time the\n`status_url` and `download_url` will return an error.\n\nBy default, these URLs are only valid for a few seconds, unless a download\nis started after which the `download_url` is valid for the duration of the\ndownload, and the `status_url` is valid for 12 hours from the start of the\ndownload.", + "example": "2019-08-29T23:59:00-07:00" + }, + "name_conflicts": { + "type": "array", + "description": "A list of conflicts that occurred when trying to create the archive. This\nwould occur when multiple items have been requested with the\nsame name.\n\nTo solve these conflicts, the API will automatically rename an item\nand return a mapping between the original item's name and its new\nname.\n\nFor every conflict, both files will be renamed and therefore this list\nwill always be a multiple of 2.", + "items": { + "type": "array", + "description": "An individual conflict that occurred when trying to create the archive.\nThis includes an array of 2 objects, each containing the original name\nand the renamed filename of a file or folder for which the names\nconflicted.", + "items": { + "type": "object", + "description": "A file or folder for which a conflict was encountered, This object provides the type and identifier of the original item, as well as a mapping between its original name and it's new name as it will appear in the archive.", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the item", + "example": "12345" + }, + "type": { + "type": "string", + "description": "The type of this item", + "example": "file", + "enum": [ + "file", + "folder" + ] + }, + "original_name": { + "type": "string", + "description": "The original name of this item", + "example": "Report.pdf" + }, + "download_name": { + "type": "string", + "description": "The new name of this item as it will appear in the\ndownloaded `zip` archive.", + "example": "3aa6a7.pdf" + } + } + } + } + } + } + }, + "ZipDownloadStatus": { + "title": "Zip download status", + "type": "object", + "x-box-resource-id": "zip_download_status", + "x-box-tag": "zip_downloads", + "x-box-reference-category": "zip_downloads", + "description": "The status of a `zip` archive being downloaded.", + "properties": { + "total_file_count": { + "type": "integer", + "description": "The total number of files in the archive.", + "example": 20, + "minimum": 0, + "maximum": 10000 + }, + "downloaded_file_count": { + "type": "integer", + "description": "The number of files that have already been downloaded.", + "example": 10, + "minimum": 0 + }, + "skipped_file_count": { + "type": "integer", + "description": "The number of files that have been skipped as they could not be\ndownloaded. In many cases this is due to permission issues that have\nsurfaced between the creation of the request for the archive and the\narchive being downloaded.", + "example": 5, + "minimum": 0 + }, + "skipped_folder_count": { + "type": "integer", + "description": "The number of folders that have been skipped as they could not be\ndownloaded. In many cases this is due to permission issues that have\nsurfaced between the creation of the request for the archive and the\narchive being downloaded.", + "example": 5, + "minimum": 0 + }, + "state": { + "type": "string", + "description": "The state of the archive being downloaded.", + "default": "in_progress", + "example": "succeeded", + "enum": [ + "in_progress", + "failed", + "succeeded" + ] + } + } + }, + "SignRequest--Base": { + "title": "Box Sign request (Base)", + "type": "object", + "x-box-resource-id": "sign_request--base", + "x-box-tag": "sign_requests", + "x-box-variants": [ + "standard", + "base" + ], + "x-box-variant": "base", + "description": "A standard representation of a signature request object.", + "properties": { + "is_document_preparation_needed": { + "type": "boolean", + "description": "Indicates if the sender should receive a `prepare_url` in the response to complete document preparation using the UI.", + "example": true + }, + "redirect_url": { + "type": "string", + "example": "https://www.example.com", + "description": "When specified, the signature request will be redirected to this url when a document is signed.", + "nullable": true + }, + "declined_redirect_url": { + "type": "string", + "example": "https://declined-redirect.com", + "description": "The uri that a signer will be redirected to after declining to sign a document.", + "nullable": true + }, + "are_text_signatures_enabled": { + "type": "boolean", + "description": "Disables the usage of signatures generated by typing (text).", + "example": true, + "default": true + }, + "email_subject": { + "type": "string", + "example": "Sign Request from Acme", + "description": "Subject of sign request email. This is cleaned by sign request. If this field is not passed, a default subject will be used.", + "nullable": true + }, + "email_message": { + "type": "string", + "example": "Hello! Please sign the document below", + "description": "Message to include in sign request email. The field is cleaned through sanitization of specific characters. However, some html tags are allowed. Links included in the message are also converted to hyperlinks in the email. The message may contain the following html tags including `a`, `abbr`, `acronym`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, and `strong`. Be aware that when the text to html ratio is too high, the email may end up in spam filters. Custom styles on these tags are not allowed. If this field is not passed, a default message will be used.", + "nullable": true + }, + "are_reminders_enabled": { + "type": "boolean", + "description": "Reminds signers to sign a document on day 3, 8, 13 and 18. Reminders are only sent to outstanding signers.", + "example": true + }, + "name": { + "type": "string", + "example": "name", + "description": "Name of the signature request." + }, + "prefill_tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SignRequestPrefillTag" + }, + "description": "When a document contains sign-related tags in the content, you can prefill them using this `prefill_tags` by referencing the 'id' of the tag as the `external_id` field of the prefill tag." + }, + "days_valid": { + "type": "integer", + "description": "Set the number of days after which the created signature request will automatically expire if not completed. By default, we do not apply any expiration date on signature requests, and the signature request does not expire.", + "minimum": 0, + "maximum": 730, + "example": 2, + "nullable": true + }, + "external_id": { + "type": "string", + "description": "This can be used to reference an ID in an external system that the sign request is related to.", + "example": "123", + "nullable": true + }, + "is_phone_verification_required_to_view": { + "type": "boolean", + "description": "Forces signers to verify a text message prior to viewing the document. You must specify the phone number of signers to have this setting apply to them.", + "example": true, + "nullable": true + }, + "template_id": { + "type": "string", + "example": "123075213-af2c8822-3ef2-4952-8557-52d69c2fe9cb", + "description": "When a signature request is created from a template this field will indicate the id of that template.", + "nullable": true + }, + "external_system_name": { + "type": "string", + "nullable": true, + "example": "Box", + "description": "Used as an optional system name to appear in the signature log next to the signers who have been assigned the `embed_url_external_id`." + } + } }, - "Workflow--Full": { - "title": "Workflow (Full)", + "SignRequest": { + "title": "Box Sign request", "type": "object", - "x-box-resource-id": "workflow--full", - "x-box-variant": "full", - "description": "Box Relay Workflows are objects that represent a named collection of flows.\n\nYou application must be authorized to use the `Manage Box Relay` application\nscope within the developer console in order to use this resource.", + "x-box-resource-id": "sign_request", + "x-box-tag": "sign_requests", + "x-box-variants": [ + "standard", + "base" + ], + "x-box-variant": "standard", + "description": "A Box Sign request object.", "allOf": [ { - "$ref": "#/components/schemas/Workflow" + "$ref": "#/components/schemas/SignRequest--Base" }, { "properties": { - "created_at": { + "type": { "type": "string", - "format": "date-time", - "description": "The date and time when the workflow was created on Box", - "example": "2012-12-12T10:53:43-08:00" + "example": "sign-request", + "enum": [ + "sign-request" + ], + "description": "object type" }, - "modified_at": { + "source_files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/File--Base" + }, + "description": "List of files to create a signing document from. This is currently limited to ten files. Only the ID and type fields are required for each file." + }, + "signers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SignRequestSigner" + }, + "description": "Array of signers for the signature request." + }, + "signature_color": { "type": "string", - "format": "date-time", - "description": "The date and time when the workflow was last updated on Box", - "example": "2012-12-12T10:53:43-08:00" + "example": "blue", + "description": "Force a specific color for the signature (blue, black, or red).", + "nullable": true }, - "created_by": { + "id": { + "type": "string", + "example": "12345", + "description": "Box Sign request ID." + }, + "prepare_url": { + "type": "string", + "example": "https://prepareurl.com", + "description": "This URL is returned if `is_document_preparation_needed` is\nset to `true` in the request. The parameter is used to prepare\nthe signature request\nusing the UI. The signature request is not\nsent until the preparation\nphase is complete.", + "nullable": true + }, + "signing_log": { "allOf": [ { - "$ref": "#/components/schemas/User--Base" + "$ref": "#/components/schemas/File--Mini" }, { - "description": "The user who created this workflow" + "description": "Reference to a file that holds a log of all signer activity for\nthe request." } ] }, - "modified_by": { + "status": { + "type": "string", + "enum": [ + "converting", + "created", + "sent", + "viewed", + "signed", + "cancelled", + "declined", + "error_converting", + "error_sending", + "expired", + "finalizing", + "error_finalizing" + ], + "example": "converting", + "description": "Describes the status of the signature request." + }, + "sign_files": { + "type": "object", + "properties": { + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/File--Mini" + } + }, + "is_ready_for_download": { + "type": "boolean", + "example": true, + "description": "Indicates whether the `sign_files` documents are processing\nand the PDFs may be out of date. A change to any document\nrequires processing on all `sign_files`. We\nrecommended waiting until processing is finished\n(and this value is true) before downloading the PDFs." + } + }, + "description": "List of files that will be signed, which are copies of the original\nsource files. A new version of these files are created as signers sign\nand can be downloaded at any point in the signing process." + }, + "auto_expire_at": { + "type": "string", + "format": "date-time", + "example": "2021-04-26T08:12:13.982Z", + "description": "Uses `days_valid` to calculate the date and time, in GMT, the sign request will expire if unsigned.", + "nullable": true + }, + "parent_folder": { + "nullable": false, "allOf": [ { - "$ref": "#/components/schemas/User--Base" + "$ref": "#/components/schemas/Folder--Mini" }, { - "description": "The user who last modified this workflow" + "description": "The destination folder to place final, signed document and signing\nlog.\n\nWhen this value was not passed in when the signature request was \ncreated, then we will use a default folder which is either the parent\nfolder of the first source file in the payload if we have the permission\nto upload to that folder or a folder called \"My Sign Requests\"." } ] } @@ -37463,55 +38592,12 @@ } ] }, - "Workflow--Mini": { - "title": "Workflow (Mini)", - "type": "object", - "x-box-resource-id": "workflow--mini", - "x-box-tag": "workflows", - "x-box-variants": [ - "mini", - "standard", - "full" - ], - "x-box-variant": "mini", - "description": "Box Relay Workflows are objects that represent a named collection of flows.\n\nYou application must be authorized to use the `Manage Box Relay` application\nscope within the developer console in order to use this resource.", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier for the workflow", - "example": "11446498" - }, - "type": { - "type": "string", - "description": "`workflow`", - "example": "workflow", - "enum": [ - "workflow" - ] - }, - "name": { - "type": "string", - "example": "New Hire Workflow", - "description": "The name of the workflow" - }, - "description": { - "type": "string", - "description": "The description for a workflow.", - "example": "This workflow sets off a new hire approval flow" - }, - "is_enabled": { - "type": "boolean", - "example": true, - "description": "Specifies if this workflow is enabled" - } - } - }, - "Workflows": { - "title": "Workflows", + "SignRequests": { + "title": "Box Sign requests", "type": "object", - "x-box-resource-id": "workflows", - "x-box-tag": "workflows", - "description": "A list of workflows.\n\nYou application must be authorized to use the `Manage Box Relay` application\nscope within the developer console in order to use this resource.", + "x-box-resource-id": "sign_requests", + "x-box-tag": "sign_requests", + "description": "A standard representation of a signature request, as returned from any Box Sign\nAPI endpoints by default.", "allOf": [ { "type": "object", @@ -37528,12 +38614,6 @@ "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", "nullable": true - }, - "prev_marker": { - "description": "The marker for the start of the previous page of results.", - "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", - "type": "string", - "nullable": true } } }, @@ -37541,374 +38621,445 @@ "properties": { "entries": { "type": "array", - "description": "A list of workflows", + "description": "A list of Box Sign requests.", "items": { - "$ref": "#/components/schemas/Workflow" + "$ref": "#/components/schemas/SignRequest" } } } } ] }, - "ZipDownload": { - "title": "Zip download", + "DocgenBatch--Base": { + "title": "Docgen Batch (Base)", "type": "object", - "x-box-resource-id": "zip_download", - "x-box-tag": "zip_downloads", - "x-box-reference-category": "zip_downloads", - "description": "Represents a successful request to create a `zip` archive of a list of files\nand folders.", - "example": { - "download_url": "https://dl.boxcloud.com/2.0/zip_downloads/29l00nfxDyHOt7RphI9zT_w==nDnZEDjY2S8iEWWCHEEiptFxwoWojjlibZjJ6geuE5xnXENDTPxzgbks_yY=/content", - "status_url": "https://api.box.com/2.0/zip_downloads/29l00nfxDyHOt7RphI9zT_w==nDnZEDjY2S8iEWWCHEEiptFxwoWojjlibZjJ6geuE5xnXENDTPxzgbks_yY=/status", - "expires_at": "2020-07-22T11:26:08Z", - "name_conflicts": [ - [ - { - "id": "12345", - "type": "file", - "original_name": "Report.pdf", - "download_name": "3aa6a7.pdf" - }, - { - "id": "34325", - "type": "file", - "original_name": "Report.pdf", - "download_name": "5d53f2.pdf" - } - ] - ] - }, + "x-box-resource-id": "docgen_batch--base", + "x-box-tag": "files", + "x-box-variants": [ + "base", + "standard" + ], + "x-box-variant": "base", + "description": "The bare basic representation of a docgen batch", + "required": [ + "id", + "type" + ], "properties": { - "download_url": { - "type": "string", - "description": "The URL that can be used to download the `zip` archive. A `Get` request to\nthis URL will start streaming the items requested. By default, this URL\nis only valid for a few seconds, until the `expires_at` time, unless a\ndownload is started after which it is valid for the duration of the\ndownload.\n\nIt is important to note that the domain and path of this URL might change\nbetween API calls, and therefore it's important to use this URL as-is.", - "example": "https://dl.boxcloud.com/2.0/zip_downloads/Lu6fA9Ob-jyysp3AAvMF4AkLEwZwAYbL=tgj2zIC=eK9RvJnJbjJl9rNh2qBgHDpyOCAOhpM=vajg2mKq8Mdd/content" - }, - "status_url": { - "type": "string", - "description": "The URL that can be used to get the status of the `zip` archive being\ndownloaded. A `Get` request to this URL will return the number of files\nin the archive as well as the number of items already downloaded or\nskipped. By default, this URL is only valid for a few seconds, until the\n`expires_at` time, unless a download is started after which the URL is\nvalid for 12 hours from the start of the download.\n\nIt is important to note that the domain and path of this URL might change\nbetween API calls, and therefore it's important to use this URL as-is.", - "example": "https://api.box.com/2.0/zip_downloads/Lu6fA9Ob-jyysp3AAvMF4AkLEwZwAYbL=tgj2zIC=eK9RvJnJbjJl9rNh2qBgHDpyOCAOhpM=vajg2mKq8Mdd/status" + "id": { + "type": "string", + "nullable": false, + "description": "The unique identifier that represent a batch.", + "example": "12345" }, - "expires_at": { + "type": { "type": "string", - "format": "date-time", - "description": "The time and date when this archive will expire. After this time the\n`status_url` and `download_url` will return an error.\n\nBy default, these URLs are only valid for a few seconds, unless a download\nis started after which the `download_url` is valid for the duration of the\ndownload, and the `status_url` is valid for 12 hours from the start of the\ndownload.", - "example": "2019-08-29T23:59:00-07:00" + "description": "`docgen_batch`", + "example": "docgen_batch", + "enum": [ + "docgen_batch" + ], + "nullable": false + } + } + }, + "DocgenJob": { + "title": "Docgen batch job", + "type": "object", + "description": "The schema is used in get Document Generation Batch jobs", + "x-box-resource-id": "docgen_job", + "x-box-tag": "docgen", + "required": [ + "id", + "batch", + "template_file", + "template_file_version", + "status", + "output_type" + ], + "allOf": [ + { + "$ref": "#/components/schemas/DocgenJob--Base" }, - "name_conflicts": { - "type": "array", - "description": "A list of conflicts that occurred when trying to create the archive. This\nwould occur when multiple items have been requested with the\nsame name.\n\nTo solve these conflicts, the API will automatically rename an item\nand return a mapping between the original item's name and its new\nname.\n\nFor every conflict, both files will be renamed and therefore this list\nwill always be a multiple of 2.", - "items": { - "type": "array", - "description": "An individual conflict that occurred when trying to create the archive.\nThis includes an array of 2 objects, each containing the original name\nand the renamed filename of a file or folder for which the names\nconflicted.", - "items": { + { + "properties": { + "batch": { + "allOf": [ + { + "$ref": "#/components/schemas/DocgenBatch--Base" + }, + { + "description": "Docgen Batch that job belongs to." + } + ] + }, + "template_file": { + "allOf": [ + { + "title": "File reference", + "type": "object", + "description": "File reference", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "type": "string", + "description": "`file`", + "example": "file", + "enum": [ + "file" + ], + "nullable": false + }, + "id": { + "description": "ID of the object", + "type": "string", + "example": "42037322" + } + } + }, + { + "description": "Docgen template used in the job." + } + ] + }, + "template_file_version": { + "allOf": [ + { + "$ref": "#/components/schemas/FileVersion--Base" + }, + { + "description": "File version of a template." + } + ] + }, + "output_file": { + "nullable": true, + "description": "The output file of the job.", "type": "object", - "description": "A file or folder for which a conflict was encountered, This object provides the type and identifier of the original item, as well as a mapping between its original name and it's new name as it will appear in the archive.", "properties": { - "id": { - "type": "string", - "description": "The identifier of the item", - "example": "12345" - }, "type": { "type": "string", - "description": "The type of this item", + "description": "`file`", "example": "file", "enum": [ - "file", - "folder" + "file" ] }, - "original_name": { + "id": { + "description": "ID of the object", "type": "string", - "description": "The original name of this item", - "example": "Report.pdf" + "example": "42037322" + } + } + }, + "output_file_version": { + "nullable": true, + "description": "File version of generated file.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "`file_version`", + "example": "file_version", + "enum": [ + "file_version" + ] }, - "download_name": { + "id": { + "description": "ID of the object", "type": "string", - "description": "The new name of this item as it will appear in the\ndownloaded `zip` archive.", - "example": "3aa6a7.pdf" + "example": "42037322" } } + }, + "status": { + "type": "string", + "description": "Status of the job.", + "enum": [ + "submitted", + "completed", + "failed", + "completed_with_error", + "pending" + ], + "example": "completed" + }, + "output_type": { + "type": "string", + "description": "Type of the generated file.", + "example": "docx" } } } - } - }, - "ZipDownloadStatus": { - "title": "Zip download status", - "type": "object", - "x-box-resource-id": "zip_download_status", - "x-box-tag": "zip_downloads", - "x-box-reference-category": "zip_downloads", - "description": "The status of a `zip` archive being downloaded.", - "properties": { - "total_file_count": { - "type": "integer", - "description": "The total number of files in the archive.", - "example": 20, - "minimum": 0, - "maximum": 10000 - }, - "downloaded_file_count": { - "type": "integer", - "description": "The number of files that have already been downloaded.", - "example": 10, - "minimum": 0 - }, - "skipped_file_count": { - "type": "integer", - "description": "The number of files that have been skipped as they could not be\ndownloaded. In many cases this is due to permission issues that have\nsurfaced between the creation of the request for the archive and the\narchive being downloaded.", - "example": 5, - "minimum": 0 - }, - "skipped_folder_count": { - "type": "integer", - "description": "The number of folders that have been skipped as they could not be\ndownloaded. In many cases this is due to permission issues that have\nsurfaced between the creation of the request for the archive and the\narchive being downloaded.", - "example": 5, - "minimum": 0 - }, - "state": { - "type": "string", - "description": "The state of the archive being downloaded.", - "default": "in_progress", - "example": "succeeded", - "enum": [ - "in_progress", - "failed", - "succeeded" - ] - } - } + ] }, - "SignRequest--Base": { - "title": "Box Sign request (Base)", + "DocgenJob--Base": { + "title": "Docgen batch job (Base)", "type": "object", - "x-box-resource-id": "sign_request--base", - "x-box-tag": "sign_requests", + "x-box-resource-id": "docgen_job--base", + "x-box-tag": "docgen", "x-box-variants": [ + "base", "standard", - "base" + "full" ], "x-box-variant": "base", - "description": "A standard representation of a signature request object.", + "description": "The bare basic representation of a docgen job", + "required": [ + "id", + "type" + ], "properties": { - "is_document_preparation_needed": { - "type": "boolean", - "description": "Indicates if the sender should receive a `prepare_url` in the response to complete document preparation using the UI.", - "example": true - }, - "redirect_url": { - "type": "string", - "example": "https://www.example.com", - "description": "When specified, the signature request will be redirected to this url when a document is signed.", - "nullable": true - }, - "declined_redirect_url": { - "type": "string", - "example": "https://declined-redirect.com", - "description": "The uri that a signer will be redirected to after declining to sign a document.", - "nullable": true - }, - "are_text_signatures_enabled": { - "type": "boolean", - "description": "Disables the usage of signatures generated by typing (text).", - "example": true, - "default": true - }, - "email_subject": { - "type": "string", - "example": "Sign Request from Acme", - "description": "Subject of sign request email. This is cleaned by sign request. If this field is not passed, a default subject will be used.", - "nullable": true - }, - "email_message": { - "type": "string", - "example": "Hello! Please sign the document below", - "description": "Message to include in sign request email. The field is cleaned through sanitization of specific characters. However, some html tags are allowed. Links included in the message are also converted to hyperlinks in the email. The message may contain the following html tags including `a`, `abbr`, `acronym`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, and `strong`. Be aware that when the text to html ratio is too high, the email may end up in spam filters. Custom styles on these tags are not allowed. If this field is not passed, a default message will be used.", - "nullable": true - }, - "are_reminders_enabled": { - "type": "boolean", - "description": "Reminds signers to sign a document on day 3, 8, 13 and 18. Reminders are only sent to outstanding signers.", - "example": true - }, - "name": { - "type": "string", - "example": "name", - "description": "Name of the signature request." - }, - "prefill_tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SignRequestPrefillTag" - }, - "description": "When a document contains sign-related tags in the content, you can prefill them using this `prefill_tags` by referencing the 'id' of the tag as the `external_id` field of the prefill tag." - }, - "days_valid": { - "type": "integer", - "description": "Set the number of days after which the created signature request will automatically expire if not completed. By default, we do not apply any expiration date on signature requests, and the signature request does not expire.", - "minimum": 0, - "maximum": 730, - "example": 2, - "nullable": true - }, - "external_id": { - "type": "string", - "description": "This can be used to reference an ID in an external system that the sign request is related to.", - "example": "123", - "nullable": true - }, - "is_phone_verification_required_to_view": { - "type": "boolean", - "description": "Forces signers to verify a text message prior to viewing the document. You must specify the phone number of signers to have this setting apply to them.", - "example": true, - "nullable": true - }, - "template_id": { + "id": { "type": "string", - "example": "123075213-af2c8822-3ef2-4952-8557-52d69c2fe9cb", - "description": "When a signature request is created from a template this field will indicate the id of that template.", - "nullable": true + "nullable": false, + "description": "The unique identifier that represent a docgen job.", + "example": "12345" }, - "external_system_name": { - "type": "string", - "nullable": true, - "example": "Box", - "description": "Used as an optional system name to appear in the signature log next to the signers who have been assigned the `embed_url_external_id`." + "type": { + "type": "string", + "description": "`docgen_job`", + "example": "docgen_job", + "enum": [ + "docgen_job" + ], + "nullable": false } } }, - "SignRequest": { - "title": "Box Sign request", + "DocgenJob--Full": { + "title": "Docgen batch job (Full)", + "description": "The schema is to get a job", "type": "object", - "x-box-resource-id": "sign_request", - "x-box-tag": "sign_requests", - "x-box-variants": [ - "standard", - "base" + "x-box-resource-id": "docgen_job--full", + "x-box-tag": "docgen", + "required": [ + "id", + "batch", + "created_by", + "enterprise", + "template_file", + "template_file_version", + "output_type", + "source", + "user_input", + "status" ], - "x-box-variant": "standard", - "description": "A Box Sign request object.", "allOf": [ { - "$ref": "#/components/schemas/SignRequest--Base" + "$ref": "#/components/schemas/DocgenJob" }, { "properties": { - "type": { - "type": "string", - "example": "sign-request", - "enum": [ - "sign-request" - ], - "description": "object type" - }, - "source_files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/File--Base" - }, - "description": "List of files to create a signing document from. This is currently limited to ten files. Only the ID and type fields are required for each file." - }, - "signers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SignRequestSigner" - }, - "description": "Array of signers for the signature request." - }, - "signature_color": { - "type": "string", - "example": "blue", - "description": "Force a specific color for the signature (blue, black, or red).", - "nullable": true - }, - "id": { + "created_at": { "type": "string", - "example": "12345", - "description": "Box Sign request ID." + "readOnly": true, + "description": "Time of creation.", + "example": "2022-05-11T10:56:11-07:00" }, - "prepare_url": { - "type": "string", - "example": "https://prepareurl.com", - "description": "This URL is returned if `is_document_preparation_needed` is\nset to `true` in the request. The parameter is used to prepare\nthe signature request\nusing the UI. The signature request is not\nsent until the preparation\nphase is complete.", - "nullable": true + "created_by": { + "allOf": [ + { + "$ref": "#/components/schemas/User--Base" + }, + { + "description": "User who created the job" + } + ] }, - "signing_log": { + "enterprise": { "allOf": [ { - "$ref": "#/components/schemas/File--Mini" + "$ref": "#/components/schemas/Enterprise--Base" }, { - "description": "Reference to a file that holds a log of all signer activity for\nthe request." + "description": "Id of enterprise" } ] }, - "status": { + "source": { "type": "string", - "enum": [ - "converting", - "created", - "sent", - "viewed", - "signed", - "cancelled", - "declined", - "error_converting", - "error_sending", - "expired", - "finalizing", - "error_finalizing" - ], - "example": "converting", - "description": "Describes the status of the signature request." + "readOnly": true, + "description": "Source of the request.", + "example": "api" }, - "sign_files": { + "user_input": { "type": "object", - "properties": { - "files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/File--Mini" - } - }, - "is_ready_for_download": { - "type": "boolean", - "example": true, - "description": "Indicates whether the `sign_files` documents are processing\nand the PDFs may be out of date. A change to any document\nrequires processing on all `sign_files`. We\nrecommended waiting until processing is finished\n(and this value is true) before downloading the PDFs." - } - }, - "description": "List of files that will be signed, which are copies of the original\nsource files. A new version of these files are created as signers sign\nand can be downloaded at any point in the signing process." + "description": "User details to fill tags.", + "readOnly": true, + "example": { + "name": "Aaron Levie" + } + } + } + } + ] + }, + "DocgenJobs": { + "title": "Docgen batch jobs", + "type": "object", + "description": "The schema for a list of jobs, used for get template jobs and get batch jobs", + "x-box-tag": "docgen", + "x-box-resource-id": "docgen_jobs", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" }, - "auto_expire_at": { + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", - "format": "date-time", - "example": "2021-04-26T08:12:13.982Z", - "description": "Uses `days_valid` to calculate the date and time, in GMT, the sign request will expire if unsigned.", "nullable": true }, - "parent_folder": { - "nullable": false, - "allOf": [ - { - "$ref": "#/components/schemas/Folder--Mini" + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true + } + } + }, + { + "properties": { + "entries": { + "type": "array", + "description": "List of jobs.", + "items": { + "$ref": "#/components/schemas/DocgenJob" + } + } + } + } + ] + }, + "DocgenJobs--Full": { + "title": "Docgen jobs", + "type": "object", + "description": "The schema is for a more details list of jobs used for get Jobs for user", + "x-box-tag": "docgen", + "x-box-resource-id": "docgen_jobs--full", + "allOf": [ + { + "type": "object", + "description": "The part of an API response that describes marker\nbased pagination", + "properties": { + "limit": { + "description": "The limit that was used for these entries. This will be the same as the\n`limit` query parameter unless that value exceeded the maximum value\nallowed. The maximum value varies by API.", + "example": 1000, + "type": "integer", + "format": "int64" + }, + "next_marker": { + "description": "The marker for the start of the next page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", + "type": "string", + "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true + } + } + }, + { + "properties": { + "entries": { + "type": "array", + "description": "List of jobs.", + "items": { + "$ref": "#/components/schemas/DocgenJob--Full" + } + } + } + } + ] + }, + "DocgenTemplate--Base": { + "title": "Docgen Template (Base)", + "type": "object", + "x-box-resource-id": "docgen_template--base", + "x-box-variants": [ + "base", + "standard" + ], + "x-box-variant": "base", + "description": "A base representation of a docgen template, used when\nnested within another resource.", + "properties": { + "file": { + "allOf": [ + { + "title": "File reference", + "type": "object", + "description": "File reference", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "type": "string", + "description": "`file`", + "example": "file", + "enum": [ + "file" + ], + "nullable": false }, - { - "description": "The destination folder to place final, signed document and signing\nlog.\n\nWhen this value was not passed in when the signature request was \ncreated, then we will use a default folder which is either the parent\nfolder of the first source file in the payload if we have the permission\nto upload to that folder or a folder called \"My Sign Requests\"." + "id": { + "description": "ID of the object", + "type": "string", + "example": "42037322" } - ] + } + }, + { + "description": "Enable the file to generate a document from." + } + ] + } + } + }, + "DocgenTemplate": { + "title": "Docgen template", + "type": "object", + "description": "A docgen template object", + "x-box-tag": "docgen_template", + "x-box-resource-id": "docgen_template", + "x-box-variant": "standard", + "allOf": [ + { + "$ref": "#/components/schemas/DocgenTemplate--Base" + }, + { + "properties": { + "file_name": { + "type": "string", + "nullable": true, + "example": "Official contract", + "description": "The name of the template" } } } ] }, - "SignRequests": { - "title": "Box Sign requests", + "DocgenTemplates": { + "title": "Docgen templates", "type": "object", - "x-box-resource-id": "sign_requests", - "x-box-tag": "sign_requests", - "description": "A standard representation of a signature request, as returned from any Box Sign\nAPI endpoints by default.", + "description": "List of docgen templates.", + "x-box-tag": "docgen_template", + "x-box-resource-id": "docgen_templates", "allOf": [ { "type": "object", @@ -37925,6 +39076,12 @@ "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii", "type": "string", "nullable": true + }, + "prev_marker": { + "description": "The marker for the start of the previous page of results.", + "example": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih", + "type": "string", + "nullable": true } } }, @@ -37932,9 +39089,9 @@ "properties": { "entries": { "type": "array", - "description": "A list of Box Sign requests.", + "description": "A list of templates.", "items": { - "$ref": "#/components/schemas/SignRequest" + "$ref": "#/components/schemas/DocgenTemplate" } } }