Index BlackBerry Workspaces SDK
BlackBerry Workspaces Resource
Rooms
Functions for secure virtual data workspace handling.
Function Summary
Name Path Version Description

addEntityToDocumentV30

/rooms/documents/entity/add

3.0

Adds permitted entity to workspace with no permissions outside of the given folder.

addEntityToFolderV30

/rooms/folders/entity/add

3.0

Adds permitted entity to workspace with no permissions outside of the given folder.

addEntityV30

/rooms/{roomId}/entities/add

3.0

This call adds a new entity to a workspace.

addFolderPermissionRequestV30

/rooms/folders/permissions/requests/add

3.0

Adds a new permission request for folder.

addMembersToGroupV30

/rooms/group/members/add

3.0

Adds members (users) to a group.

addMembersV30

/rooms/{roomId}/members/add

3.0

Adds members to a workspace.

addPermissionsV30

/rooms/{roomId}/documents/permissions/add

3.0

Adds permissions for entities (users/groups/domains) to a set of files in a workspace.

addTagsV30

/rooms/{roomId}/documents/tag

3.0

Adds tags to a list of files.

changeDefaultPermissionsBulkV30

/rooms/entities/permissions/change/bulk

3.0

Changes default permissions of a permitted entity in a workspace.

changeDefaultPermissionsV30

/rooms/{roomId}/entities/permissions/change

3.0

Changes default permissions of a permitted entity in a workspace.

copyDocumentsFromRoomsToExchangeAsyncV30

/rooms/copy/exchange/async

3.0

Submits files in Sent items (asynchronous).

copyDocumentsFromRoomsToExchangeV30

/rooms/copy/exchange

3.0

Submits files in Sent items.

copyMembershipV30

/rooms/{roomId}/copyMembership

3.0

Copies membership (of several users) to another existing user.

createExternalFoldersTreeV30

/rooms/folders/external/create

3.0

Creates a folder in a workspace for each external folder in the tree.

createFoldersBulkV30

/rooms/folders/create/bulk

3.0

Creates a folder in a workspace with a specified path.

createFoldersInFolderIfNewV30

/rooms/folders/create/check

3.0

Creates a folder in a workspace with a specified parent ID and name.

createFoldersInFolderV30

/rooms/folders/create

3.0

Creates a folder in a workspace with a specified parent ID and name.

createFoldersTreeAsyncV30

/rooms/folders/tree/create/async

3.0

Creates a folder in a workspace for each folder in the tree asynchronous.

createFoldersTreeV30

/rooms/folders/tree/create

3.0

Creates a folder in a workspace for each folder in the tree.

createNewDocumentV30

/rooms/document/new/create

3.0

createRoomV30

/rooms/create

3.0

Creates a workspace.

deleteDocumentsBulkV30

/rooms/documents/delete

3.0

Deletes files and/or folders.

deleteDocumentsV30

/rooms/{roomId}/documents/delete

3.0

Deletes files and/or folders from a workspace.

deleteEntitiesV30

/rooms/{roomId}/entities/delete

3.0

Deletes entities from a workspace.

deleteFolderV30

/rooms/{roomId}/folders/delete

3.0

Deletes a folder and all of its subfolders and files from a workspace.

deleteRoomV30

/rooms/delete

3.0

Deletes a workspace and all its contents.

documentUploadCompleteV30

/rooms/{roomId}/documents/{documentGuid}/upload/completed

3.0

Completes the already uploaded by chunks file.

downloadDocumentsWithRecycleBinFormV30

/rooms/recycleBin/download/form/zip

3.0

Downloads files from the Recycle bin (Form) for a given workspace.

downloadDocumentsWithRecycleBinV30

/rooms/recycleBin/download/zip

3.0

Downloads files from the recycle bin for a given workspace.

downloadGenericDocumentsV30

/rooms/{roomId}/documents/zip

3.0

Creates and downloads a ZIP file containing all (original and protected) files in a specified workspace.

downloadSingleRecycleBinDocumentV30

/rooms/recycleBin/download

3.0

Downloads the original version of the file.

editFoldersAndDocumentsSettingsBulkV30

/rooms/folders/documents/settings/edit

3.0

Edit folder permission settings - whether the folder should inherit permissions from its parent, and whether to force descendants inherit.

editManagersToGroupV30

/rooms/group/managers/edit

3.0

Edit managers on groups ( set or unset manager properties for users).

editPermissionsV30

/rooms/{roomId}/documents/permissions/edit

3.0

Edit permissions for a list of files for a list of entities (users, groups, etc).

editRoomV30

/rooms/{roomId}/edit

3.0

Renames a workspace.

entityListV30

/rooms/{roomId}/entities

3.0

List the workspace entities (groups/domain/users) that are members of the workspace.

entityPagedListV30

/rooms/entities

3.0

List the room entities (groups/domain/everyone) that are members of the room.

exportGroupLogToJsonV30

/rooms/{roomId}/grouplog/create

3.0

Exports the workspace groups log to JSON.

exportGroupLogV30

/rooms/{roomId}/log/csv/create

3.0

Exports the workspace groups log.

foldersReadConfirmationEditV30

/rooms/folders/read/confirmation/edit

3.0

generateGuidV30

/rooms/{roomId}/documents/create

3.0

Creates a GUID for a new file.

getBulkEmailDataV30

/rooms/documents/emails/get

3.0

Gets data for bulk email notifications.

getDocumentGUIDV30

/rooms/{roomId}/documents/list/guid

3.0

Gets a document GUID.

getDocumentInfoV30

/rooms/{roomId}/documents/{guid}

3.0

Gets information about a specific file in a workspace.

getDocumentLinksV30

/rooms/document/links

3.0

Gets links for a file in a workspace.

getExternalTransactionStatusV30

/rooms/external/transaction/status

3.0

Gets external transaction status.

getFolderInfoV30

/rooms/folders/info/list

3.0

Get info for a folder if it has been updated later than a specified date.

getFolderLinksV30

/rooms/{roomId}/folder/links

3.0

Gets links for a folder in a workspace.

getFolderTreeV30

/rooms/{roomId}/folders

3.0

Gets the tree of all folders and subfolders in a specified workspace.

getGroupInfoV30

/rooms/group/info

3.0

Gets information about a group in a workspace.

getGroupsV30

/rooms/{roomId}/groups

3.0

Gets a list of all groups in a specified workspace.

getInfoForAdminV30

/rooms/admin/{roomId}/info

3.0

Gets workspace info.

getInfoV30

/rooms/{roomId}/info

3.0

Gets workspace info.

getInitialSyncStateForExternalRoomV30

/rooms/external/initialsync/status

3.0

Applies a decision on a request.

getInviteTextV30

/rooms/{roomId}/documents/{guid}/invite/list

3.0

Gets invite email message for file.

getInviteTextV30

/rooms/{roomId}/invite/list

3.0

Gets invite email message for workspace.

getPermissionsV30

/rooms/{roomId}/documents/{guid}/permissions

3.0

Returns all permitted entities permitted to the workspace.

getRoomLinksV30

/rooms/{roomId}/links

3.0

Returns the URL link to a workspace.

getRoomsTagValuesV30

/rooms/tags/values/get

3.0

Gets a list of tags for a list of the user's workspaces.

inviteV30

/rooms/{roomId}/invite

3.0

Invite groups to a workspace.

inviteV30

/rooms/{roomId}/documents/{guid}/invite

3.0

Invites groups to a specific file in a workspace.

listDocumentsForAdminV30

/rooms/admin/{roomId}/documents/list

3.0

Lists all files in a specified workspace for admin console requests.

listDocumentsV30

/rooms/{roomId}/documents/list

3.0

Requests a list of all files in a specified workspace.

listFolderDefaultPermissionsV30

/rooms/permissionDetails/list/folder

3.0

Available for workspace admins only.

listFolderPermissionRequestsV30

/rooms/folders/permissions/requests/list

3.0

Lists existing permissions requests for folder or the entire workspace where the root folder is supplied.

listFolderPermissionsBulkV30

/rooms/folders/permissionDetails/list/

3.0

Available for workspace admins only.

listFoldersAndDocumentsV30

/rooms/{roomId}/folders/documents/list

3.0

Lists all folders and files in the specified workspace.

listLastResolvedFolderPermissionRequestsV30

/rooms/folders/permissions/requests/listLastResolve

3.0

Lists last resolved permission requests on folder.

listPermissionDetailsV30

/rooms/permissionDetails/list

3.0

Lists permission details for files and folders bulkly for all entities in the room.

listRoomsByTypeV30

/rooms/list

3.0

listRoomsForAdminV30

/rooms/admin/list

3.0

Retrieves a list of all the workspaces for a user with VIEW_ALL_ROOMS capability.

listRoomsV30

/rooms

3.0

Retrieves a list of all the workspaces of the current user.

listWorkspaceGroupMembershipsForUserV30

/rooms/groups/memberships/list

3.0

Lists groups in the workspace for a user.

listWorkspacesRecycleBinDocumentsV30

/rooms/recycleBin/documents/list

3.0

Lists files in the workspace Recycle bin.

listWorkspacesRecycleBinWorkspacesV30

/rooms/recycleBin/rooms/list

3.0

Lists workspaces in the workspaces Recycle bin.

loadToCacheV30

/rooms/cache/load

3.0

Adds a workspace to cache (saved for offline).

lockDocumentsV30

/rooms/documents/lock

3.0

Locks files.

markRoomAsExplicitV30

/rooms/{roomId}/mark

3.0

Marks a workspace as explicit.

markV30

/rooms/documents/mark

3.0

Marks a specified list of files with a mark.

markV30

/rooms/{roomId}/documents/mark

3.0

Marks a specified list of files in a workspace.

modifyGroupV30

/rooms/group/modify

3.0

Use this function when you wish to change a group that already exists in the workspace.

moveAllV30

/rooms/{roomId}/moveAll

3.0

Moves all files from one folder in a workspace to another folder.

moveDocumentV30

/rooms/{roomId}/documents/{guid}/move

3.0

Moves a file in a workspace to a new folder.

moveFolderIntoFolderV30

/rooms/folders/move

3.0

Moves a folder in a workspace (and its contents) to a new location within the same workspace.

moveFolderV30

/rooms/{roomId}/folders/move

3.0

Moves a folder in a workspace (and its contents) to a new location within the same workspace.

moveV30

/rooms/{roomId}/move

3.0

Moves files in a workspace folder to a different folder within the same workspace.

openForAllRoomV30

/rooms/{roomId}/documents/openForAllRoom/edit

3.0

Sets a workspace to be open to all entities (users, groups, domains etc).

removeAllTagsV30

/rooms/{roomId}/documents/{documentGuid}/untagField

3.0

Removes all tags for a specified file.

removeMembersFromGroupV30

/rooms/group/members/remove

3.0

Removes members (users) from a group.

removeTagsV30

/rooms/{roomId}/documents/untag

3.0

Removes specified tags from a list of files.

renameDocumentV30

/rooms/{roomId}/documents/{guid}/rename

3.0

Renames a file in a workspace.

renameFolderV30

/rooms/{roomId}/folders/rename

3.0

Renames a folder within a workspace.

resolveActionForFolderPermissionRequestV30

/rooms/folders/permissions/requests/resolve

3.0

Applies a decision on a request.

restoreWorkspaceRecycleBinAllDocumentsV30

/rooms/{roomUuid}/recycleBin/restoreall

3.0

Restores all documentss from Recycle bin for the specified workspace uuid.

restoreWorkspacesRecycleBinDocumentsV30

/rooms/recycleBin/documents/restore

3.0

Restores files from Recycle bin.

restoreWorkspacesRecycleBinWorkspacesV30

/rooms/recycleBin/rooms/restore

3.0

Restores workspaces from Recycle bin.

revokePermissionsV30

/rooms/{roomId}/documents/permissions/revoke

3.0

Revokes all permissions for a list of entities (users, groups etc) for a list of files in a workspace.

searchDocumentsForAdminV30

/rooms/admin/documents/search

3.0

For use in Admin console: Search for files in workspaces according to a search string.

searchDocumentsV30

/rooms/documents/search

3.0

For use in MyDox: Search for files in workspaces according to a search string.

sendBulkEmailV30

/rooms/documents/emails/send

3.0

Sends bulk email notifications for a list of files to all permitted entities (users, groups etc) for each file.

sendEmailV30

/rooms/{roomId}/documents/{guid}/email/send

3.0

Sends email to group of recipients with a message regarding a specific file in a workspace.

setSharepointProtectorV30

/rooms/protectAnywhere/set

3.0

Sets protect anywhere policy for a workspace.

setUpdateDataV30

/rooms/setUpdateData

3.0

Sets files update data.

submitDocumentIfNewV30

/rooms/{roomId}/documents/submitIfNew

3.0

Submits a file to a room if the file is new (ie not a new version of an existing file).

submitDocumentsV30

/rooms/{roomId}/documents/submit

3.0

Submits files to a workspace.

unlockDocumentsV30

/rooms/documents/unlock

3.0

Unlock files.

uploadBlobV30

/rooms/{roomId}/documents/upload

3.0

Uploads a file to a workspace and generates a new GUID for it.

uploadDocumentBase64V30

/rooms/{roomId}/documents/{documentGuid}/uploadBase64

3.0

Uploads a file to a workspace in base64.

uploadDocumentByPostV30

/rooms/{roomId}/documents/{documentGuid}/upload

3.0

Uploads a file to a workspace.

validateCreateFolderV30

/rooms/folders/validate

3.0

Validates the parameters are ok for adding folder.

validateDocumentsToDownloadFromRecycleBinV30

