Box Platform API
provides functionality to provide access to content stored within . It provides endpoints for basic manipulation of files and folders, management of users within an enterprise, as well as more complex topics such as legal holds and retention policies.
- Homepage
- https://api.apis.guru/v2/specs/box.com/2.0.0.json
- Provider
- box.com
- OpenAPI version
- 3.0.2
- Spec (JSON)
- https://api.apis.guru/v2/specs/box.com/2.0.0/openapi.json
- Spec (YAML)
- https://api.apis.guru/v2/specs/box.com/2.0.0/openapi.yaml
Tools (262)
Extracted live via the executor SDK.
-
authorization.getAuthorizeAuthorize a user by sending them through the website and request their permission to act on their behalf.
This is the first step when authenticating a user using OAuth 2.0. To request a user's authorization to use the Box APIs on their behalf you will need to send a user to the URL with this format.
-
authorization.postOauth2RevokeRevoke an active Access Token, effectively logging a user out that has been previously authenticated.
-
authorization.postOauth2TokenRequest an Access Token using either a client-side obtained OAuth 2.0 authorization code or a server-side JWT assertion.
An Access Token is a string that enables Box to verify that a request belongs to an authorized session. In the normal order of operations you will begin by requesting authentication from the endpoint and Box will send you an authorization code.
You will then send this code to this endpoint to exchange it for an Access Token. The returned Access Token can then be used to to make Box API calls.
-
authorization.postOauth2TokenRefreshRefresh an Access Token using its client ID, secret, and refresh token.
-
boxSign.getSignRequestsGets sign requests created by a user. If the
sign_filesand/orparent_folderare deleted, the sign request will not return in the list. -
boxSign.getSignRequestsIdGets a sign request by ID.
-
boxSign.postSignRequestsCreates a sign request. This involves preparing a document for signing and sending the sign request to signers.
-
boxSign.postSignRequestsIdCancelCancels a sign request.
-
boxSign.postSignRequestsIdResendResends a sign request email to all outstanding signers.
-
classifications.deleteMetadataTemplatesEnterpriseSecurityClassification6VmVochwUWoSchemaDelete all classifications by deleting the classification metadata template.
-
classifications.getMetadataTemplatesEnterpriseSecurityClassification6VmVochwUWoSchemaRetrieves the classification metadata template and lists all the classifications available to this enterprise.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/metadata_templates/enterprise_12345/securityClassification-6VMVochwUWo/schema. -
classifications.postMetadataTemplatesSchemaClassificationsWhen an enterprise does not yet have any classifications, this API call initializes the classification template with an initial set of classifications.
If an enterprise already has a classification, the template will already exist and instead an API call should be made to add additional classifications.
-
classifications.putMetadataTemplatesEnterpriseSecurityClassification6VmVochwUWoSchemaAddAdds one or more new classifications to the list of classifications available to the enterprise.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/metadata_templates/enterprise_12345/securityClassification-6VMVochwUWo/schema. -
classifications.putMetadataTemplatesEnterpriseSecurityClassification6VmVochwUWoSchemaDeleteRemoves a classification from the list of classifications available to the enterprise.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/metadata_templates/enterprise_12345/securityClassification-6VMVochwUWo/schema. -
classifications.putMetadataTemplatesEnterpriseSecurityClassification6VmVochwUWoSchemaUpdateUpdates the labels and descriptions of one or more classifications available to the enterprise.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/metadata_templates/enterprise_12345/securityClassification-6VMVochwUWo/schema. -
classificationsOnFiles.deleteFilesIdMetadataEnterpriseSecurityClassification6VmVochwUWoRemoves any classifications from a file.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/files/:id//enterprise_12345/securityClassification-6VMVochwUWo. -
classificationsOnFiles.getFilesIdMetadataEnterpriseSecurityClassification6VmVochwUWoRetrieves the classification metadata instance that has been applied to a file.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/files/:id//enterprise_12345/securityClassification-6VMVochwUWo. -
classificationsOnFiles.postFilesIdMetadataEnterpriseSecurityClassification6VmVochwUWoAdds a classification to a file by specifying the label of the classification to add.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/files/:id//enterprise_12345/securityClassification-6VMVochwUWo. -
classificationsOnFiles.putFilesIdMetadataEnterpriseSecurityClassification6VmVochwUWoUpdates a classification on a file.
The classification can only be updated if a classification has already been applied to the file before. When editing classifications, only values are defined for the enterprise will be accepted.
-
classificationsOnFolders.deleteFoldersIdMetadataEnterpriseSecurityClassification6VmVochwUWoRemoves any classifications from a folder.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/folders/:id//enterprise_12345/securityClassification-6VMVochwUWo. -
classificationsOnFolders.getFoldersIdMetadataEnterpriseSecurityClassification6VmVochwUWoRetrieves the classification metadata instance that has been applied to a folder.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/folders/:id//enterprise_12345/securityClassification-6VMVochwUWo. -
classificationsOnFolders.postFoldersIdMetadataEnterpriseSecurityClassification6VmVochwUWoAdds a classification to a folder by specifying the label of the classification to add.
This API can also be called by including the enterprise ID in the URL explicitly, for example
/folders/:id//enterprise_12345/securityClassification-6VMVochwUWo. -
classificationsOnFolders.putFoldersIdMetadataEnterpriseSecurityClassification6VmVochwUWoUpdates a classification on a folder.
The classification can only be updated if a classification has already been applied to the folder before. When editing classifications, only values are defined for the enterprise will be accepted.
-
collaborations.deleteCollaborationsIdDeletes a single collaboration.
-
collaborations.getCollaborationsIdRetrieves a single collaboration.
-
collaborations.postCollaborationsAdds a collaboration for a single user or a single group to a file or folder.
Collaborations can be created using email address, user IDs, or a group IDs.
If a collaboration is being created with a group, access to this endpoint is dependent on the group's ability to be invited.
-
collaborations.putCollaborationsIdUpdates a collaboration. Can be used to change the owner of an item, or to accept collaboration invites.
-
collaborationsList.getCollaborationsRetrieves all pending collaboration invites for this user.
-
collaborationsList.getFilesIdCollaborationsRetrieves a list of pending and active collaborations for a file. This returns all the users that have access to the file or have been invited to the file.
-
collaborationsList.getFoldersIdCollaborationsRetrieves a list of pending and active collaborations for a folder. This returns all the users that have access to the folder or have been invited to the folder.
-
collaborationsList.getGroupsIdCollaborationsRetrieves all the collaborations for a group. The user must have admin permissions to inspect enterprise's groups.
Each collaboration object has details on which files or folders the group has access to and with what role.
-
collections.getCollectionsRetrieves all collections for a given user.
Currently, only the
favoritescollection is supported. -
collections.getCollectionsIdItemsRetrieves the files and/or folders contained within this collection.
-
comments.deleteCommentsIdPermanently deletes a comment.
-
comments.getCommentsIdRetrieves the message and metadata for a specific comment, as well as information on the user who created the comment.
-
comments.getFilesIdCommentsRetrieves a list of comments for a file.
-
comments.postCommentsAdds a comment by the user to a specific file, or as a reply to an other comment.
-
comments.putCommentsIdUpdate the message of a comment.
-
devicePinners.deleteDevicePinnersIdDeletes an individual device pin.
-
devicePinners.getDevicePinnersIdRetrieves information about an individual device pin.
-
devicePinners.getEnterprisesIdDevicePinnersRetrieves all the device pins within an enterprise.
The user must have admin privileges, and the application needs the "manage enterprise" scope to make this call.
-
domainRestrictionsForCollaborations.deleteCollaborationWhitelistEntriesIdRemoves a domain from the list of domains that have been deemed safe to create collaborations for within the current enterprise.
-
domainRestrictionsForCollaborations.getCollaborationWhitelistEntriesReturns the list domains that have been deemed safe to create collaborations for within the current enterprise.
-
domainRestrictionsForCollaborations.getCollaborationWhitelistEntriesIdReturns a domain that has been deemed safe to create collaborations for within the current enterprise.
-
domainRestrictionsForCollaborations.postCollaborationWhitelistEntriesCreates a new entry in the list of allowed domains to allow collaboration for.
-
domainRestrictionsUserExemptions.deleteCollaborationWhitelistExemptTargetsIdRemoves a user's exemption from the restrictions set out by the allowed list of domains for collaborations.
-
domainRestrictionsUserExemptions.getCollaborationWhitelistExemptTargetsReturns a list of users who have been exempt from the collaboration domain restrictions.
-
domainRestrictionsUserExemptions.getCollaborationWhitelistExemptTargetsIdReturns a users who has been exempt from the collaboration domain restrictions.
-
domainRestrictionsUserExemptions.postCollaborationWhitelistExemptTargetsExempts a user from the restrictions set out by the allowed list of domains for collaborations.
-
downloads.getFilesIdContentReturns the contents of a file in binary format.
-
emailAliases.deleteUsersIdEmailAliasesIdRemoves an email alias from a user.
-
emailAliases.getUsersIdEmailAliasesRetrieves all email aliases for a user. The collection does not include the primary login for the user.
-
emailAliases.postUsersIdEmailAliasesAdds a new email alias to a user account..
-
events.getEventsReturns up to a year of past events for a given user or for the entire enterprise.
By default this returns events for the authenticated user. To retrieve events for the entire enterprise, set the
stream_typetoadmin_logs_streamingfor live monitoring of new events, oradmin_logsfor querying across historical events. The user making the API call will need to have admin privileges, and the application will need to have the scopemanage enterprise propertieschecked. -
events.optionsEventsReturns a list of real-time servers that can be used for long-polling updates to the .
Long polling is the concept where a HTTP request is kept open until the server sends a response, then repeating the process over and over to receive updated responses.
Long polling the event stream can only be used for user events, not for enterprise events.
To use long polling, first use this endpoint to retrieve a list of long poll URLs. Next, make a long poll request to any of the provided URLs.
When an event occurs in monitored account a response with the value
new_changewill be sent. The response contains no other details as it only serves as a prompt to take further action such as sending a request to the with the last knownstream_position.After the server sends this response it closes the connection. You must now repeat the long poll process to begin listening for events again.
If no events occur for a while and the connection times out you will receive a response with the value
reconnect. When you receive this response you’ll make another call to this endpoint to restart the process.If you receive no events in
retry_timeoutseconds then you will need to make another request to the real-time server (one of the URLs in the response for this endpoint). This might be necessary due to network errors.Finally, if you receive a
max_retrieserror when making a request to the real-time server, you should start over by making a call to this endpoint first. -
fileRequests.deleteFileRequestsIdDeletes a file request permanently.
-
fileRequests.getFileRequestsIdRetrieves the information about a file request.
-
fileRequests.postFileRequestsIdCopyCopies an existing file request that is already present on one folder, and applies it to another folder.
-
fileRequests.putFileRequestsIdUpdates a file request. This can be used to activate or deactivate a file request.
-
files.deleteFilesIdDeletes a file, either permanently or by moving it to the trash.
The the enterprise settings determine whether the item will be permanently deleted from Box or moved to the trash.
-
files.getFilesIdRetrieves the details about a file.
-
files.getFilesIdThumbnailIdRetrieves a thumbnail, or smaller image representation, of a file.
Sizes of
32x32,64x64,128x128, and256x256can be returned in the.pngformat and sizes of32x32,160x160, and320x320can be returned in the.jpgformat.Thumbnails can be generated for the image and video file formats listed [found on our community site][1].
-
files.optionsFilesContentPerforms a check to verify that a file will be accepted by Box before you upload the entire file.
-
files.postFilesIdCopyCreates a copy of a file.
-
files.putFilesIdUpdates a file. This can be used to rename or move a file, create a shared link, or lock a file.
-
fileVersionLegalHolds.getFileVersionLegalHoldsGet a list of file versions on legal hold for a legal hold assignment.
Due to ongoing re-architecture efforts this API might not return all file versions for this policy ID.
Instead, this API will only return file versions held in the legacy architecture. Two new endpoints will available to request any file versions held in the new architecture.
For file versions held in the new architecture, the
GET /legal_hold_policy_assignments/:id/file_versions_on_holdAPI can be used to return all past file versions available for this policy assignment, and theGET /legal_hold_policy_assignments/:id/files_on_holdAPI can be used to return any current (latest) versions of a file under legal hold.The
GET /legal_hold_policy_assignments?policy_id={id}API can be used to find a list of policy assignments for a given policy ID.Once the re-architecture is completed this API will be deprecated.
-
fileVersionLegalHolds.getFileVersionLegalHoldsIdRetrieves information about the legal hold policies assigned to a file version.
-
fileVersionRetentions.getFileVersionRetentionsRetrieves all file version retentions for the given enterprise.
-
fileVersionRetentions.getFileVersionRetentionsIdReturns information about a file version retention.
-
fileVersions.deleteFilesIdVersionsIdMove a file version to the trash.
Versions are only tracked for Box users with premium accounts.
-
fileVersions.getFilesIdVersionsRetrieve a list of the past versions for a file.
Versions are only tracked by Box users with premium accounts. To fetch the ID of the current version of a file, use the
GET /file/:idAPI. -
fileVersions.getFilesIdVersionsIdRetrieve a specific version of a file.
Versions are only tracked for Box users with premium accounts.
-
fileVersions.postFilesIdVersionsCurrentPromote a specific version of a file.
If previous versions exist, this method can be used to promote one of the older versions to the top of the version history.
This creates a new copy of the old version and puts it at the top of the versions history. The file will have the exact same contents as the older version, with the the same hash digest,
etag, and name as the original.Other properties such as comments do not get updated to their former values.
Don't use this endpoint to restore Box Notes, as it works with file formats such as PDF, DOC, PPTX or similar.
-
fileVersions.putFilesIdVersionsIdRestores a specific version of a file after it was deleted. Don't use this endpoint to restore Box Notes, as it works with file formats such as PDF, DOC, PPTX or similar.
-
folderLocks.deleteFolderLocksIdDeletes a folder lock on a given folder.
You must be authenticated as the owner or co-owner of the folder to use this endpoint.
-
folderLocks.getFolderLocksRetrieves folder lock details for a given folder.
You must be authenticated as the owner or co-owner of the folder to use this endpoint.
-
folderLocks.postFolderLocksCreates a folder lock on a folder, preventing it from being moved and/or deleted.
You must be authenticated as the owner or co-owner of the folder to use this endpoint.
-
folders.deleteFoldersIdDeletes a folder, either permanently or by moving it to the trash.
-
folders.getFoldersIdRetrieves details for a folder, including the first 100 entries in the folder.
To fetch more items within the folder, please use the endpoint.
-
folders.getFoldersIdItemsRetrieves a page of items in a folder. These items can be files, folders, and web links.
To request more information about the folder itself, like its size, please use the endpoint instead.
-
folders.postFoldersCreates a new empty folder within the specified parent folder.
-
folders.postFoldersIdCopyCreates a copy of a folder within a destination folder.
The original folder will not be changed.
-
folders.putFoldersIdUpdates a folder. This can be also be used to move the folder, create shared links, update collaborations, and more.
-
groupMemberships.deleteGroupMembershipsIdDeletes a specific group membership. Only admins of this group or users with admin-level permissions will be able to use this API.
-
groupMemberships.getGroupMembershipsIdRetrieves a specific group membership. Only admins of this group or users with admin-level permissions will be able to use this API.
-
groupMemberships.getGroupsIdMembershipsRetrieves all the members for a group. Only members of this group or users with admin-level permissions will be able to use this API.
-
groupMemberships.getUsersIdMembershipsRetrieves all the groups for a user. Only members of this group or users with admin-level permissions will be able to use this API.
-
groupMemberships.postGroupMembershipsCreates a group membership. Only users with admin-level permissions will be able to use this API.
-
groupMemberships.putGroupMembershipsIdUpdates a user's group membership. Only admins of this group or users with admin-level permissions will be able to use this API.
-
groups.deleteGroupsIdPermanently deletes a group. Only users with admin-level permissions will be able to use this API.
-
groups.getGroupsRetrieves all of the groups for a given enterprise. The user must have admin permissions to inspect enterprise's groups.
-
groups.getGroupsIdRetrieves information about a group. Only members of this group or users with admin-level permissions will be able to use this API.
-
groups.postGroupsCreates a new group of users in an enterprise. Only users with admin permissions can create new groups.
-
groups.postGroupsTerminateSessionsValidates the roles and permissions of the group, and creates asynchronous jobs to terminate the group's sessions. Returns the status for the POST request.
-
groups.putGroupsIdUpdates a specific group. Only admins of this group or users with admin-level permissions will be able to use this API.
-
invites.getInvitesIdReturns the status of a user invite.
-
invites.postInvitesInvites an existing external user to join an enterprise.
The existing user can not be part of another enterprise and must already have a Box account. Once invited, the user will receive an email and are prompted to accept the invitation within the Box web application.
This method requires the "Manage An Enterprise" scope enabled for the application, which can be enabled within the developer console.
-
legalHoldPolicies.deleteLegalHoldPoliciesIdDelete an existing legal hold policy.
This is an asynchronous process. The policy will not be fully deleted yet when the response returns.
-
legalHoldPolicies.getLegalHoldPoliciesRetrieves a list of legal hold policies that belong to an enterprise.
-
legalHoldPolicies.getLegalHoldPoliciesIdRetrieve a legal hold policy.
-
legalHoldPolicies.postLegalHoldPoliciesCreate a new legal hold policy.
-
legalHoldPolicies.putLegalHoldPoliciesIdUpdate legal hold policy.
-
legalHoldPolicyAssignments.deleteLegalHoldPolicyAssignmentsIdRemove a legal hold from an item.
This is an asynchronous process. The policy will not be fully removed yet when the response returns.
-
legalHoldPolicyAssignments.getLegalHoldPolicyAssignmentsRetrieves a list of items a legal hold policy has been assigned to.
-
legalHoldPolicyAssignments.getLegalHoldPolicyAssignmentsIdRetrieve a legal hold policy assignment.
-
legalHoldPolicyAssignments.getLegalHoldPolicyAssignmentsIdFilesOnHoldGet a list of current file versions for a legal hold assignment.
In some cases you may want to get previous file versions instead. In these cases, use the
GET /legal_hold_policy_assignments/:id/file_versions_on_holdAPI instead to return any previous versions of a file for this legal hold policy assignment.Due to ongoing re-architecture efforts this API might not return all file versions held for this policy ID. Instead, this API will only return the latest file version held in the newly developed architecture. The
GET /file_version_legal_holdsAPI can be used to fetch current and past versions of files held within the legacy architecture.The
GET /legal_hold_policy_assignments?policy_id={id}API can be used to find a list of policy assignments for a given policy ID. -
legalHoldPolicyAssignments.getLegalHoldPolicyAssignmentsIdFileVersionsOnHoldGet a list of previous file versions for a legal hold assignment.
In some cases you may only need the latest file versions instead. In these cases, use the
GET /legal_hold_policy_assignments/:id/files_on_holdAPI instead to return any current (latest) versions of a file for this legal hold policy assignment.Due to ongoing re-architecture efforts this API might not return all files held for this policy ID. Instead, this API will only return past file versions held in the newly developed architecture. The
GET /file_version_legal_holdsAPI can be used to fetch current and past versions of files held within the legacy architecture.The
GET /legal_hold_policy_assignments?policy_id={id}API can be used to find a list of policy assignments for a given policy ID. -
legalHoldPolicyAssignments.postLegalHoldPolicyAssignmentsAssign a legal hold to a file, file version, folder, or user.
-
metadataCascadePolicies.deleteMetadataCascadePoliciesIdDeletes a metadata cascade policy.
-
metadataCascadePolicies.getMetadataCascadePoliciesRetrieves a list of all the metadata cascade policies that are applied to a given folder. This can not be used on the root folder with ID
0. -
metadataCascadePolicies.getMetadataCascadePoliciesIdRetrieve a specific metadata cascade policy assigned to a folder.
-
metadataCascadePolicies.postMetadataCascadePoliciesCreates a new metadata cascade policy that applies a given metadata template to a given folder and automatically cascades it down to any files within that folder.
In order for the policy to be applied a metadata instance must first be applied to the folder the policy is to be applied to.
-
metadataCascadePolicies.postMetadataCascadePoliciesIdApplyForce the metadata on a folder with a metadata cascade policy to be applied to all of its children. This can be used after creating a new cascade policy to enforce the metadata to be cascaded down to all existing files within that folder.
-
metadataInstancesFiles.deleteFilesIdMetadataIdIdDeletes a piece of file metadata.
-
metadataInstancesFiles.getFilesIdMetadataRetrieves all metadata for a given file.
-
metadataInstancesFiles.getFilesIdMetadataIdIdRetrieves the instance of a metadata template that has been applied to a file.
-
metadataInstancesFiles.postFilesIdMetadataIdIdApplies an instance of a metadata template to a file.
In most cases only values that are present in the metadata template will be accepted, except for the
global.propertiestemplate which accepts any key-value pair. -
metadataInstancesFiles.putFilesIdMetadataIdIdUpdates a piece of metadata on a file.
The metadata instance can only be updated if the template has already been applied to the file before. When editing metadata, only values that match the metadata template schema will be accepted.
The update is applied atomically. If any errors occur during the application of the operations, the metadata instance will not be changed.
-
metadataInstancesFolders.deleteFoldersIdMetadataIdIdDeletes a piece of folder metadata.
-
metadataInstancesFolders.getFoldersIdMetadataRetrieves all metadata for a given folder. This can not be used on the root folder with ID
0. -
metadataInstancesFolders.getFoldersIdMetadataIdIdRetrieves the instance of a metadata template that has been applied to a folder. This can not be used on the root folder with ID
0. -
metadataInstancesFolders.postFoldersIdMetadataIdIdApplies an instance of a metadata template to a folder.
In most cases only values that are present in the metadata template will be accepted, except for the
global.propertiestemplate which accepts any key-value pair.To display the metadata template in the Box web app the enterprise needs to be configured to enable Cascading Folder Level Metadata for the user in the admin console.
-
metadataInstancesFolders.putFoldersIdMetadataIdIdUpdates a piece of metadata on a folder.
The metadata instance can only be updated if the template has already been applied to the folder before. When editing metadata, only values that match the metadata template schema will be accepted.
The update is applied atomically. If any errors occur during the application of the operations, the metadata instance will not be changed.
-
metadataTemplates.deleteMetadataTemplatesIdIdSchemaDelete a metadata template and its instances. This deletion is permanent and can not be reversed.
-
metadataTemplates.getMetadataTemplatesFinds a metadata template by searching for the ID of an instance of the template.
-
metadataTemplates.getMetadataTemplatesEnterpriseUsed to retrieve all metadata templates created to be used specifically within the user's enterprise
-
metadataTemplates.getMetadataTemplatesGlobalUsed to retrieve all generic, global metadata templates available to all enterprises using Box.
-
metadataTemplates.getMetadataTemplatesIdRetrieves a metadata template by its ID.
-
metadataTemplates.getMetadataTemplatesIdIdSchemaRetrieves a metadata template by its
scopeandtemplateKeyvalues.To find the
scopeandtemplateKeyfor a template, list all templates for an enterprise or globally, or list all templates applied to a file or folder. -
metadataTemplates.postMetadataTemplatesSchemaCreates a new metadata template that can be applied to files and folders.
-
metadataTemplates.putMetadataTemplatesIdIdSchemaUpdates a metadata template.
The metadata template can only be updated if the template already exists.
The update is applied atomically. If any errors occur during the application of the operations, the metadata template will not be changed.
-
recentItems.getRecentItemsReturns information about the recent items accessed by a user, either in the last 90 days or up to the last 1000 items accessed.
-
retentionPolicies.deleteRetentionPoliciesIdPermanently deletes a retention policy.
-
retentionPolicies.getRetentionPoliciesRetrieves all of the retention policies for an enterprise.
-
retentionPolicies.getRetentionPoliciesIdRetrieves a retention policy.
-
retentionPolicies.postRetentionPoliciesCreates a retention policy.
-
retentionPolicies.putRetentionPoliciesIdUpdates a retention policy.
-
retentionPolicyAssignments.deleteRetentionPolicyAssignmentsIdRemoves a retention policy assignment applied to content.
-
retentionPolicyAssignments.getRetentionPoliciesIdAssignmentsReturns a list of all retention policy assignments associated with a specified retention policy.
-
retentionPolicyAssignments.getRetentionPolicyAssignmentsIdRetrieves a retention policy assignment
-
retentionPolicyAssignments.getRetentionPolicyAssignmentsIdFilesUnderRetentionReturns a list of files under retention for a retention policy assignment.
-
retentionPolicyAssignments.getRetentionPolicyAssignmentsIdFileVersionsUnderRetentionReturns a list of file versions under retention for a retention policy assignment.
-
retentionPolicyAssignments.postRetentionPolicyAssignmentsAssigns a retention policy to an item.
-
search.getMetadataQueryIndicesRetrieves the metadata query indices for a given scope and template key.
-
search.getSearchSearches for files, folders, web links, and shared files across the users content or across the entire enterprise.
-
search.postMetadataQueriesExecuteReadCreate a search using SQL-like syntax to return items that match specific metadata.
By default, this endpoint returns only the most basic info about the items for which the query matches. To get additional fields for each item, including any of the metadata, use the
fieldsattribute in the query. -
sharedLinksFiles.getFilesIdGetSharedLinkGets the information for a shared link on a file.
-
sharedLinksFiles.getSharedItemsReturns the file represented by a shared link.
A shared file can be represented by a shared link, which can originate within the current enterprise or within another.
This endpoint allows an application to retrieve information about a shared file when only given a shared link.
The
shared_link_permission_optionsarray field can be returned by requesting it in thefieldsquery parameter. -
sharedLinksFiles.putFilesIdAddSharedLinkAdds a shared link to a file.
-
sharedLinksFiles.putFilesIdRemoveSharedLinkRemoves a shared link from a file.
-
sharedLinksFiles.putFilesIdUpdateSharedLinkUpdates a shared link on a file.
-
sharedLinksFolders.getFoldersIdGetSharedLinkGets the information for a shared link on a folder.
-
sharedLinksFolders.getSharedItemsFoldersReturn the folder represented by a shared link.
A shared folder can be represented by a shared link, which can originate within the current enterprise or within another.
This endpoint allows an application to retrieve information about a shared folder when only given a shared link.
-
sharedLinksFolders.putFoldersIdAddSharedLinkAdds a shared link to a folder.
-
sharedLinksFolders.putFoldersIdRemoveSharedLinkRemoves a shared link from a folder.
-
sharedLinksFolders.putFoldersIdUpdateSharedLinkUpdates a shared link on a folder.
-
sharedLinksWebLinks.getSharedItemsWebLinksReturns the web link represented by a shared link.
A shared web link can be represented by a shared link, which can originate within the current enterprise or within another.
This endpoint allows an application to retrieve information about a shared web link when only given a shared link.
-
sharedLinksWebLinks.getWebLinksIdGetSharedLinkGets the information for a shared link on a web link.
-
sharedLinksWebLinks.putWebLinksIdAddSharedLinkAdds a shared link to a web link.
-
sharedLinksWebLinks.putWebLinksIdRemoveSharedLinkRemoves a shared link from a web link.
-
sharedLinksWebLinks.putWebLinksIdUpdateSharedLinkUpdates a shared link on a web link.
-
shieldInformationBarrierReports.getShieldInformationBarrierReportsLists shield information barrier reports with specific IDs.
-
shieldInformationBarrierReports.getShieldInformationBarrierReportsIdRetrieves a shield information barrier report by its ID.
-
shieldInformationBarrierReports.postShieldInformationBarrierReportsCreates a shield information barrier report for a given barrier.
-
shieldInformationBarriers.getShieldInformationBarriersRetrieves a list of shield information barrier objects for the enterprise of JWT.
-
shieldInformationBarriers.getShieldInformationBarriersIdGet shield information barrier based on provided ID..
-
shieldInformationBarriers.postShieldInformationBarriersCreates a shield information barrier to separate individuals/groups within the same firm and prevents confidential information passing between them.
-
shieldInformationBarriers.postShieldInformationBarriersChangeStatusChange status of shield information barrier with the specified ID.
-
shieldInformationBarrierSegmentMembers.deleteShieldInformationBarrierSegmentMembersIdDeletes a shield information barrier segment member based on provided ID.
-
shieldInformationBarrierSegmentMembers.getShieldInformationBarrierSegmentMembersLists shield information barrier segment members based on provided segment IDs.
-
shieldInformationBarrierSegmentMembers.getShieldInformationBarrierSegmentMembersIdRetrieves a shield information barrier segment member by its ID.
-
shieldInformationBarrierSegmentMembers.postShieldInformationBarrierSegmentMembersCreates a new shield information barrier segment member.
-
shieldInformationBarrierSegmentRestrictions.deleteShieldInformationBarrierSegmentRestrictionsIdDelete shield information barrier segment restriction based on provided ID.
-
shieldInformationBarrierSegmentRestrictions.getShieldInformationBarrierSegmentRestrictionsLists shield information barrier segment restrictions based on provided segment ID.
-
shieldInformationBarrierSegmentRestrictions.getShieldInformationBarrierSegmentRestrictionsIdRetrieves a shield information barrier segment restriction based on provided ID.
-
shieldInformationBarrierSegmentRestrictions.postShieldInformationBarrierSegmentRestrictionsCreates a shield information barrier segment restriction object.
-
shieldInformationBarrierSegments.deleteShieldInformationBarrierSegmentsIdDeletes the shield information barrier segment based on provided ID.
-
shieldInformationBarrierSegments.getShieldInformationBarrierSegmentsRetrieves a list of shield information barrier segment objects for the specified Information Barrier ID.
-
shieldInformationBarrierSegments.getShieldInformationBarrierSegmentsIdRetrieves shield information barrier segment based on provided ID..
-
shieldInformationBarrierSegments.postShieldInformationBarrierSegmentsCreates a shield information barrier segment.
-
shieldInformationBarrierSegments.putShieldInformationBarrierSegmentsIdUpdates the shield information barrier segment based on provided ID..
-
skills.deleteFilesIdMetadataGlobalBoxSkillsCardsRemoves any Box Skills cards metadata from a file.
-
skills.getFilesIdMetadataGlobalBoxSkillsCardsList the Box Skills metadata cards that are attached to a file.
-
skills.postFilesIdMetadataGlobalBoxSkillsCardsApplies one or more Box Skills metadata cards to a file.
-
skills.putFilesIdMetadataGlobalBoxSkillsCardsUpdates one or more Box Skills metadata cards to a file.
-
skills.putSkillInvocationsIdAn alternative method that can be used to overwrite and update all Box Skill metadata cards on a file.
-
storagePolicies.getStoragePoliciesFetches all the storage policies in the enterprise.
-
storagePolicies.getStoragePoliciesIdFetches a specific storage policy.
-
storagePolicyAssignments.deleteStoragePolicyAssignmentsIdDelete a storage policy assignment.
Deleting a storage policy assignment on a user will have the user inherit the enterprise's default storage policy.
There is a rate limit for calling this endpoint of only twice per user in a 24 hour time frame.
-
storagePolicyAssignments.getStoragePolicyAssignmentsFetches all the storage policy assignment for an enterprise or user.
-
storagePolicyAssignments.getStoragePolicyAssignmentsIdFetches a specific storage policy assignment.
-
storagePolicyAssignments.postStoragePolicyAssignmentsCreates a storage policy assignment for an enterprise or user.
-
storagePolicyAssignments.putStoragePolicyAssignmentsIdUpdates a specific storage policy assignment.
-
taskAssignments.deleteTaskAssignmentsIdDeletes a specific task assignment.
-
taskAssignments.getTaskAssignmentsIdRetrieves information about a task assignment.
-
taskAssignments.getTasksIdAssignmentsLists all of the assignments for a given task.
-
taskAssignments.postTaskAssignmentsAssigns a task to a user.
A task can be assigned to more than one user by creating multiple assignments.
-
taskAssignments.putTaskAssignmentsIdUpdates a task assignment. This endpoint can be used to update the state of a task assigned to a user.
-
tasks.deleteTasksIdRemoves a task from a file.
-
tasks.getFilesIdTasksRetrieves a list of all the tasks for a file. This endpoint does not support pagination.
-
tasks.getTasksIdRetrieves information about a specific task.
-
tasks.postTasksCreates a single task on a file. This task is not assigned to any user and will need to be assigned separately.
-
tasks.putTasksIdUpdates a task. This can be used to update a task's configuration, or to update its completion state.
-
termsOfService.getTermsOfServicesReturns the current terms of service text and settings for the enterprise.
-
termsOfService.getTermsOfServicesIdFetches a specific terms of service.
-
termsOfService.postTermsOfServicesCreates a terms of service for a given enterprise and type of user.
-
termsOfService.putTermsOfServicesIdUpdates a specific terms of service.
-
termsOfServiceUserStatuses.getTermsOfServiceUserStatusesRetrieves an overview of users and their status for a terms of service, including Whether they have accepted the terms and when.
-
termsOfServiceUserStatuses.postTermsOfServiceUserStatusesSets the status for a terms of service for a user.
-
termsOfServiceUserStatuses.putTermsOfServiceUserStatusesIdUpdates the status for a terms of service for a user.
-
transferFolders.putUsersIdFolders0Move all of the items (files, folders and workflows) owned by a user into another user's account
Only the root folder (
0) can be transferred.Folders can only be moved across users by users with administrative permissions.
All existing shared links and folder-level collaborations are transferred during the operation. Please note that while collaborations at the individual file-level are transferred during the operation, the collaborations are deleted when the original user is deleted.
This call will be performed synchronously which might lead to a slow response when the source user has a large number of items in all of its folders.
If the destination path has a metadata cascade policy attached to any of the parent folders, a metadata cascade operation will be kicked off asynchronously.
There is currently no way to check for when this operation is finished.
The destination folder's name will be in the format
{User}'s Files and Folders, where{User}is the display name of the user.To make this API call your application will need to have the "Read and write all files and folders stored in Box" scope enabled.
Please make sure the destination user has access to
RelayorRelay Lite, and has access to the files and folders involved in the workflows being transferred.Admins will receive an email when the operation is completed.
-
trashedFiles.deleteFilesIdTrashPermanently deletes a file that is in the trash. This action cannot be undone.
-
trashedFiles.getFilesIdTrashRetrieves a file that has been moved to the trash.
Please note that only if the file itself has been moved to the trash can it be retrieved with this API call. If instead one of its parent folders was moved to the trash, only that folder can be inspected using the
GET /folders/:id/trash[blocked] API.To list all items that have been moved to the trash, please use the
GET /folders/trash/items[blocked] API. -
trashedFiles.postFilesIdRestores a file that has been moved to the trash.
An optional new parent ID can be provided to restore the file to in case the original folder has been deleted.
-
trashedFolders.deleteFoldersIdTrashPermanently deletes a folder that is in the trash. This action cannot be undone.
-
trashedFolders.getFoldersIdTrashRetrieves a folder that has been moved to the trash.
Please note that only if the folder itself has been moved to the trash can it be retrieved with this API call. If instead one of its parent folders was moved to the trash, only that folder can be inspected using the
GET /folders/:id/trash[blocked] API.To list all items that have been moved to the trash, please use the
GET /folders/trash/items[blocked] API. -
trashedFolders.postFoldersIdRestores a folder that has been moved to the trash.
An optional new parent ID can be provided to restore the folder to in case the original folder has been deleted.
Folder locking
During this operation, part of the file tree will be locked, mainly the source folder and all of its descendants, as well as the destination folder.
For the duration of the operation, no other move, copy, delete, or restore operation can performed on any of the locked folders.
-
trashedItems.getFoldersTrashItemsRetrieves the files and folders that have been moved to the trash.
Any attribute in the full files or folders objects can be passed in with the
fieldsparameter to retrieve those specific attributes that are not returned by default.This endpoint defaults to use offset-based pagination, yet also supports marker-based pagination using the
markerparameter. -
trashedWebLinks.deleteWebLinksIdTrashPermanently deletes a web link that is in the trash. This action cannot be undone.
-
trashedWebLinks.getWebLinksIdTrashRetrieves a web link that has been moved to the trash.
-
trashedWebLinks.postWebLinksIdRestores a web link that has been moved to the trash.
An optional new parent ID can be provided to restore the web link to in case the original folder has been deleted.
-
uploads.postFilesContentUploads a small file to Box. For file sizes over 50MB we recommend using the Chunk Upload APIs.
Request body order
The
attributespart of the body must come before thefilepart. Requests that do not follow this format when uploading the file will receive a HTTP400error with ametadata_after_file_contentserror code. -
uploads.postFilesIdContentUpdate a file's content. For file sizes over 50MB we recommend using the Chunk Upload APIs.
Request body order
The
attributespart of the body must come before thefilepart. Requests that do not follow this format when uploading the file will receive a HTTP400error with ametadata_after_file_contentserror code. -
uploadsChunked.deleteFilesUploadSessionsIdAbort an upload session and discard all data uploaded.
This cannot be reversed.
-
uploadsChunked.getFilesUploadSessionsIdReturn information about an upload session.
-
uploadsChunked.getFilesUploadSessionsIdPartsReturn a list of the chunks uploaded to the upload session so far.
-
uploadsChunked.postFilesIdUploadSessionsCreates an upload session for an existing file.
-
uploadsChunked.postFilesUploadSessionsCreates an upload session for a new file.
-
uploadsChunked.postFilesUploadSessionsIdCommitClose an upload session and create a file from the uploaded chunks.
-
uploadsChunked.putFilesUploadSessionsIdUpdates a chunk of an upload session for a file.
-
userAvatars.deleteUsersIdAvatarRemoves an existing user avatar. You cannot reverse this operation.
-
userAvatars.getUsersIdAvatarRetrieves an image of a the user's avatar.
-
userAvatars.postUsersIdAvatarAdds or updates a user avatar.
-
users.deleteUsersIdDeletes a user. By default this will fail if the user still owns any content. Move their owned content first before proceeding, or use the
forcefield to delete the user and their files. -
users.getUsersReturns a list of all users for the Enterprise along with their
user_id,public_name, andlogin.The application and the authenticated user need to have the permission to look up users in the entire enterprise.
-
users.getUsersIdRetrieves information about a user in the enterprise.
The application and the authenticated user need to have the permission to look up users in the entire enterprise.
This endpoint also returns a limited set of information for external users who are collaborated on content owned by the enterprise for authenticated users with the right scopes. In this case, disallowed fields will return null instead.
-
users.getUsersMeRetrieves information about the user who is currently authenticated.
In the case of a client-side authenticated OAuth 2.0 application this will be the user who authorized the app.
In the case of a JWT, server-side authenticated application this will be the service account that belongs to the application by default.
Use the
As-Userheader to change who this API call is made on behalf of. -
users.postUsersCreates a new managed user in an enterprise. This endpoint is only available to users and applications with the right admin permissions.
-
users.postUsersTerminateSessionsValidates the roles and permissions of the user, and creates asynchronous jobs to terminate the user's sessions. Returns the status for the POST request.
-
users.putUsersIdUpdates a managed or app user in an enterprise. This endpoint is only available to users and applications with the right admin permissions.
-
watermarksFiles.deleteFilesIdWatermarkRemoves the watermark from a file.
-
watermarksFiles.getFilesIdWatermarkRetrieve the watermark for a file.
-
watermarksFiles.putFilesIdWatermarkApplies or update a watermark on a file.
-
watermarksFolders.deleteFoldersIdWatermarkRemoves the watermark from a folder.
-
watermarksFolders.getFoldersIdWatermarkRetrieve the watermark for a folder.
-
watermarksFolders.putFoldersIdWatermarkApplies or update a watermark on a folder.
-
webhooks.deleteWebhooksIdDeletes a webhook.
-
webhooks.getWebhooksReturns all defined webhooks for the requesting application.
This API only returns webhooks that are applied to files or folders that are owned by the authenticated user. This means that an admin can not see webhooks created by a service account unless the admin has access to those folders, and vice versa.
-
webhooks.getWebhooksIdRetrieves a specific webhook
-
webhooks.postWebhooksCreates a webhook.
-
webhooks.putWebhooksIdUpdates a webhook.
-
webLinks.deleteWebLinksIdDeletes a web link.
-
webLinks.getWebLinksIdRetrieve information about a web link.
-
webLinks.postWebLinksCreates a web link object within a folder.
-
webLinks.putWebLinksIdUpdates a web link object.
-
workflows.getWorkflowsReturns list of workflows that act on a given
folder ID, and have a flow with a trigger type ofWORKFLOW_MANUAL_START.You application must be authorized to use the
Manage Box Relayapplication scope within the developer console in to use this endpoint. -
workflows.postWorkflowsIdStartInitiates a flow with a trigger type of
WORKFLOW_MANUAL_START.You application must be authorized to use the
Manage Box Relayapplication scope within the developer console. -
zipDownloads.getZipDownloadsIdContentReturns the contents of a
ziparchive in binary format. This URL does not require any form of authentication and could be used in a user's browser to download the archive to a user's device.By default, this URL is only valid for a few seconds from the creation of the request for this archive. Once a download has started it can not be stopped and resumed, instead a new request for a zip archive would need to be created.
The URL of this endpoint should not be considered as fixed. Instead, use the Create zip download [blocked] API to request to create a
ziparchive, and then follow thedownload_urlfield in the response to this endpoint. -
zipDownloads.getZipDownloadsIdStatusReturns the download status of a
ziparchive, allowing an application to inspect the progress of the download as well as the number of items that might have been skipped.This endpoint can only be accessed once the download has started. Subsequently this endpoint is valid for 12 hours from the start of the download.
The URL of this endpoint should not be considered as fixed. Instead, use the Create zip download [blocked] API to request to create a
ziparchive, and then follow thestatus_urlfield in the response to this endpoint. -
zipDownloads.postZipDownloadsCreates a request to download multiple files and folders as a single
ziparchive file. This API does not return the archive but instead performs all the checks to ensure that the user has access to all the items, and then returns adownload_urland astatus_urlthat can be used to download the archive.The limit for an archive is either the Account's upload limit or 10,000 files, whichever is met first
-
openapi.previewSpecPreview an OpenAPI document before adding it as a source
-
openapi.addSourceAdd an OpenAPI source and register its operations as tools