/rooms/recycleBin/download/validateDownload

3.0

Validates files to download from a Recycle bin.

validateDocumentsToDownloadV30

/rooms/documents/versions/validateDownload

3.0

Validates the file versions for download from a list of files.

validateDocumentsToDownloadV30

/rooms/{roomId}/documents/validateDownload

3.0

Validates a list of files for download from a specific workspace.

Function Details

addEntityToDocumentV30

Adds permitted entity to workspace with no permissions outside of the given folder.

Version: 3.0
Synopsis: POST
Path: /rooms/documents/entity/add
Request Body: AddDocumentEntity
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/documents/entity/add

Authorization: Bearer <ssid>
Content-type: application/json

{
permittedEntity:
{
address: String,
entityType: EntityType
},
identifier: String,
role: String,
description: String,
groupMembers:
{
membersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
managersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
emailSubject: String,
emailMessage: String,
isSendMail: Boolean
}),
permissionsTemplate:
{
templateName: String,
waterMark: Boolean,
watermark: Boolean,
comment: Boolean,
expirationDate: Date
},
roomId: Integer,
roomGuid: String,
documentGuids: Set(String),
expirationDate: Date,
isWatermark: Boolean,
isSendMail: Boolean,
emailSubject: String,
emailMessage: String,
roomEntities: Set(
{
address: String,
entityType: EntityType
}),
roomGroups: List(
{
groupName: String,
description: String,
membersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
managersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
})
})
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

addEntityToFolderV30

Adds permitted entity to workspace with no permissions outside of the given folder.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/entity/add
Request Body: AddFolderEntity
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/folders/entity/add

Authorization: Bearer <ssid>
Content-type: application/json

{
permittedEntity:
{
address: String,
entityType: EntityType
},
identifier: String,
isDefaultEntity: Boolean,
role: String,
description: String,
groupMembers:
{
membersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
managersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
emailSubject: String,
emailMessage: String,
isSendMail: Boolean
}),
newPermissions:
{
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
comment: Boolean
},
folderPathOrId:
{
path: String,
folderId: Integer,
folderGuid: String
},
roomId: Integer,
roomGuid: String,
roomEntities: Set(
{
address: String,
entityType: EntityType
}),
roomGroups: List(
{
groupName: String,
description: String,
membersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
managersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
})
}),
emailSubject: String,
emailMessage: String,
isSendMail: Boolean,
includeAllSubItems: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

addEntityV30

This call adds a new entity to a workspace. Only groups domains users and "everyone" may be direct members of a VDR. other entities (like distributionlists) need to be members of a room group in order to gain permission to the room.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/entities/add
Request Body: AddEntityVdr
Response Headers: N/A
Response Body: N/A

Path parameters:

roomId: String - The room to add the new entity to.

Request format:

POST /rooms/{roomId}/entities/add

Authorization: Bearer <ssid>
Content-type: application/json

{
permittedEntity:
{
address: String,
entityType: EntityType
},
identifier: String,
addEntityToAllDocs: Boolean,
isDefaultEntity: Boolean,
role: String,
description: String,
groupMembers:
{
membersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
managersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
emailSubject: String,
emailMessage: String,
isSendMail: Boolean
}),
newPermissions:
{
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
comment: Boolean
}
}

Response format:

HTTP/1.1 200 OK

String

addFolderPermissionRequestV30

Adds a new permission request for folder.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/permissions/requests/add
Request Body: AddFolderPermissionRequest
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/folders/permissions/requests/add

Authorization: Bearer <ssid>
Content-type: application/json

{
folderPathOrId:
{
path: String,
folderId: Integer,
folderGuid: String
},
message: String,
requestType: PermissionRequestTypeExternalInterface,
roomId: Integer,
roomGuid: String,
subject: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

addMembersToGroupV30

Adds members (users) to a group.

Version: 3.0
Synopsis: POST
Path: /rooms/group/members/add
Request Body: AddMembersToGroupWithGroup
Response Headers: N/A
Response Body: N/A

Request format:

POST /rooms/group/members/add

Authorization: Bearer <ssid>
Content-type: application/json

{
groupName: String,
roomId: Integer,
roomGuid: String,
membersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
managersList: List(
{
entity:
{
address: String,
entityType: EntityType
}
}),
emailSubject: String,
emailMessage: String,
isSendMail: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

String

addMembersV30

Adds members to a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/members/add
Request Body: AddRoomMembers
Response Headers: N/A
Response Body: N/A

Path parameters:

roomId: String - the workspace to add members to.

Request format:

POST /rooms/{roomId}/members/add

Authorization: Bearer <ssid>
Content-type: application/json

{
newMembers: List(
{
permittedEntity:
{
address: String,
entityType: EntityType
},
group:
{
address: String,
entityType: EntityType
}
}),
isUsersDefaultEntity: Boolean,
usersPermissions:
{
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
comment: Boolean
},
usersRole: String
}

Response format:

HTTP/1.1 200 OK

String

addPermissionsV30

Adds permissions for entities (users/groups/domains) to a set of files in a workspace. Permissions can be eg copy, print, edit, download etc.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/permissions/add
Request Body: VdrAddPermissions
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - the room id of the workspace containing the files.

Request format:

POST /rooms/{roomId}/documents/permissions/add

Authorization: Bearer <ssid>
Content-type: application/json

{
permittedEntities: List(
{
address: String,
entityType: EntityType
}),
permissionSet:
{
downloadOriginal: YesNoDefault,
downloadControlled: YesNoDefault,
copy: YesNoDefault,
print: YesNoDefault,
edit: YesNoDefault,
spotlight: YesNoDefault,
watermark: YesNoDefault,
expiration: ExpirationOptions,
expirationDate: Date,
programmaticAccess: YesNoDefault,
comment: YesNoDefault
},
permissionTemplate:
{
templateName: String,
waterMark: Boolean,
watermark: Boolean,
comment: Boolean,
expirationDate: Date
},
documentGuids: Set(String),
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
isSendMail: Boolean,
emailSubject: String,
emailMessage: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

addTagsV30

Adds tags to a list of files. Tags can be numerical, free text or datestamps.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/tag
Request Body: AddDocumentsTagValues
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - the workspace containing the files.

Request format:

POST /rooms/{roomId}/documents/tag

Authorization: Bearer <ssid>
Content-type: application/json

{
documentGuids: Set(String),
tagValueList:
{
freeTextValues: List(
{
tagName: String,
tagValue: String
}),
dateValues: List(
{
tagName: String,
tagValue: Date
}),
numericValues: List(
{
tagName: String,
tagValue: Number
})
})
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

changeDefaultPermissionsBulkV30

Changes default permissions of a permitted entity in a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/entities/permissions/change/bulk
Request Body: ChangeEntitiesVdr
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/entities/permissions/change/bulk

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
permittedEntitiesWithPermissions: Set(
{
permittedEntity:
{
address: String,
entityType: EntityType
},
permissions:
{
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
comment: Boolean
},
isDefault: Boolean,
revokePermissions: Boolean,
role: String
}),
folderPathOrId:
{
path: String,
folderId: Integer,
folderGuid: String
},
folderPathsOrIds: Set(
{
path: String,
folderId: Integer,
folderGuid: String
}),
forceAction: Boolean,
forceInheritanceOnDescendants: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

changeDefaultPermissionsV30

Changes default permissions of a permitted entity in a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/entities/permissions/change
Request Body: ChangeEntityVdr
Response Headers: N/A
Response Body: N/A

Path parameters:

roomId: String - the room id of the workspace to change permissions for.

Request format:

POST /rooms/{roomId}/entities/permissions/change

Authorization: Bearer <ssid>
Content-type: application/json

{
permittedEntity:
{
address: String,
entityType: EntityType
},
identifier: String,
newGroupName: String,
addEntityToAllDocs: Boolean,
isDefaultEntity: Boolean,
applyToExistingDocs: Boolean,
role: String,
description: String,
newPermissions:
{
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
comment: Boolean
},
folderPathOrId:
{
path: String,
folderId: Integer,
folderGuid: String
}
}

Response format:

HTTP/1.1 200 OK

String

copyDocumentsFromRoomsToExchangeAsyncV30

Submits files in Sent items (asynchronous).

Version: 3.0
Synopsis: POST
Path: /rooms/copy/exchange/async
Request Body: N/A
Response Headers: N/A
Response Body: ExternalDocumentsTransactionResult

Request format:

POST /rooms/copy/exchange/async

Authorization: Bearer <ssid>
Content-type: application/json

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
transactionUUID: String,
guids: Set(String),
roomUUID: String
}

copyDocumentsFromRoomsToExchangeV30

Submits files in Sent items. This submits room files to recipients within SDS the files will be copied from the room to SDS

Version: 3.0
Synopsis: POST
Path: /rooms/copy/exchange
Request Body: CopyDocumentFromRoom
Response Headers: N/A
Response Body: Document

Request format:

POST /rooms/copy/exchange

Authorization: Bearer <ssid>
Content-type: application/json

{
userRecipients: Set(String),
listRecipients: Set(String),
activeDirectoryGroupsRecipients: Set(String),
permission:
{
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
comment: Boolean
},
whoCanView: WhoCanView,
isSendEmail: Boolean,
mailSubject: String,
mailMessage: String,
documentGuid: String,
deviceType: DeviceType,
isCopyAnnotations: Boolean,
isOpenToAnyone: Boolean,
isCollaboration: Boolean,
readConfirmation: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: Integer,
guid: String,
name: String,
convertedName: String,
sender: String,
filename: String,
url: String,
viewerUrl: String,
contentType: String,
room: String,
folder: String,
folderId: Integer,
folderUuid: String,
lastUpdated: Date,
creationDate: Date,
expires: Date,
accessLevel: DocumentAccessLevel,
secureTransferFile: Boolean,
recentlyViewed: Date,
pendingRequests: Integer,
previewUrl: String,
originalSize: Long,
status:
{
documentState: DocumentStatusForApi,
statusCode: Integer,
errorText: String
},
dlpStatus: String,
percentCompleted: Integer,
classification: String,
read: Boolean,
starred: Boolean,
permissionsJson:
{
accessLevel: Consts$AccessLevel,
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
comment: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
pinRequired: Boolean,
minExpirationDate: Date,
latestChangeDate: Date,
originalComments: Boolean
},
tagList:
{
freeTextValues: List(
{
tagName: String,
tagValue: String
}),
dateValues: List(
{
tagName: String,
tagValue: Date
}),
numericValues: List(
{
tagName: String,
tagValue: Number
})
}),
downloadSize: long,
downloadPdfSize: long,
type: String,
documentName: String,
lastUpdateDate: Date,
score: Float,
pdfConversionStatus: PdfConversionStatus,
annotationsList:
{
annotationRecordJsons: Collection(
{
annotatingUserAddress: String,
annotationUpdateDate: Date
})
}),
externalRepositoryData:
{
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
documentExternalData:
{
id: String,
items: Set(
{
key: String,
value: String
})
})
}),
documentCurrentVersion:
{
currentVersionUuid: String,
currentDocVersionUpdateDate: Date
},
modifiedDate: Date,
openToAnyone: Boolean,
licenseHoursValid: Integer,
supportedFileType: Boolean,
numOfVersions: Integer,
rmsEnabled: Boolean,
fileHash: String,
cacheStatus: CacheDocumentStatus,
inheritsPerms: Boolean,
lockingUserAddress: String,
readyForDownloadOriginal: ReadyForDownloadOriginal,
workspaceType: String,
collaboration: Boolean,
editorUrl: String,
onlineEditorUrl: String,
lastVersionUploaderUserAddress: String,
starredDate: Date,
documentCommentCountJson:
{
commentCount: Integer,
commentMentionCount: Integer
},
workspaceUuid: String,
readConfirmation: Boolean,
foundInMetadata: Boolean,
foundInContent: Boolean,
originalReadAckState: Boolean,
readAcknowledged: Boolean
}

copyMembershipV30

Copies membership (of several users) to another existing user.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/copyMembership
Request Body: CopyMembership
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - room containing the members (existing and new).

Request format:

POST /rooms/{roomId}/copyMembership

Authorization: Bearer <ssid>
Content-type: application/json

{
usersFrom: List(String),
userTo: String,
forceAction: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

createExternalFoldersTreeV30

Creates a folder in a workspace for each external folder in the tree.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/external/create
Request Body: CreateWorkspaceExternalFolders
Response Headers: N/A
Response Body: ItemListJson

Request format:

POST /rooms/folders/external/create

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
externalRepository: ExternalRepositoryType,
deviceType: DeviceType,
foldersPath: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(Folder )
}

createFoldersBulkV30

Creates a folder in a workspace with a specified path. the workspace in which the folder is to be created.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/create/bulk
Request Body: CreateFolderAsync
Response Headers: N/A
Response Body: TransactionStatus

Request format:

POST /rooms/folders/create/bulk

Authorization: Bearer <ssid>
Content-type: application/json

{
workspaceUuid: String,
externalRepositoryIdentifier:
{
externalRepository: ExternalRepositoryType,
externalId: String,
externalRepositoryUuid: String
},
paths: List(String),
deviceType: DeviceType,
forceAction: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
transactionUUID: String,
resultJson: String,
status: TransactionStatusEnum,
resJson:
{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
})
}

createFoldersInFolderIfNewV30

Creates a folder in a workspace with a specified parent ID and name.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/create/check
Request Body: CreateFolder
Response Headers: N/A
Response Body: FolderSuggestedName

Request format:

POST /rooms/folders/create/check

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
parentId: Integer,
parentGuid: String,
name: String,
deviceType: DeviceType,
externalRepositoryIdentifier:
{
externalRepository: ExternalRepositoryType,
externalId: String,
externalRepositoryUuid: String
}
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
suggestedName: String
}

createFoldersInFolderV30

Creates a folder in a workspace with a specified parent ID and name.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/create
Request Body: CreateFolder
Response Headers: N/A
Response Body: Folder

Request format:

POST /rooms/folders/create

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
parentId: Integer,
parentGuid: String,
name: String,
deviceType: DeviceType,
externalRepositoryIdentifier:
{
externalRepository: ExternalRepositoryType,
externalId: String,
externalRepositoryUuid: String
}
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: Integer,
isPermsInherited: Boolean,
uuid: String,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
room: String,
roomUUID: String,
folder: String,
parentId: Integer,
parentGuid: String,
subFolders: List(Folder ),
fullPath: String,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderCapabilities: Set(WorkspaceCapabilityType ),
folderRole: String,
readConfirmationRequired: Boolean,
readConfirmationIncludeSubfolder: Boolean,
originalReadAckState: Boolean,
starred: Boolean,
starredDate: Date
}

createFoldersTreeAsyncV30

Creates a folder in a workspace for each folder in the tree asynchronous.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/tree/create/async
Request Body: CreateWorkspaceFolderTree
Response Headers: N/A
Response Body: ExternalFoldersTransactionResult

Request format:

POST /rooms/folders/tree/create/async

Authorization: Bearer <ssid>
Content-type: application/json

{
folderTreeRecords: Set(
{
externalId: String,
parentExternalId: String,
name: String,
externalData: Set(
{
key: String,
value: String
})
}),
externalRepository: ExternalRepositoryType,
roomId: Integer,
roomGuid: String,
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
transactionUUID: String
}

createFoldersTreeV30

Creates a folder in a workspace for each folder in the tree.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/tree/create
Request Body: CreateWorkspaceFolderTree
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/folders/tree/create

Authorization: Bearer <ssid>
Content-type: application/json

{
folderTreeRecords: Set(
{
externalId: String,
parentExternalId: String,
name: String,
externalData: Set(
{
key: String,
value: String
})
}),
externalRepository: ExternalRepositoryType,
roomId: Integer,
roomGuid: String,
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

createNewDocumentV30

Create new empty document

Version: 3.0
Synopsis: POST
Path: /rooms/document/new/create
Request Body: CreateNewDocument
Response Headers: N/A
Response Body: SubmitIfNew

Request format:

POST /rooms/document/new/create

Authorization: Bearer <ssid>
Content-type: application/json

{
roomGuid: String,
fileName: String,
folder: String,
folderId: Integer,
folderGuid: String,
recipients:
{
activeDirectoryGroupsGuids: Set(String),
groups: List(String),
domains: List(String),
users: Set(String),
everyone: Boolean
}),
isSendMail: Boolean,
mailSubject: String,
mailMessage: String,
deviceType: DeviceType,
suggestNewNameWhenAlreadyExists: Boolean,
modifiedDate: Date
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
existingDocument:
{
documentGuid: String,
versionGuid: String,
permitted: Boolean,
suggestedName: String,
lockedForUser: Boolean
},
document:
{
id: Integer,
guid: String,
name: String,
convertedName: String,
sender: String,
filename: String,
url: String,
viewerUrl: String,
contentType: String,
room: String,
folder: String,
folderId: Integer,
folderUuid: String,
lastUpdated: Date,
creationDate: Date,
expires: Date,
accessLevel: DocumentAccessLevel,
secureTransferFile: Boolean,
recentlyViewed: Date,
pendingRequests: Integer,
previewUrl: String,
originalSize: Long,
status:
{
documentState: DocumentStatusForApi,
statusCode: Integer,
errorText: String
},
dlpStatus: String,
percentCompleted: Integer,
classification: String,
read: Boolean,
starred: Boolean,
permissionsJson:
{
accessLevel: Consts$AccessLevel,
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
comment: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
pinRequired: Boolean,
minExpirationDate: Date,
latestChangeDate: Date,
originalComments: Boolean
},
tagList:
{
freeTextValues: List(
{
tagName: String,
tagValue: String
}),
dateValues: List(
{
tagName: String,
tagValue: Date
}),
numericValues: List(
{
tagName: String,
tagValue: Number
})
}),
downloadSize: long,
downloadPdfSize: long,
type: String,
documentName: String,
lastUpdateDate: Date,
score: Float,
pdfConversionStatus: PdfConversionStatus,
annotationsList:
{
annotationRecordJsons: Collection(
{
annotatingUserAddress: String,
annotationUpdateDate: Date
})
}),
externalRepositoryData:
{
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
documentExternalData:
{
id: String,
items: Set(
{
key: String,
value: String
})
})
}),
documentCurrentVersion:
{
currentVersionUuid: String,
currentDocVersionUpdateDate: Date
},
modifiedDate: Date,
openToAnyone: Boolean,
licenseHoursValid: Integer,
supportedFileType: Boolean,
numOfVersions: Integer,
rmsEnabled: Boolean,
fileHash: String,
cacheStatus: CacheDocumentStatus,
inheritsPerms: Boolean,
lockingUserAddress: String,
readyForDownloadOriginal: ReadyForDownloadOriginal,
workspaceType: String,
collaboration: Boolean,
editorUrl: String,
onlineEditorUrl: String,
lastVersionUploaderUserAddress: String,
starredDate: Date,
documentCommentCountJson:
{
commentCount: Integer,
commentMentionCount: Integer
},
workspaceUuid: String,
readConfirmation: Boolean,
foundInMetadata: Boolean,
foundInContent: Boolean,
originalReadAckState: Boolean,
readAcknowledged: Boolean
})
}

createRoomV30

Creates a workspace. Assign a name, description and list of administrators for the room.

Version: 3.0
Synopsis: POST
Path: /rooms/create
Request Body: CreateRoom
Response Headers: N/A
Response Body: Room

Request format:

POST /rooms/create

Authorization: Bearer <ssid>
Content-type: application/json

{
name: String,
description: String,
product: String,
administrators: List(String),
sharepointLibraryId: String,
sharepointPath: String,
externalRepositoryIdentifier:
{
externalRepository: ExternalRepositoryType,
externalId: String,
externalRepositoryUuid: String
},
renameIfExists: Boolean,
personalWorkspace: Boolean,
workspaceType: String,
forcePin: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: String,
name: String,
description: String,
product: String,
accessLevel: RoomAccessLevel,
hyperlink: String,
explicit: Boolean,
explicitRoom: Boolean,
creationDate: Date,
defaultWorkspaceOrder: ApiDocumentOrderVDR,
roomCapabilities: Set(WorkspaceCapabilityType ),
shared: Boolean,
organizationPolicyJson:
{
isAllowedToShareAnnotationsWithWorkspaceAdmins: Boolean,
isAllowedToShareAnnotationsWithAllWorkspaceGroups: Boolean,
isAllowedToShareAnnotationsWithSelectedGroups: Boolean,
isAllowedToShareAnnotationsWithUsersManually: Boolean,
allowDownloadOriginal: Boolean,
allowDownloadProtected: Boolean,
isAllowedToShareDocumentsWithWorkspaceAdmins: Boolean,
isAllowedToShareDocumentsWithAllWorkspaceGroups: Boolean,
isAllowedToShareDocumentsWithSelectedGroups: Boolean,
isAllowedToShareDocumentsWithUsersManually: Boolean,
allowMobileIos: Boolean,
allowMobileAndroid: Boolean,
allowMobileBlackberry: Boolean,
allowMobileWindowsMobile: Boolean,
deleteFromDisk: Boolean,
licenseHoursValid: Integer,
defaultChangeGroupsToAllDocs: Boolean,
defaultAddGroupsAsDefaultEntity: Boolean,
allowOpenOriginalsInOtherApps: Boolean,
allowOpenUnsupportedInOtherApps: Boolean,
enableRmsSealing: Boolean,
uploadBandwidthLimit: Integer,
downloadBandwidthLimit: Integer,
enableBandwidthLimit: Boolean,
globalDownloadControlled: Boolean,
enableCloudStorageWorkspaces: Boolean,
allowTrackingFromMicrosoftOfficeDocuments: Boolean,
blockNonProvisionedUsers: Boolean,
enableSalesForce: Boolean,
enableWivi: Boolean,
enableOnlineViewerForUnsupportedBrowsers: Boolean,
enableWopi: Boolean,
allowLockingDocuments: Boolean,
useAutoComplete: Boolean,
autoCompleteAllowToAll: Boolean,
autoCompleteDisplayAll: Boolean,
wopiDiscoveryUrl: String,
enableSharingWithoutEmailNotification: Boolean,
shareFilesWithNotificationByDefault: Boolean,
isDisableOnBehalfOfForAllOutgoingEmails: Boolean,
enableComments: Boolean,
commentsDefaultValue: Boolean,
sendWeeklyLicensingReport: Boolean,
sendWeeklyInternalDomainLicensingReport: Boolean,
enablePushNotifications: Boolean,
sendMissingSetupNotificationEmails: Boolean,
sendDailyActivityEmail: Boolean,
enableFetchMembers: Boolean,
forcePinWorkspaces: Boolean,
displayCommentContent: Boolean,
allowAdvancedPrinting: Boolean,
customizedNotificationsEmails: Boolean,
disallowChangeToPermissionTemplates: Boolean
},
deleteDate: Date,
creator:
{
name: String,
address: String
},
sharepoint:
{
roomId: Integer,
externalId: String,
path: String,
sharepointSelectedPath: String
},
syncPolicy:
{
blacklistExpressions: Set(String),
whitelistExpressions: Set(String),
maxSize: Long
}),
logAccessActionsToFiles: Boolean,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
personalWorkspaceFlag: Boolean,
personalRestrictedWorkspaceFlag: Boolean,
uuid: String,
workspacePolicyJson:
{
allowPrintingToPdf: Boolean,
disableCurtain: Boolean,
disablePasscodeLock: Boolean,
allowNonControllableFileTypes: Boolean,
protectImagesInWorkspaces: Boolean,
useAutoComplete: Boolean,
supportedTypes: Set(String),
allowEditDescription: Boolean,
logAccessActionsToFiles: Boolean,
enableReadConfirmation: Boolean,
readConfirmByDefault: Boolean,
fileUploadNotifyWorkspaceMembersDefault: Boolean
}),
forcePin: Boolean,
rootFolderUuid: String
}

deleteDocumentsBulkV30

Deletes files and/or folders. The files and folders can be in different rooms (workspaces) ??

Version: 3.0
Synopsis: POST
Path: /rooms/documents/delete
Request Body: BulkDeleteWorkspaceDocuments
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/documents/delete

Authorization: Bearer <ssid>
Content-type: application/json

{
message: String,
isPermanent: Boolean,
documentGuids: Set(String),
forceAction: Boolean,
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

deleteDocumentsV30

Deletes files and/or folders from a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/delete
Request Body: DeleteDocumentsSelectionVdr
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - workspace containing the folder to be moved.

Request format:

POST /rooms/{roomId}/documents/delete

Authorization: Bearer <ssid>
Content-type: application/json

{
message: String,
isPermanent: Boolean,
deviceType: DeviceType,
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
documentGuids: Set(String),
forceAction: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

deleteEntitiesV30

Deletes entities from a workspace. All permissions for the entity in the room will be revoked as well.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/entities/delete
Request Body: DeleteRoomEntities
Response Headers: N/A
Response Body: N/A

Path parameters:

roomId: String - the room to remove the entities from.

Request format:

POST /rooms/{roomId}/entities/delete

Authorization: Bearer <ssid>
Content-type: application/json

{
entities: List(
{
address: String,
entityType: EntityType
}),
deleteUsersFromEntireWorkspace: Boolean
}

Response format:

HTTP/1.1 200 OK

String

deleteFolderV30

Deletes a folder and all of its subfolders and files from a workspace. The user must have sufficient rights to delete the folders.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/folders/delete
Request Body: DeleteFolder
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - the room containing the folder to be deleted.

Request format:

POST /rooms/{roomId}/folders/delete

Authorization: Bearer <ssid>
Content-type: application/json

{
path: String,
folderId: Integer,
folderGuid: String,
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

deleteRoomV30

Deletes a workspace and all its contents. The deletion can be recoverable (from the recycle bin) or permanent.

Version: 3.0
Synopsis: POST
Path: /rooms/delete
Request Body: DeleteRoom
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/delete

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
isPermanent: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

documentUploadCompleteV30

Completes the already uploaded by chunks file.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/{documentGuid}/upload/completed
Request Body: N/A
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

documentGuid: String - the guid for the file.
roomId: String - the room into which the file will be uploaded.

Request format:

POST /rooms/{roomId}/documents/{documentGuid}/upload/completed

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

downloadDocumentsWithRecycleBinFormV30

Downloads files from the Recycle bin (Form) for a given workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/recycleBin/download/form/zip
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Data form parameters:

documentsGuids: Set - List of document Guids.
forceAction: Boolean - Flag whether to continue after failure.
roomGuid: String - Guid of the room to obtain the information about.
roomId: Integer - Id of the room to obtain the information about.
wdUniqueDownloadKey: String - Unique download key.

Request format:

POST /rooms/recycleBin/download/form/zip

Authorization: Bearer <ssid>
Content-type: application/x-www-form-urlencoded

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadDocumentsWithRecycleBinV30

Downloads files from the recycle bin for a given workspace. allowed for workspace admins only

Version: 3.0
Synopsis: POST
Path: /rooms/recycleBin/download/zip
Request Body: DownloadWorkspaceDocumentsWithRecycleBin
Response Headers: N/A
Response Body: N/A

Request format:

POST /rooms/recycleBin/download/zip

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
documentsGuids: Set(String),
forceAction: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadGenericDocumentsV30

Creates and downloads a ZIP file containing all (original and protected) files in a specified workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/zip
Request Body: DownloadDocumentsSelectionVdr
Response Headers: N/A
Response Body: N/A

Path parameters:

roomId: String - room id of the workspace containing the files.

Request format:

POST /rooms/{roomId}/documents/zip

Authorization: Bearer <ssid>
Content-type: application/json

{
downloadType: DownloadTypes,
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
documentGuids: Set(String),
forceAction: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadSingleRecycleBinDocumentV30

Downloads the original version of the file. Allowed only for workspace admins

Version: 3.0
Synopsis: POST
Path: /rooms/recycleBin/download
Request Body: DownloadSingleRecycleBinWorkspaceDocument
Response Headers: N/A
Response Body: N/A

Request format:

POST /rooms/recycleBin/download

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
documentGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

editFoldersAndDocumentsSettingsBulkV30

Edit folder permission settings - whether the folder should inherit permissions from its parent, and whether to force descendants inherit.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/documents/settings/edit
Request Body: EditFoldersAndDocumentsSettingsBulk
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/folders/documents/settings/edit

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
documentGuids: Set(String),
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
makeDescendantsInherit: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

editManagersToGroupV30

Edit managers on groups ( set or unset manager properties for users).

Version: 3.0
Synopsis: POST
Path: /rooms/group/managers/edit
Request Body: EditManagersOnGroup
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/group/managers/edit

Authorization: Bearer <ssid>
Content-type: application/json

{
groupName: String,
roomId: Integer,
roomGuid: String,
users: List(String),
manager: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

editPermissionsV30

Edit permissions for a list of files for a list of entities (users, groups, etc).

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/permissions/edit
Request Body: VdrEditPermissions
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - the room id of the workspace containing the files.

Request format:

POST /rooms/{roomId}/documents/permissions/edit

Authorization: Bearer <ssid>
Content-type: application/json

{
permittedEntities: List(
{
address: String,
entityType: EntityType
}),
permissionSet:
{
downloadOriginal: YesNoDefault,
downloadControlled: YesNoDefault,
copy: YesNoDefault,
print: YesNoDefault,
edit: YesNoDefault,
spotlight: YesNoDefault,
watermark: YesNoDefault,
expiration: ExpirationOptions,
expirationDate: Date,
programmaticAccess: YesNoDefault,
comment: YesNoDefault
},
editAllEntities: Boolean,
documentGuids: Set(String),
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
permissionTemplate:
{
templateName: String,
waterMark: Boolean,
watermark: Boolean,
comment: Boolean,
expirationDate: Date
}
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

editRoomV30

Renames a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/edit
Request Body: EditRoom
Response Headers: N/A
Response Body: Room

Path parameters:

roomId: String - room id of room to be renamed.

Request format:

POST /rooms/{roomId}/edit

Authorization: Bearer <ssid>
Content-type: application/json

{
name: String,
description: String,
renameIfExists: Boolean,
isPersonal: Boolean,
shouldUpdatePersonal: Boolean,
logAccessActionsToFiles: YesNoDefault
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: String,
name: String,
description: String,
product: String,
accessLevel: RoomAccessLevel,
hyperlink: String,
explicit: Boolean,
explicitRoom: Boolean,
creationDate: Date,
defaultWorkspaceOrder: ApiDocumentOrderVDR,
roomCapabilities: Set(WorkspaceCapabilityType ),
shared: Boolean,
organizationPolicyJson:
{
isAllowedToShareAnnotationsWithWorkspaceAdmins: Boolean,
isAllowedToShareAnnotationsWithAllWorkspaceGroups: Boolean,
isAllowedToShareAnnotationsWithSelectedGroups: Boolean,
isAllowedToShareAnnotationsWithUsersManually: Boolean,
allowDownloadOriginal: Boolean,
allowDownloadProtected: Boolean,
isAllowedToShareDocumentsWithWorkspaceAdmins: Boolean,
isAllowedToShareDocumentsWithAllWorkspaceGroups: Boolean,
isAllowedToShareDocumentsWithSelectedGroups: Boolean,
isAllowedToShareDocumentsWithUsersManually: Boolean,
allowMobileIos: Boolean,
allowMobileAndroid: Boolean,
allowMobileBlackberry: Boolean,
allowMobileWindowsMobile: Boolean,
deleteFromDisk: Boolean,
licenseHoursValid: Integer,
defaultChangeGroupsToAllDocs: Boolean,
defaultAddGroupsAsDefaultEntity: Boolean,
allowOpenOriginalsInOtherApps: Boolean,
allowOpenUnsupportedInOtherApps: Boolean,
enableRmsSealing: Boolean,
uploadBandwidthLimit: Integer,
downloadBandwidthLimit: Integer,
enableBandwidthLimit: Boolean,
globalDownloadControlled: Boolean,
enableCloudStorageWorkspaces: Boolean,
allowTrackingFromMicrosoftOfficeDocuments: Boolean,
blockNonProvisionedUsers: Boolean,
enableSalesForce: Boolean,
enableWivi: Boolean,
enableOnlineViewerForUnsupportedBrowsers: Boolean,
enableWopi: Boolean,
allowLockingDocuments: Boolean,
useAutoComplete: Boolean,
autoCompleteAllowToAll: Boolean,
autoCompleteDisplayAll: Boolean,
wopiDiscoveryUrl: String,
enableSharingWithoutEmailNotification: Boolean,
shareFilesWithNotificationByDefault: Boolean,
isDisableOnBehalfOfForAllOutgoingEmails: Boolean,
enableComments: Boolean,
commentsDefaultValue: Boolean,
sendWeeklyLicensingReport: Boolean,
sendWeeklyInternalDomainLicensingReport: Boolean,
enablePushNotifications: Boolean,
sendMissingSetupNotificationEmails: Boolean,
sendDailyActivityEmail: Boolean,
enableFetchMembers: Boolean,
forcePinWorkspaces: Boolean,
displayCommentContent: Boolean,
allowAdvancedPrinting: Boolean,
customizedNotificationsEmails: Boolean,
disallowChangeToPermissionTemplates: Boolean
},
deleteDate: Date,
creator:
{
name: String,
address: String
},
sharepoint:
{
roomId: Integer,
externalId: String,
path: String,
sharepointSelectedPath: String
},
syncPolicy:
{
blacklistExpressions: Set(String),
whitelistExpressions: Set(String),
maxSize: Long
}),
logAccessActionsToFiles: Boolean,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
personalWorkspaceFlag: Boolean,
personalRestrictedWorkspaceFlag: Boolean,
uuid: String,
workspacePolicyJson:
{
allowPrintingToPdf: Boolean,
disableCurtain: Boolean,
disablePasscodeLock: Boolean,
allowNonControllableFileTypes: Boolean,
protectImagesInWorkspaces: Boolean,
useAutoComplete: Boolean,
supportedTypes: Set(String),
allowEditDescription: Boolean,
logAccessActionsToFiles: Boolean,
enableReadConfirmation: Boolean,
readConfirmByDefault: Boolean,
fileUploadNotifyWorkspaceMembersDefault: Boolean
}),
forcePin: Boolean,
rootFolderUuid: String
}

entityListV30

List the workspace entities (groups/domain/users) that are members of the workspace. This may only be done by users that have CRUD entities privileges.

Version: 3.0
Synopsis: GET
Path: /rooms/{roomId}/entities
Request Body: N/A
Response Headers: N/A
Response Body: ItemListJson of type RoomEntity

Path parameters:

roomId: String - the requested room.

Request format:

GET /rooms/{roomId}/entities

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(RoomEntity )
}

entityPagedListV30

List the room entities (groups/domain/everyone) that are members of the room. This may only be done by users that have CRUD entities privileges. This request returns a paged list

Version: 3.0
Synopsis: POST
Path: /rooms/entities
Request Body: ListRoomEntities
Response Headers: N/A
Response Body: PagingItemListJson of type CountingRoomEntity

Request format:

POST /rooms/entities

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
pagination:
{
pageSize: Integer,
pageNumber: Integer
},
ascending: Boolean,
fetchMembers: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
offset: Integer,
total: Integer,
items: List(CountingRoomEntity )
}

exportGroupLogToJsonV30

Exports the workspace groups log to JSON.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/grouplog/create
Request Body: BaseLog
Response Headers: N/A
Response Body: PagingItemListJson of type GroupLogRecord

Path parameters:

roomId: String - room id for workspace containing the files.

Request format:

POST /rooms/{roomId}/grouplog/create

Authorization: Bearer <ssid>
Content-type: application/json

{
after: Date,
before: Date,
paginationInfo:
{
pageSize: Integer,
pageNumber: Integer
}
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
offset: Integer,
total: Integer,
items: List(GroupLogRecord )
}

exportGroupLogV30

Exports the workspace groups log.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/log/csv/create
Request Body: BaseLog
Response Headers: N/A
Response Body: N/A

Path parameters:

roomId: String - room id for workspace containing the files.

Request format:

POST /rooms/{roomId}/log/csv/create

Authorization: Bearer <ssid>
Content-type: application/json

{
after: Date,
before: Date,
paginationInfo:
{
pageSize: Integer,
pageNumber: Integer
}
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

InputStream

foldersReadConfirmationEditV30

set the default read confirmation flag for folders

Version: 3.0
Synopsis: POST
Path: /rooms/folders/read/confirmation/edit
Request Body: FolderReadConfirmationEdit
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/folders/read/confirmation/edit

Authorization: Bearer <ssid>
Content-type: application/json

{
folderUuid: String,
roomUuid: String,
readConfirmationRequired: Boolean,
includeSubfolder: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

generateGuidV30

Creates a GUID for a new file.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/create
Request Body: N/A
Response Headers: N/A
Response Body: Guid

Path parameters:

roomId: String - - the GUID for the room to which the file will be added.

Request format:

POST /rooms/{roomId}/documents/create

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
guid: String
}

getBulkEmailDataV30

Gets data for bulk email notifications.

Version: 3.0
Synopsis: POST
Path: /rooms/documents/emails/get
Request Body: GetEmailBulkData
Response Headers: N/A
Response Body: EmailBulkData

Request format:

POST /rooms/documents/emails/get

Authorization: Bearer <ssid>
Content-type: application/json

{
guids: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
roomsEmailData: Set(
{
roomId: Integer,
documentsToUsers: Set(
{
guid: String,
recipients: Set(String)
})
})
}

getDocumentGUIDV30

Gets a document GUID.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/list/guid
Request Body: GetGuidByFolderAndName
Response Headers: N/A
Response Body: Guid

Path parameters:

roomId: String - room id for workspace containing the files.

Request format:

POST /rooms/{roomId}/documents/list/guid

Authorization: Bearer <ssid>
Content-type: application/json

{
folderPath: String,
folderId: Integer,
folderGuid: String,
documentName: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
guid: String
}

getDocumentInfoV30

Gets information about a specific file in a workspace. The information includes the file name, permissions, time of last update, date most recently viewed, expiry date, tags, etc.

Version: 3.0
Synopsis: GET
Path: /rooms/{roomId}/documents/{guid}
Request Body: N/A
Response Headers: N/A
Response Body: Document

Path parameters:

guid: String - the guid of the file.
roomId: String - the room id of the workspace containing the file.

Request format:

GET /rooms/{roomId}/documents/{guid}

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: Integer,
guid: String,
name: String,
convertedName: String,
sender: String,
filename: String,
url: String,
viewerUrl: String,
contentType: String,
room: String,
folder: String,
folderId: Integer,
folderUuid: String,
lastUpdated: Date,
creationDate: Date,
expires: Date,
accessLevel: DocumentAccessLevel,
secureTransferFile: Boolean,
recentlyViewed: Date,
pendingRequests: Integer,
previewUrl: String,
originalSize: Long,
status:
{
documentState: DocumentStatusForApi,
statusCode: Integer,
errorText: String
},
dlpStatus: String,
percentCompleted: Integer,
classification: String,
read: Boolean,
starred: Boolean,
permissionsJson:
{
accessLevel: Consts$AccessLevel,
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
comment: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
pinRequired: Boolean,
minExpirationDate: Date,
latestChangeDate: Date,
originalComments: Boolean
},
tagList:
{
freeTextValues: List(
{
tagName: String,
tagValue: String
}),
dateValues: List(
{
tagName: String,
tagValue: Date
}),
numericValues: List(
{
tagName: String,
tagValue: Number
})
}),
downloadSize: long,
downloadPdfSize: long,
type: String,
documentName: String,
lastUpdateDate: Date,
score: Float,
pdfConversionStatus: PdfConversionStatus,
annotationsList:
{
annotationRecordJsons: Collection(
{
annotatingUserAddress: String,
annotationUpdateDate: Date
})
}),
externalRepositoryData:
{
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
documentExternalData:
{
id: String,
items: Set(
{
key: String,
value: String
})
})
}),
documentCurrentVersion:
{
currentVersionUuid: String,
currentDocVersionUpdateDate: Date
},
modifiedDate: Date,
openToAnyone: Boolean,
licenseHoursValid: Integer,
supportedFileType: Boolean,
numOfVersions: Integer,
rmsEnabled: Boolean,
fileHash: String,
cacheStatus: CacheDocumentStatus,
inheritsPerms: Boolean,
lockingUserAddress: String,
readyForDownloadOriginal: ReadyForDownloadOriginal,
workspaceType: String,
collaboration: Boolean,
editorUrl: String,
onlineEditorUrl: String,
lastVersionUploaderUserAddress: String,
starredDate: Date,
documentCommentCountJson:
{
commentCount: Integer,
commentMentionCount: Integer
},
workspaceUuid: String,
readConfirmation: Boolean,
foundInMetadata: Boolean,
foundInContent: Boolean,
originalReadAckState: Boolean,
readAcknowledged: Boolean
}

getDocumentLinksV30

Gets links for a file in a workspace. The link is a URI for the file.

Version: 3.0
Synopsis: POST
Path: /rooms/document/links
Request Body: Guid
Response Headers: N/A
Response Body: DocumentLinks

Request format:

POST /rooms/document/links

Authorization: Bearer <ssid>
Content-type: application/json

{
guid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
directLink: URI,
versionsAndAnnotationsLink: URI,
trackActivityLink: URI,
workspaceLink: URI,
folderLink: URI
}

getExternalTransactionStatusV30

Gets external transaction status.

Version: 3.0
Synopsis: POST
Path: /rooms/external/transaction/status
Request Body: ExternalTransactionInput
Response Headers: N/A
Response Body: ExternalTransactionStatus

Request format:

POST /rooms/external/transaction/status

Authorization: Bearer <ssid>
Content-type: application/json

{
transactionUUID: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
transactionUUID: String,
resultJson: String,
status: TransactionStatusEnum,
bulkOperationResultJson:
{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
})
}

getFolderInfoV30

Get info for a folder if it has been updated later than a specified date. Info returned is folder name, subfolders, update date.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/info/list
Request Body: GetFolderInfo
Response Headers: N/A
Response Body: FolderInfo

Request format:

POST /rooms/folders/info/list

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
path: String,
folderId: Integer,
folderGuid: String,
includeExternalRepository: Boolean,
onlyEntitiesWithAccess: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: Integer,
uuid: String,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
room: String,
folder: String,
parentId: Integer,
subFolders: List(
{
id: Integer,
isPermsInherited: Boolean,
uuid: String,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
room: String,
roomUUID: String,
folder: String,
parentId: Integer,
parentGuid: String,
subFolders: List(Folder ),
fullPath: String,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderCapabilities: Set(WorkspaceCapabilityType ),
folderRole: String,
readConfirmationRequired: Boolean,
readConfirmationIncludeSubfolder: Boolean,
originalReadAckState: Boolean,
starred: Boolean,
starredDate: Date
}),
fullPath: String,
externalRepositoryData:
{
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderExternalData:
{
id: Integer,
items: Set(
{
key: String,
value: String
})
})
}),
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
totalFilesSize: Long,
totalCount: Integer,
lastFileModifiedDate: Date,
isPermissionsInherited: Boolean,
readConfirmationRequired: Boolean,
readConfirmationIncludeSubfolder: Boolean,
originalReadAckState: Boolean,
folderCapabilities: Set(WorkspaceCapabilityType ),
folderRole: String,
workspaceUuid: String,
folderPathToUuidJsons: Set(
{
uuid: String,
fullPath: String
})
}

getFolderLinksV30

Gets links for a folder in a workspace. The link is a URI for the folder.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/folder/links
Request Body: PathOrFolderId
Response Headers: N/A
Response Body: FolderLinks

Path parameters:

roomId: String - Id workspace for which links are to be obtained.

Request format:

POST /rooms/{roomId}/folder/links

Authorization: Bearer <ssid>
Content-type: application/json

{
path: String,
folderId: Integer,
folderGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
directLink: URI
}

getFolderTreeV30

Gets the tree of all folders and subfolders in a specified workspace.

Version: 3.0
Synopsis: GET
Path: /rooms/{roomId}/folders
Request Body: N/A
Response Headers: N/A
Response Body: Folder

Path parameters:

roomId: String - the room for which the tree will be returned.

Query parameters:

folderUuid: String.

Request format:

GET /rooms/{roomId}/folders

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: Integer,
isPermsInherited: Boolean,
uuid: String,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
room: String,
roomUUID: String,
folder: String,
parentId: Integer,
parentGuid: String,
subFolders: List(Folder ),
fullPath: String,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderCapabilities: Set(WorkspaceCapabilityType ),
folderRole: String,
readConfirmationRequired: Boolean,
readConfirmationIncludeSubfolder: Boolean,
originalReadAckState: Boolean,
starred: Boolean,
starredDate: Date
}

getGroupInfoV30

Gets information about a group in a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/group/info
Request Body: GetGroupInfo
Response Headers: N/A
Response Body: RoomEntity

Request format:

POST /rooms/group/info

Authorization: Bearer <ssid>

{
roomId: Integer,
roomGuid: String,
groupName: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
name: String,
identifier: String,
expirationDays: Integer,
expirationDate: Date,
members:
{
userMembers: List(String),
distributionListMembers: List(String),
activeDirectoryGroupsMembersGuids: Set(String)
}),
managers:
{
userMembers: List(String),
distributionListMembers: List(String),
activeDirectoryGroupsMembersGuids: Set(String)
}),
id: String,
entityType: IRoomEntityJson$RoomEntityType,
permissionPrint: Boolean,
permissionEdit: Boolean,
permissionCopyPaste: Boolean,
permissionSpotlight: Boolean,
permissionWatermark: Boolean,
permissionProgrammaticAccess: Boolean,
permissionDownload: Boolean,
permissionDownloadProtected: Boolean,
permissionDownloadOriginal: Boolean,
isDefaultEntity: Boolean,
permissionDownloadType: DownloadType,
address: String,
role: String,
description: String
}

getGroupsV30

Gets a list of all groups in a specified workspace.

Version: 3.0
Synopsis: GET
Path: /rooms/{roomId}/groups
Request Body: N/A
Response Headers: N/A
Response Body: ItemListJson of type RoomEntity

Path parameters:

roomId: String - room id of workspace.

Request format:

GET /rooms/{roomId}/groups

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(RoomEntity )
}

getInfoForAdminV30

Gets workspace info. The info includes the name, creation date, deletion date, URL, product, access level, whether workspace is shared, explicit

Version: 3.0
Synopsis: POST
Path: /rooms/admin/{roomId}/info
Request Body: N/A
Response Headers: N/A
Response Body: WorkspaceInfo

Path parameters:

roomId: String - room to obtain information about.

Query parameters:

addExternalData: boolean - include external data. (optional, default: true).
fetchEvenIfDeleted: boolean - fetch even if deleted. (optional, default: false).
includeWorkspacePolicyData: boolean - include workspace policy data. (optional, default: false).

Request format:

POST /rooms/admin/{roomId}/info

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: String,
name: String,
description: String,
product: String,
accessLevel: RoomAccessLevel,
hyperlink: String,
explicit: Boolean,
explicitRoom: Boolean,
creationDate: Date,
defaultWorkspaceOrder: ApiDocumentOrderVDR,
roomCapabilities: Set(WorkspaceCapabilityType ),
shared: Boolean,
organizationPolicyJson:
{
isAllowedToShareAnnotationsWithWorkspaceAdmins: Boolean,
isAllowedToShareAnnotationsWithAllWorkspaceGroups: Boolean,
isAllowedToShareAnnotationsWithSelectedGroups: Boolean,
isAllowedToShareAnnotationsWithUsersManually: Boolean,
allowDownloadOriginal: Boolean,
allowDownloadProtected: Boolean,
isAllowedToShareDocumentsWithWorkspaceAdmins: Boolean,
isAllowedToShareDocumentsWithAllWorkspaceGroups: Boolean,
isAllowedToShareDocumentsWithSelectedGroups: Boolean,
isAllowedToShareDocumentsWithUsersManually: Boolean,
allowMobileIos: Boolean,
allowMobileAndroid: Boolean,
allowMobileBlackberry: Boolean,
allowMobileWindowsMobile: Boolean,
deleteFromDisk: Boolean,
licenseHoursValid: Integer,
defaultChangeGroupsToAllDocs: Boolean,
defaultAddGroupsAsDefaultEntity: Boolean,
allowOpenOriginalsInOtherApps: Boolean,
allowOpenUnsupportedInOtherApps: Boolean,
enableRmsSealing: Boolean,
uploadBandwidthLimit: Integer,
downloadBandwidthLimit: Integer,
enableBandwidthLimit: Boolean,
globalDownloadControlled: Boolean,
enableCloudStorageWorkspaces: Boolean,
allowTrackingFromMicrosoftOfficeDocuments: Boolean,
blockNonProvisionedUsers: Boolean,
enableSalesForce: Boolean,
enableWivi: Boolean,
enableOnlineViewerForUnsupportedBrowsers: Boolean,
enableWopi: Boolean,
allowLockingDocuments: Boolean,
useAutoComplete: Boolean,
autoCompleteAllowToAll: Boolean,
autoCompleteDisplayAll: Boolean,
wopiDiscoveryUrl: String,
enableSharingWithoutEmailNotification: Boolean,
shareFilesWithNotificationByDefault: Boolean,
isDisableOnBehalfOfForAllOutgoingEmails: Boolean,
enableComments: Boolean,
commentsDefaultValue: Boolean,
sendWeeklyLicensingReport: Boolean,
sendWeeklyInternalDomainLicensingReport: Boolean,
enablePushNotifications: Boolean,
sendMissingSetupNotificationEmails: Boolean,
sendDailyActivityEmail: Boolean,
enableFetchMembers: Boolean,
forcePinWorkspaces: Boolean,
displayCommentContent: Boolean,
allowAdvancedPrinting: Boolean,
customizedNotificationsEmails: Boolean,
disallowChangeToPermissionTemplates: Boolean
},
deleteDate: Date,
deletingUserAddress: String,
creator:
{
name: String,
address: String
},
sharepoint:
{
roomId: Integer,
externalId: String,
path: String,
sharepointSelectedPath: String
},
syncPolicy:
{
blacklistExpressions: Set(String),
whitelistExpressions: Set(String),
maxSize: Long
}),
totalFilesCount: Integer,
totalFoldersCount: Integer,
totalFilesSize: Long,
lastFileModifiedDate: Date,
deletedItemsCount: Integer,
actualAdmins: Set(String),
size: float,
externalRepositoryData:
{
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
roomExternalData:
{
id: Integer,
items: Set(
{
key: String,
value: String
})
})
}),
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
personalWorkspaceFlag: Boolean,
personalRestrictedWorkspaceFlag: Boolean,
uuid: String,
logAccessActionsToFiles: Boolean,
externalRepositoryCloudStatus: ExternalRepositoryCloudStatus,
protectorEnabled: Boolean,
workspacesPolicy:
{
allowPrintingToPdf: Boolean,
disableCurtain: Boolean,
disablePasscodeLock: Boolean,
allowNonControllableFileTypes: Boolean,
protectImagesInWorkspaces: Boolean,
useAutoComplete: Boolean,
supportedTypes: Set(String),
allowEditDescription: Boolean,
logAccessActionsToFiles: Boolean,
enableReadConfirmation: Boolean,
readConfirmByDefault: Boolean,
fileUploadNotifyWorkspaceMembersDefault: Boolean
}),
workspaceType: String,
externalSiteDataJson:
{
name: String,
siteUrl: String,
userName: String,
transientWorkspaceCredentialsUuid: String
},
readConfirmationRequired: Boolean,
rootFolderUuid: String,
forcePin: Boolean,
origianlForcePinState: Boolean,
starred: Boolean,
starredDate: Date,
updateDate: Date,
enabledWorkspaceNotifications: Boolean,
containsFolders: Boolean
}

getInfoV30

Gets workspace info. The info includes the name, creation date, deletion date, URL, product, access level, whether workspace is shared, explicit

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/info
Request Body: N/A
Response Headers: N/A
Response Body: WorkspaceInfo

Path parameters:

roomId: String - room to obtain information about.

Query parameters:

addExternalData: boolean - include external data. (optional, default: true).
adminMode: boolean - admin mode. (optional, default: true).
fetchEvenIfDeleted: boolean - fetch even if deleted. (optional, default: false).
includeSyncData: boolean - include sync data. (optional, default: false).
includeWorkspacePolicyData: boolean - include workspace policy data. (optional, default: false).

Request format:

POST /rooms/{roomId}/info

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: String,
name: String,
description: String,
product: String,
accessLevel: RoomAccessLevel,
hyperlink: String,
explicit: Boolean,
explicitRoom: Boolean,
creationDate: Date,
defaultWorkspaceOrder: ApiDocumentOrderVDR,
roomCapabilities: Set(WorkspaceCapabilityType ),
shared: Boolean,
organizationPolicyJson:
{
isAllowedToShareAnnotationsWithWorkspaceAdmins: Boolean,
isAllowedToShareAnnotationsWithAllWorkspaceGroups: Boolean,
isAllowedToShareAnnotationsWithSelectedGroups: Boolean,
isAllowedToShareAnnotationsWithUsersManually: Boolean,
allowDownloadOriginal: Boolean,
allowDownloadProtected: Boolean,
isAllowedToShareDocumentsWithWorkspaceAdmins: Boolean,
isAllowedToShareDocumentsWithAllWorkspaceGroups: Boolean,
isAllowedToShareDocumentsWithSelectedGroups: Boolean,
isAllowedToShareDocumentsWithUsersManually: Boolean,
allowMobileIos: Boolean,
allowMobileAndroid: Boolean,
allowMobileBlackberry: Boolean,
allowMobileWindowsMobile: Boolean,
deleteFromDisk: Boolean,
licenseHoursValid: Integer,
defaultChangeGroupsToAllDocs: Boolean,
defaultAddGroupsAsDefaultEntity: Boolean,
allowOpenOriginalsInOtherApps: Boolean,
allowOpenUnsupportedInOtherApps: Boolean,
enableRmsSealing: Boolean,
uploadBandwidthLimit: Integer,
downloadBandwidthLimit: Integer,
enableBandwidthLimit: Boolean,
globalDownloadControlled: Boolean,
enableCloudStorageWorkspaces: Boolean,
allowTrackingFromMicrosoftOfficeDocuments: Boolean,
blockNonProvisionedUsers: Boolean,
enableSalesForce: Boolean,
enableWivi: Boolean,
enableOnlineViewerForUnsupportedBrowsers: Boolean,
enableWopi: Boolean,
allowLockingDocuments: Boolean,
useAutoComplete: Boolean,
autoCompleteAllowToAll: Boolean,
autoCompleteDisplayAll: Boolean,
wopiDiscoveryUrl: String,
enableSharingWithoutEmailNotification: Boolean,
shareFilesWithNotificationByDefault: Boolean,
isDisableOnBehalfOfForAllOutgoingEmails: Boolean,
enableComments: Boolean,
commentsDefaultValue: Boolean,
sendWeeklyLicensingReport: Boolean,
sendWeeklyInternalDomainLicensingReport: Boolean,
enablePushNotifications: Boolean,
sendMissingSetupNotificationEmails: Boolean,
sendDailyActivityEmail: Boolean,
enableFetchMembers: Boolean,
forcePinWorkspaces: Boolean,
displayCommentContent: Boolean,
allowAdvancedPrinting: Boolean,
customizedNotificationsEmails: Boolean,
disallowChangeToPermissionTemplates: Boolean
},
deleteDate: Date,
deletingUserAddress: String,
creator:
{
name: String,
address: String
},
sharepoint:
{
roomId: Integer,
externalId: String,
path: String,
sharepointSelectedPath: String
},
syncPolicy:
{
blacklistExpressions: Set(String),
whitelistExpressions: Set(String),
maxSize: Long
}),
totalFilesCount: Integer,
totalFoldersCount: Integer,
totalFilesSize: Long,
lastFileModifiedDate: Date,
deletedItemsCount: Integer,
actualAdmins: Set(String),
size: float,
externalRepositoryData:
{
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
roomExternalData:
{
id: Integer,
items: Set(
{
key: String,
value: String
})
})
}),
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
personalWorkspaceFlag: Boolean,
personalRestrictedWorkspaceFlag: Boolean,
uuid: String,
logAccessActionsToFiles: Boolean,
externalRepositoryCloudStatus: ExternalRepositoryCloudStatus,
protectorEnabled: Boolean,
workspacesPolicy:
{
allowPrintingToPdf: Boolean,
disableCurtain: Boolean,
disablePasscodeLock: Boolean,
allowNonControllableFileTypes: Boolean,
protectImagesInWorkspaces: Boolean,
useAutoComplete: Boolean,
supportedTypes: Set(String),
allowEditDescription: Boolean,
logAccessActionsToFiles: Boolean,
enableReadConfirmation: Boolean,
readConfirmByDefault: Boolean,
fileUploadNotifyWorkspaceMembersDefault: Boolean
}),
workspaceType: String,
externalSiteDataJson:
{
name: String,
siteUrl: String,
userName: String,
transientWorkspaceCredentialsUuid: String
},
readConfirmationRequired: Boolean,
rootFolderUuid: String,
forcePin: Boolean,
origianlForcePinState: Boolean,
starred: Boolean,
starredDate: Date,
updateDate: Date,
enabledWorkspaceNotifications: Boolean,
containsFolders: Boolean
}

getInitialSyncStateForExternalRoomV30

Applies a decision on a request.

Version: 3.0
Synopsis: POST
Path: /rooms/external/initialsync/status
Request Body: InitialSyncRoomData
Response Headers: N/A
Response Body: InitialSyncStatus

Request format:

POST /rooms/external/initialsync/status

Authorization: Bearer <ssid>
Content-type: application/json

{
roomUUID: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
errorText: String,
externalRepositoryInitialSyncStatus: ExternalRepositoryInitialSyncStatus
}

getInviteTextV30

Gets invite email message for file.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/{guid}/invite/list
Request Body: N/A
Response Headers: N/A
Response Body: InviteText

Path parameters:

emailSubject: String - subject line of invite email message.
guid: String - file guid.
roomId: String - room containing file.

Request format:

POST /rooms/{roomId}/documents/{guid}/invite/list

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
subject: String,
text: String
}

getInviteTextV30

Gets invite email message for workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/invite/list
Request Body: N/A
Response Headers: N/A
Response Body: InviteText

Path parameters:

emailSubject: String - subject line of invite email message.
roomId: String - room.

Request format:

POST /rooms/{roomId}/invite/list

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
subject: String,
text: String
}

getPermissionsV30

Returns all permitted entities permitted to the workspace.

Version: 3.0
Synopsis: GET
Path: /rooms/{roomId}/documents/{guid}/permissions
Request Body: N/A
Response Headers: N/A
Response Body: ItemListJson of type EntityPermission

Path parameters:

guid: String - The file guid to get the recipients for.
roomId: String - room to obtain information about.

Request format:

GET /rooms/{roomId}/documents/{guid}/permissions

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(EntityPermission )
}

getRoomLinksV30

Returns the URL link to a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/links
Request Body: N/A
Response Headers: N/A
Response Body: RoomLinks

Path parameters:

roomId: String - the workspace.

Request format:

POST /rooms/{roomId}/links

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
directLink: URI,
trackActivityLink: URI,
quickShareLink: URI
}

getRoomsTagValuesV30

Gets a list of tags for a list of the user's workspaces.

Version: 3.0
Synopsis: POST
Path: /rooms/tags/values/get
Request Body: RoomList
Response Headers: N/A
Response Body: TagList

Request format:

POST /rooms/tags/values/get

Authorization: Bearer <ssid>
Content-type: application/json

{
roomIds: List(String),
roomGuids: List(String),
workspaceTypes: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
freeTextValues: List(
{
tagName: String,
tagValue: String
}),
dateValues: List(
{
tagName: String,
tagValue: Date
}),
numericValues: List(
{
tagName: String,
tagValue: Number
})
}

inviteV30

Invite groups to a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/invite
Request Body: Invite
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - room to which groups will be invited.

Request format:

POST /rooms/{roomId}/invite

Authorization: Bearer <ssid>
Content-type: application/json

{
emailSubject: String,
emailMessage: String,
groupNames: Set(String),
additionalEmails: Set(String),
activeDirectoryGroupsGuids: Set(String),
folderUuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

inviteV30

Invites groups to a specific file in a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/{guid}/invite
Request Body: Invite
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

guid: String - guid for file.
roomId: String - room containing the file.

Request format:

POST /rooms/{roomId}/documents/{guid}/invite

Authorization: Bearer <ssid>
Content-type: application/json

{
emailSubject: String,
emailMessage: String,
groupNames: Set(String),
additionalEmails: Set(String),
activeDirectoryGroupsGuids: Set(String),
folderUuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

listDocumentsForAdminV30

Lists all files in a specified workspace for admin console requests.

Version: 3.0
Synopsis: POST
Path: /rooms/admin/{roomId}/documents/list
Request Body: ListDocumentsVdr
Response Headers: N/A
Response Body: PagingItemListJson of type Document or PartialDocument

Path parameters:

roomId: String - The workspace to get file list from.

Request format:

POST /rooms/admin/{roomId}/documents/list

Authorization: Bearer <ssid>

{
pageSize: Integer,
pageNumber: Integer,
folderPath: String,
folderId: Integer,
folderGuid: String,
documentOrder: VdrDocumentOrder,
orderAscending: Boolean,
folders: Boolean,
documentFilter: VdrDocumentFilter,
filterScope: ApiFilterScope,
noTags: Boolean,
adminMode: Boolean,
includeExternalRepository: Boolean,
shortJson: Boolean,
lastVersionUploaderUserAddress: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
offset: Integer,
total: Integer,
items: List(Json )
}

listDocumentsV30

Requests a list of all files in a specified workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/list
Request Body: ListDocumentsVdr
Response Headers: N/A
Response Body: PagingItemListJson of type Document or PartialDocument

Path parameters:

roomId: String - The workspace to get file list from.

Request format:

POST /rooms/{roomId}/documents/list

Authorization: Bearer <ssid>

{
pageSize: Integer,
pageNumber: Integer,
folderPath: String,
folderId: Integer,
folderGuid: String,
documentOrder: VdrDocumentOrder,
orderAscending: Boolean,
folders: Boolean,
documentFilter: VdrDocumentFilter,
filterScope: ApiFilterScope,
noTags: Boolean,
adminMode: Boolean,
includeExternalRepository: Boolean,
shortJson: Boolean,
lastVersionUploaderUserAddress: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
offset: Integer,
total: Integer,
items: List(Json )
}

listFolderDefaultPermissionsV30

Available for workspace admins only. Shows permissions for each of the default entities in given folder

Version: 3.0
Synopsis: POST
Path: /rooms/permissionDetails/list/folder
Request Body: ListFolderDefaultPermissions
Response Headers: N/A
Response Body: FolderDefaultPermissions

Request format:

POST /rooms/permissionDetails/list/folder

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
folderPathOrId:
{
path: String,
folderId: Integer,
folderGuid: String
}
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
arePermsInherited: Boolean,
entitiesInFolder: List(
{
permittedEntity:
{
address: String,
name: String,
entityType: EntityType,
identifier: String
},
permissions:
{
accessLevel: Consts$AccessLevel,
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
pinRequired: Boolean,
comment: Boolean,
minExpirationDate: Date,
latestChangeDate: Date,
revoked: Boolean
},
folderRole: String
})
}

listFolderPermissionRequestsV30

Lists existing permissions requests for folder or the entire workspace where the root folder is supplied.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/permissions/requests/list
Request Body: ListFolderPermissionRequests
Response Headers: N/A
Response Body: ItemListJson of type FolderPendingPermissionRequests

Request format:

POST /rooms/folders/permissions/requests/list

Authorization: Bearer <ssid>
Content-type: application/json

{
adminMode: Boolean,
workspaceTypes: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(FolderPendingPermissionRequests )
}

listFolderPermissionsBulkV30

Available for workspace admins only. Shows aggregation of permissions of folders (not including expiration date)

Version: 3.0
Synopsis: POST
Path: /rooms/folders/permissionDetails/list/
Request Body: ListBulkFolderPermissions
Response Headers: N/A
Response Body: PermissionDetails

Request format:

POST /rooms/folders/permissionDetails/list/

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
folderPathsOrIds: Set(
{
path: String,
folderId: Integer,
folderGuid: String
}),
templatePermissionsFilter: TemplatePermissionsFilter
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
aggregatedPermissionDetailsList: List(
{
permittedEntityInRoom:
{
entityType: String,
entityName: String,
entityDisplayedAddress: String,
entityCustomerGivenId: String,
entityUUID: String,
roomRole: String
},
isWaterMark: String,
expirationDate: String,
expirationDays: String,
aggregatedPermissions:
{
templateName: String,
templateDisplayedName: String,
templateType: PermissionTemplateType,
canCopy: String,
canEdit: String,
canPrint: String,
isSpotlight: String,
canDownloadOriginal: String,
canDownloadProtected: String,
isProgrammaticAccess: String,
isComment: String
},
roomRole: String,
isComment: String
})
}

listFoldersAndDocumentsV30

Lists all folders and files in the specified workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/folders/documents/list
Request Body: N/A
Response Headers: N/A
Response Body: FoldersDocuments of type Document or Folder

Path parameters:

roomId: String - Id of the room to obtain the information about.

Request format:

POST /rooms/{roomId}/folders/documents/list

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
folderTree:
{
id: Integer,
isPermsInherited: Boolean,
uuid: String,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
room: String,
roomUUID: String,
folder: String,
parentId: Integer,
parentGuid: String,
subFolders: List(Folder ),
fullPath: String,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderCapabilities: Set(WorkspaceCapabilityType ),
folderRole: String,
readConfirmationRequired: Boolean,
readConfirmationIncludeSubfolder: Boolean,
originalReadAckState: Boolean,
starred: Boolean,
starredDate: Date
}),
documents:
{
total: Integer,
items: List(T)
})
}

listLastResolvedFolderPermissionRequestsV30

Lists last resolved permission requests on folder.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/permissions/requests/listLastResolve
Request Body: ListLastResolvedFolderPermissionRequests
Response Headers: N/A
Response Body: ItemListJson of type LastResolvedFolderPermissionRequestResult

Request format:

POST /rooms/folders/permissions/requests/listLastResolve

Authorization: Bearer <ssid>
Content-type: application/json

{
numberOfLastDaysToShowRequestsFrom: Integer,
workspaceTypes: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(LastResolvedFolderPermissionRequestResult )
}

listPermissionDetailsV30

Lists permission details for files and folders bulkly for all entities in the room.

Version: 3.0
Synopsis: POST
Path: /rooms/permissionDetails/list
Request Body: ListPermissionDetails
Response Headers: N/A
Response Body: PermissionDetails

Request format:

POST /rooms/permissionDetails/list

Authorization: Bearer <ssid>
Content-type: application/json

{
documentGuids: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
permissionTemplateFilter: TemplatePermissionsFilter,
roomRoleFilter: String,
includeExpired: Boolean,
roomId: Integer,
roomGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
aggregatedPermissionDetailsList: List(
{
permittedEntityInRoom:
{
entityType: String,
entityName: String,
entityDisplayedAddress: String,
entityCustomerGivenId: String,
entityUUID: String,
roomRole: String
},
isWaterMark: String,
expirationDate: String,
expirationDays: String,
aggregatedPermissions:
{
templateName: String,
templateDisplayedName: String,
templateType: PermissionTemplateType,
canCopy: String,
canEdit: String,
canPrint: String,
isSpotlight: String,
canDownloadOriginal: String,
canDownloadProtected: String,
isProgrammaticAccess: String,
isComment: String
},
roomRole: String,
isComment: String
})
}

listRoomsByTypeV30

Version: 3.0
Synopsis: POST
Path: /rooms/list
Request Body: ListRoomsByType
Response Headers: N/A
Response Body: ItemListJson of type ListRoomsByTypeResult

Request format:

POST /rooms/list

Authorization: Bearer <ssid>
Content-type: application/json

{
isAdminMode: Boolean,
shouldAddExternalData: Boolean,
externalRepositoryUuid: String,
getImplicitlyPermittedRooms: Boolean,
requireSubfolderInformation: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(ListRoomsByTypeResult )
}

listRoomsForAdminV30

Retrieves a list of all the workspaces for a user with VIEW_ALL_ROOMS capability.

Version: 3.0
Synopsis: GET
Path: /rooms/admin/list
Request Body: N/A
Response Headers: N/A
Response Body: ItemListJson of type WorkspaceInfo

Query parameters:

addExternalData: boolean - add external data. (optional, default: true).
workspaceTypes: Set - workspace types.

Request format:

GET /rooms/admin/list

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(WorkspaceInfo )
}

listRoomsV30

Retrieves a list of all the workspaces of the current user.

Version: 3.0
Synopsis: GET
Path: /rooms
Request Body: N/A
Response Headers: N/A
Response Body: ItemListJson of type Room

Query parameters:

addExternalData: boolean - include external data. (optional, default: true).
adminMode: boolean - for backwards compatibility. (optional, default: true).
includeSyncData: boolean - include sync data. (optional, default: false).
includeWorkspacePolicyData: boolean - include workspace policy data. (optional, default: false).
workspaceTypes: Set - workspace types.

Request format:

GET /rooms

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(WorkspaceInfo )
}

listWorkspaceGroupMembershipsForUserV30

Lists groups in the workspace for a user.

Version: 3.0
Synopsis: POST
Path: /rooms/groups/memberships/list
Request Body: ListWorkspaceGroupMembershipsForUserRequest
Response Headers: N/A
Response Body: ItemListJson of type WorkspaceGroupMembershipForUserInfo

Request format:

POST /rooms/groups/memberships/list

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
userAddress: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(WorkspaceGroupMembershipForUserInfo )
}

listWorkspacesRecycleBinDocumentsV30

Lists files in the workspace Recycle bin. The recycle bin holds files from workspaces that have been deleted, but not permanently.

Version: 3.0
Synopsis: POST
Path: /rooms/recycleBin/documents/list
Request Body: ListWorkspaceRecycleBinDocuments
Response Headers: N/A
Response Body: PagingItemListJson of type RecycleBinDocument

Request format:

POST /rooms/recycleBin/documents/list

Authorization: Bearer <ssid>
Content-type: application/json

{
pagination:
{
pageSize: Integer,
pageNumber: Integer
},
ascending: Boolean,
orderBy: RecycleBinWorkspaceDocumentsOrder,
roomIds: Set(Integer),
roomGuids: Set(String),
workspaceTypes: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
offset: Integer,
total: Integer,
items: List(RecycleBinDocument )
}

listWorkspacesRecycleBinWorkspacesV30

Lists workspaces in the workspaces Recycle bin. The recycle bin holds workspaces that have been deleted, but not permanently.

Version: 3.0
Synopsis: POST
Path: /rooms/recycleBin/rooms/list
Request Body: ListWorkspaceRecycleBinWorkspaces
Response Headers: N/A
Response Body: PagingItemListJson of type WorkspaceInfo

Request format:

POST /rooms/recycleBin/rooms/list

Authorization: Bearer <ssid>
Content-type: application/json

{
pagination:
{
pageSize: Integer,
pageNumber: Integer
},
orderBy: RecycleBinWorkspacesOrder,
ascending: Boolean,
includeExternalData: Boolean,
workspaceTypes: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
offset: Integer,
total: Integer,
items: List(WorkspaceInfo )
}

loadToCacheV30

Adds a workspace to cache (saved for offline).

Version: 3.0
Synopsis: POST
Path: /rooms/cache/load
Request Body: LoadToCache
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/cache/load

Authorization: Bearer <ssid>
Content-type: application/json

{
roomGuid: String,
roomId: Integer,
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
documentGuids: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

lockDocumentsV30

Locks files.

Version: 3.0
Synopsis: POST
Path: /rooms/documents/lock
Request Body: LockDocumentsRequest
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/documents/lock

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
documentUuids: Set(String),
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

markRoomAsExplicitV30

Marks a workspace as explicit.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/mark
Request Body: RoomExplicit
Response Headers: N/A
Response Body: N/A

Path parameters:

roomId: String - the room to be marked.

Request format:

POST /rooms/{roomId}/mark

Authorization: Bearer <ssid>
Content-type: application/json

{
explicit: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

String

markV30

Marks a specified list of files with a mark.

Version: 3.0
Synopsis: POST
Path: /rooms/documents/mark
Request Body: MarkDocumentsSelection
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/documents/mark

Authorization: Bearer <ssid>
Content-type: application/json

{
documentGuids: Set(String),
operation: String,
value: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

markV30

Marks a specified list of files in a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/mark
Request Body: MarkDocumentsSelectionVdr
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - room containing the files.

Request format:

POST /rooms/{roomId}/documents/mark

Authorization: Bearer <ssid>
Content-type: application/json

{
operation: String,
value: Boolean,
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
documentGuids: Set(String),
forceAction: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

modifyGroupV30

Use this function when you wish to change a group that already exists in the workspace. You can change the group name and the group identifier with this function.

Version: 3.0
Synopsis: POST
Path: /rooms/group/modify
Request Body: ModifyGroupWithGroup
Response Headers: N/A
Response Body: N/A

Request format:

POST /rooms/group/modify

Authorization: Bearer <ssid>
Content-type: application/json

{
groupName: String,
roomId: Integer,
roomGuid: String,
newName: String,
newIdentifier: String
}

Response format:

HTTP/1.1 200 OK

String

moveAllV30

Moves all files from one folder in a workspace to another folder.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/moveAll
Request Body: MoveAll
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - the room (workspace) containing both source and target folders.

Request format:

POST /rooms/{roomId}/moveAll

Authorization: Bearer <ssid>
Content-type: application/json

{
folderPath: String,
folderId: Integer,
folderGuid: String,
targetPath: String,
targetId: Integer,
targetGuid: String,
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

moveDocumentV30

Moves a file in a workspace to a new folder.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/{guid}/move
Request Body: PathOrFolderId
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

guid: String - guid of file to be moved.
roomId: String - room id of workspace containing the file.

Request format:

POST /rooms/{roomId}/documents/{guid}/move

Authorization: Bearer <ssid>
Content-type: application/json

{
path: String,
folderId: Integer,
folderGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

moveFolderIntoFolderV30

Moves a folder in a workspace (and its contents) to a new location within the same workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/move
Request Body: MoveFolderIntoFolder
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/folders/move

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
folderId: Integer,
folderGuid: String,
deviceType: DeviceType,
parentId: Integer,
parentGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

moveFolderV30

Moves a folder in a workspace (and its contents) to a new location within the same workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/folders/move
Request Body: MoveFolder
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - workspace containing the folder to be moved.

Request format:

POST /rooms/{roomId}/folders/move

Authorization: Bearer <ssid>
Content-type: application/json

{
currentPath: String,
currentFolderID: Integer,
currentFolderGuid: String,
newPath: String,
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

moveV30

Moves files in a workspace folder to a different folder within the same workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/move
Request Body: Move
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - the the workspace with the files to be moved.

Request format:

POST /rooms/{roomId}/move

Authorization: Bearer <ssid>
Content-type: application/json

{
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
deviceType: DeviceType,
documentGuids: Set(String),
targetPath: String,
targetId: Integer,
targetGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

openForAllRoomV30

Sets a workspace to be open to all entities (users, groups, domains etc).

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/openForAllRoom/edit
Request Body: OpenForAllRoomEdit
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - the room id for the workspace to be opened.

Request format:

POST /rooms/{roomId}/documents/openForAllRoom/edit

Authorization: Bearer <ssid>
Content-type: application/json

{
documentGuids: Set(String),
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
openForAllRoom: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

removeAllTagsV30

Removes all tags for a specified file.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/{documentGuid}/untagField
Request Body: TagField
Response Headers: N/A
Response Body: N/A

Path parameters:

documentGuid: String - the guid of file.
roomId: String - the workspace containing the file.

Request format:

POST /rooms/{roomId}/documents/{documentGuid}/untagField

Authorization: Bearer <ssid>
Content-type: application/json

{
tagName: String,
tagType: DocumentTagType
}

Response format:

HTTP/1.1 200 OK

String

removeMembersFromGroupV30

Removes members (users) from a group.

Version: 3.0
Synopsis: POST
Path: /rooms/group/members/remove
Request Body: RemoveMembersFromGroup
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/group/members/remove

Authorization: Bearer <ssid>

{
groupName: String,
roomId: Integer,
roomGuid: String,
members:
{
userMembers: List(String),
distributionListMembers: List(String),
activeDirectoryGroupsMembersGuids: Set(String)
})
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

removeTagsV30

Removes specified tags from a list of files.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/untag
Request Body: RemoveDocumentsTagValues
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - the workspace containing the files.

Request format:

POST /rooms/{roomId}/documents/untag

Authorization: Bearer <ssid>
Content-type: application/json

{
documentGuids: Set(String),
tagValueList:
{
freeTextValues: List(
{
tagName: String,
tagValue: String
}),
dateValues: List(
{
tagName: String,
tagValue: Date
}),
numericValues: List(
{
tagName: String,
tagValue: Number
})
}),
removeAllValues: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

renameDocumentV30

Renames a file in a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/{guid}/rename
Request Body: UpdateDocument
Response Headers: N/A
Response Body: N/A

Path parameters:

guid: String - guid for file to be renamed.
roomId: String - room id for workspace containing the file.

Request format:

POST /rooms/{roomId}/documents/{guid}/rename

Authorization: Bearer <ssid>
Content-type: application/json

{
newFileName: String,
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

String

renameFolderV30

Renames a folder within a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/folders/rename
Request Body: RenameFolder
Response Headers: N/A
Response Body: N/A

Path parameters:

roomId: String - room (workspace) with original folder.

Request format:

POST /rooms/{roomId}/folders/rename

Authorization: Bearer <ssid>
Content-type: application/json

{
path: String,
folderId: Integer,
folderGuid: String,
deviceType: DeviceType,
newFolderName: String
}

Response format:

HTTP/1.1 200 OK

String

resolveActionForFolderPermissionRequestV30

Applies a decision on a request.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/permissions/requests/resolve
Request Body: ResolveActionForFolderPermissionRequest
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/folders/permissions/requests/resolve

Authorization: Bearer <ssid>
Content-type: application/json

{
folderId: Integer,
folderGuid: String,
requesters: Set(
{
requesterAddress: String,
requestType: PermissionRequestType
}),
roomId: Integer,
roomGuid: String,
action: PermissionRequestAdminAction,
groupAddressToBeApprovedBy: String,
directUserPermissionsToBeApprovedBy:
{
role: String,
permissionsTemplate:
{
templateName: PermissionTemplateNameRequest,
waterMark: Boolean,
watermark: Boolean,
expirationDate: Date,
expirationDays: Integer,
comment: Boolean
}
},
sendEmail: Boolean,
messageToSend: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

restoreWorkspaceRecycleBinAllDocumentsV30

Restores all documentss from Recycle bin for the specified workspace uuid.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomUuid}/recycleBin/restoreall
Request Body: N/A
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomUuid: String - the workspace (room) uuid of the workspace to have all it's recycle bin docs restored.

Request format:

POST /rooms/{roomUuid}/recycleBin/restoreall

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

restoreWorkspacesRecycleBinDocumentsV30

Restores files from Recycle bin. Files are restored to their original workspaces and removed from the recycle bin.

Version: 3.0
Synopsis: POST
Path: /rooms/recycleBin/documents/restore
Request Body: RestoreWorkspacesRecycleBinDocument
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/recycleBin/documents/restore

Authorization: Bearer <ssid>
Content-type: application/json

{
documentGuidsToRestore: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

restoreWorkspacesRecycleBinWorkspacesV30

Restores workspaces from Recycle bin.

Version: 3.0
Synopsis: POST
Path: /rooms/recycleBin/rooms/restore
Request Body: RestoreWorkspacesRecycleBinWorkspaces
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/recycleBin/rooms/restore

Authorization: Bearer <ssid>
Content-type: application/json

{
workspaceIdsToRestore: Set(Integer),
workspaceGuidsToRestore: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

revokePermissionsV30

Revokes all permissions for a list of entities (users, groups etc) for a list of files in a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/permissions/revoke
Request Body: VdrRevokePermission
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - the room id for the workspace containing the files.

Request format:

POST /rooms/{roomId}/documents/permissions/revoke

Authorization: Bearer <ssid>
Content-type: application/json

{
permittedEntities: List(
{
address: String,
entityType: EntityType
}),
revokeAllEntities: Boolean,
documentGuids: Set(String),
personalNote: String,
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

searchDocumentsForAdminV30

For use in Admin console: Search for files in workspaces according to a search string. In order to search Tag fields you should use the following syntax in the query String: query = "tagName1: (value1 OR value2) tagName2: (value3) This query will fetch all files that have value1 or value2 for tagName 1 and also have value 3 for tagName 2) it's also possible to put OR between the two tagNames.

Version: 3.0
Synopsis: POST
Path: /rooms/admin/documents/search
Request Body: SearchDocumentsVdr
Response Headers: N/A
Response Body: PagingItemListJson of type Document

Request format:

POST /rooms/admin/documents/search

Authorization: Bearer <ssid>
Content-type: application/json

{
searchString: String,
roomIds: List(String),
roomGuids: List(String),
pageSize: Integer,
pageNumber: Integer,
folderPath: String,
folderId: Integer,
folderGuid: String,
documentOrder: ApiDocumentOrderVDR,
orderAscending: Boolean,
orderByTagName: String,
read: TrueFalseEither,
starred: TrueFalseEither,
adminMode: Boolean,
deviceType: DeviceType,
workspaceTypes: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
offset: Integer,
total: Integer,
items: List(Document )
}

searchDocumentsV30

For use in MyDox: Search for files in workspaces according to a search string. In order to search Tag fields you should use the following syntax in the query String: query = "tagName1: (value1 OR value2) tagName2: (value3) This query will fetch all files that have value1 or value2 for tagName 1 and also have value 3 for tagName 2) it's also possible to put OR between the two tagNames.

Version: 3.0
Synopsis: POST
Path: /rooms/documents/search
Request Body: SearchDocumentsVdr
Response Headers: N/A
Response Body: PagingItemListJson of type Document

Request format:

POST /rooms/documents/search

Authorization: Bearer <ssid>
Content-type: application/json

{
searchString: String,
roomIds: List(String),
roomGuids: List(String),
pageSize: Integer,
pageNumber: Integer,
folderPath: String,
folderId: Integer,
folderGuid: String,
documentOrder: ApiDocumentOrderVDR,
orderAscending: Boolean,
orderByTagName: String,
read: TrueFalseEither,
starred: TrueFalseEither,
adminMode: Boolean,
deviceType: DeviceType,
workspaceTypes: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
offset: Integer,
total: Integer,
items: List(Document )
}

sendBulkEmailV30

Sends bulk email notifications for a list of files to all permitted entities (users, groups etc) for each file. The emails are sent immediately.

Version: 3.0
Synopsis: POST
Path: /rooms/documents/emails/send
Request Body: SendEmailBulk
Response Headers: N/A
Response Body: N/A

Request format:

POST /rooms/documents/emails/send

Authorization: Bearer <ssid>
Content-type: application/json

{
subject: String,
note: String,
onBehalfOf: String,
guids: Set(String),
immediate: Boolean,
readConfirmation: Boolean
}

Response format:

HTTP/1.1 200 OK

String

sendEmailV30

Sends email to group of recipients with a message regarding a specific file in a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/{guid}/email/send
Request Body: SendEmail
Response Headers: N/A
Response Body: N/A

Path parameters:

guid: String - guid of the file.
roomId: String - room id of the workspace containing the file.

Request format:

POST /rooms/{roomId}/documents/{guid}/email/send

Authorization: Bearer <ssid>
Content-type: application/json

{
recipients: List(String),
subject: String,
note: String,
onBehalfOf: String,
readConfirmation: Boolean
}

Response format:

HTTP/1.1 200 OK

String

setSharepointProtectorV30

Sets protect anywhere policy for a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/protectAnywhere/set
Request Body: BulkWorkspaceProtectorSettings
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/protectAnywhere/set

Authorization: Bearer <ssid>
Content-type: application/json

{
workspaceProtectorSettingsJsons: Set(
{
roomGuid: String,
roomId: Integer,
enableProtector: Boolean,
templateName: ProtectAnywhereTemplateName,
enableDlpValidation: Boolean
})
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

setUpdateDataV30

Sets files update data.

Version: 3.0
Synopsis: POST
Path: /rooms/setUpdateData
Request Body: DocumentsUpdateDataSet
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/setUpdateData

Authorization: Bearer <ssid>
Content-type: application/json

{
documentsUpdateDatas: Set(
{
guid: String,
size: Long,
modifiedDate: Date
}),
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

submitDocumentIfNewV30

Submits a file to a room if the file is new (ie not a new version of an existing file). The submit action follows a file upload to a room, and sends, for example, email notifications to entities (users, groups etc).

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/submitIfNew
Request Body: SubmitDocumentVdr
Response Headers: N/A
Response Body: SubmitIfNew

Path parameters:

roomId: String.

Request format:

POST /rooms/{roomId}/documents/submitIfNew

Authorization: Bearer <ssid>
Content-type: application/json

{
documentGuid: String,
documentName: String,
recipients:
{
activeDirectoryGroupsGuids: Set(String),
groups: List(String),
domains: List(String),
users: Set(String),
everyone: Boolean
}),
isSendMail: Boolean,
mailSubject: String,
mailMessage: String,
folder: String,
folderId: Integer,
folderGuid: String,
openForAllRoom: Boolean,
sendToDefaultEntities: Boolean,
tagValueList:
{
freeTextValues: List(
{
tagName: String,
tagValue: String
}),
dateValues: List(
{
tagName: String,
tagValue: Date
}),
numericValues: List(
{
tagName: String,
tagValue: Number
})
}),
modifiedDate: Date,
deviceType: DeviceType,
readConfirmation: Boolean,
suggestNewNameWhenAlreadyExists: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
existingDocument:
{
documentGuid: String,
versionGuid: String,
permitted: Boolean,
suggestedName: String,
lockedForUser: Boolean
},
document:
{
id: Integer,
guid: String,
name: String,
convertedName: String,
sender: String,
filename: String,
url: String,
viewerUrl: String,
contentType: String,
room: String,
folder: String,
folderId: Integer,
folderUuid: String,
lastUpdated: Date,
creationDate: Date,
expires: Date,
accessLevel: DocumentAccessLevel,
secureTransferFile: Boolean,
recentlyViewed: Date,
pendingRequests: Integer,
previewUrl: String,
originalSize: Long,
status:
{
documentState: DocumentStatusForApi,
statusCode: Integer,
errorText: String
},
dlpStatus: String,
percentCompleted: Integer,
classification: String,
read: Boolean,
starred: Boolean,
permissionsJson:
{
accessLevel: Consts$AccessLevel,
downloadOriginal: Boolean,
download: Boolean,
copy: Boolean,
print: Boolean,
edit: Boolean,
spotlight: Boolean,
watermark: Boolean,
comment: Boolean,
expirationDate: Date,
defaultExpirationDays: Integer,
neverExpires: Boolean,
progAccess: Boolean,
pinRequired: Boolean,
minExpirationDate: Date,
latestChangeDate: Date,
originalComments: Boolean
},
tagList:
{
freeTextValues: List(
{
tagName: String,
tagValue: String
}),
dateValues: List(
{
tagName: String,
tagValue: Date
}),
numericValues: List(
{
tagName: String,
tagValue: Number
})
}),
downloadSize: long,
downloadPdfSize: long,
type: String,
documentName: String,
lastUpdateDate: Date,
score: Float,
pdfConversionStatus: PdfConversionStatus,
annotationsList:
{
annotationRecordJsons: Collection(
{
annotatingUserAddress: String,
annotationUpdateDate: Date
})
}),
externalRepositoryData:
{
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
documentExternalData:
{
id: String,
items: Set(
{
key: String,
value: String
})
})
}),
documentCurrentVersion:
{
currentVersionUuid: String,
currentDocVersionUpdateDate: Date
},
modifiedDate: Date,
openToAnyone: Boolean,
licenseHoursValid: Integer,
supportedFileType: Boolean,
numOfVersions: Integer,
rmsEnabled: Boolean,
fileHash: String,
cacheStatus: CacheDocumentStatus,
inheritsPerms: Boolean,
lockingUserAddress: String,
readyForDownloadOriginal: ReadyForDownloadOriginal,
workspaceType: String,
collaboration: Boolean,
editorUrl: String,
onlineEditorUrl: String,
lastVersionUploaderUserAddress: String,
starredDate: Date,
documentCommentCountJson:
{
commentCount: Integer,
commentMentionCount: Integer
},
workspaceUuid: String,
readConfirmation: Boolean,
foundInMetadata: Boolean,
foundInContent: Boolean,
originalReadAckState: Boolean,
readAcknowledged: Boolean
})
}

submitDocumentsV30

Submits files to a workspace. The submit action is requested after files have been uploaded to a workspace, to notify entities (users, groups etc)

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/submit
Request Body: SubmitDocumentsVdr
Response Headers: N/A
Response Body: ItemListJson of type SubmitDocumentResult

Path parameters:

roomId: String - the room id of the room (workspace) into which the files will be submitted.

Request format:

POST /rooms/{roomId}/documents/submit

Authorization: Bearer <ssid>
Content-type: application/json

{
documentGuids: Set(String),
recipients:
{
activeDirectoryGroupsGuids: Set(String),
groups: List(String),
domains: List(String),
users: Set(String),
everyone: Boolean
}),
isSendMail: Boolean,
mailSubject: String,
mailMessage: String,
folder: String,
folderId: Integer,
folderGuid: String,
openForAllRoom: Boolean,
sendToDefaultEntities: Boolean,
tagValueList:
{
freeTextValues: List(
{
tagName: String,
tagValue: String
}),
dateValues: List(
{
tagName: String,
tagValue: Date
}),
numericValues: List(
{
tagName: String,
tagValue: Number
})
}),
deviceType: DeviceType,
modifiedDate: Date,
readConfirmation: Boolean,
suggestNewNameWhenAlreadyExists: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(SubmitDocumentResult )
}

unlockDocumentsV30

Unlock files.

Version: 3.0
Synopsis: POST
Path: /rooms/documents/unlock
Request Body: UnlockDocumentsRequest
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/documents/unlock

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
documentUuids: Set(String),
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

uploadBlobV30

Uploads a file to a workspace and generates a new GUID for it.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/upload
Request Body: N/A
Response Headers: N/A
Response Body: Guid

Path parameters:

roomId: String - the room into which the file will be uploaded.

Data form parameters:

data: File - information about the file to be uploaded: filename folder.
data2: FormDataContentDisposition.
deviceType: DeviceType - device type.
documentName: String - document name.
fileName: String - file name.
start: Long - start.

Request format:

POST /rooms/{roomId}/documents/upload

Authorization: Bearer <ssid>
Content-type: multipart/form-data

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
guid: String
}

uploadDocumentBase64V30

Uploads a file to a workspace in base64.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/{documentGuid}/uploadBase64
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Path parameters:

documentGuid: String - the guid for the file.
roomId: String - the room into which the document will be uploaded.

Data form parameters:

data: InputStream - information about the file to be uploaded: filename folder.
data2: FormDataContentDisposition - used by https to copy files.
deviceType: DeviceType - device type.
documentName: String - name for the file.

Request format:

POST /rooms/{roomId}/documents/{documentGuid}/uploadBase64

Authorization: Bearer <ssid>
Content-type: multipart/form-data

Response format:

HTTP/1.1 200 OK

String

uploadDocumentByPostV30

Uploads a file to a workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/{documentGuid}/upload
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Path parameters:

documentGuid: String - the guid for the file.
roomId: String - the room into which the file will be uploaded.

Data form parameters:

data: File - information about the file to be uploaded: filename folder.
data2: FormDataContentDisposition - used by https to copy files.
deviceType: DeviceType - device type.
documentName: String - name for the file.
fileName: String - name of the file.
start: Long - the start to the specified uploadedInputStream.

Request format:

POST /rooms/{roomId}/documents/{documentGuid}/upload

Authorization: Bearer <ssid>
Content-type: multipart/form-data

Response format:

HTTP/1.1 200 OK

String

validateCreateFolderV30

Validates the parameters are ok for adding folder.

Version: 3.0
Synopsis: POST
Path: /rooms/folders/validate
Request Body: ValidateCreateFolder
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/folders/validate

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
folderPathOrId:
{
path: String,
folderId: Integer,
folderGuid: String
},
name: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

validateDocumentsToDownloadFromRecycleBinV30

Validates files to download from a Recycle bin.

Version: 3.0
Synopsis: POST
Path: /rooms/recycleBin/download/validateDownload
Request Body: ValidateDownloadWorkspaceDocumentsWithRecycleBin
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/recycleBin/download/validateDownload

Authorization: Bearer <ssid>
Content-type: application/json

{
roomId: Integer,
roomGuid: String,
documentsGuids: Set(String),
forceAction: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

validateDocumentsToDownloadV30

Validates the file versions for download from a list of files.

Version: 3.0
Synopsis: POST
Path: /rooms/documents/versions/validateDownload
Request Body: ValidateDownloadDocumentVersionInVdrs
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /rooms/documents/versions/validateDownload

Authorization: Bearer <ssid>
Content-type: application/json

{
documentGuid: String,
versionUuid: String,
downloadType: DownloadTypes,
forceAction: Boolean,
shouldInitiatePdfConversion: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}

validateDocumentsToDownloadV30

Validates a list of files for download from a specific workspace.

Version: 3.0
Synopsis: POST
Path: /rooms/{roomId}/documents/validateDownload
Request Body: ValidateDownloadDocumentsSelectionVdr
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

roomId: String - room id for workspace containing the files.

Request format:

POST /rooms/{roomId}/documents/validateDownload

Authorization: Bearer <ssid>
Content-type: application/json

{
folderPaths: Set(String),
folderIds: Set(Integer),
folderGuids: Set(String),
documentGuids: Set(String),
forceAction: Boolean,
shouldAggregateMessage: Boolean,
downloadType: DownloadTypes,
shouldInitiatePdfConversion: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
}