Index BlackBerry Workspaces SDK
BlackBerry Workspaces Resource
IManageWorkspaces
Functions for iManage workspace handling.
Function Summary
Name Path Version Description

addEntitiesV30

/3.0/imanage/workspace/entities/add

3.0

Adds permitted entities to an imanage workspace or documents in an imanage workspace.

addNotificationV30

/3.0/imanage/workspace/logAction

3.0

Adds a notification for a file action in the file's activity log file.

addTransientDocumentPermissionRequestV30

/3.0/imanage/workspace/documents/permissions/requests/add

3.0

Add a permission request for a document in a imanage workspace.

addTransientFolderPermissionRequestV30

/3.0/imanage/workspace/folder/permissions/requests/add

3.0

Add a permission request for an imanage workspace.

changeDefaultPermissionsBulkV30

/3.0/imanage/workspace/entities/permissions/change

3.0

Changes default permissions of a permitted entity in an imanage workspace.

checkForCredentialV30

/3.0/imanage/workspace/hasCredential

3.0

Check if the logged in user has a valid Imanage credential stored.

copyDocumentsFromRoomsToExchangeAsyncV30

/3.0/imanage/workspace/copy/exchange/async

3.0

Copies a imanage file to Microsoft Exchange.

createFolderV30

/3.0/imanage/workspace/folder/create

3.0

Creates a new imanage folder.

createIManageDocumentV30

/3.0/imanage/workspace/document/new/create

3.0

Create new empty document.

deleteDocumentsAndFoldersV30

/3.0/imanage/workspace/documents/delete

3.0

Deletes imanage folders and files.

deleteRoomV30

/3.0/imanage/workspace/delete

3.0

Delete iManage workspace.

documentUploadCompleteV30

/3.0/imanage/workspace/{roomId}/documents/{documentGuid}/upload/completed

3.0

Complete uploaded file.

downloadDocumentsFormV30

/3.0/imanage/workspace/download/documents.zip

3.0

Downloads a set of specified files or all files in a set of specified folders and files in a imanage workspace.

downloadOriginalV30

/3.0/imanage/workspace/{workspaceGuid}/download

3.0

Returns a single file.

downloadSingleDocumentForWebV30

/3.0/imanage/workspace/documents/downloadForWeb

3.0

Downloads a single file for web (additional info is returned).

downloadSingleDocumentForWebV30

/3.0/imanage/workspace/documents/downloadForWeb

3.0

Downloads a single file (for web).

downloadSingleDocumentV30

/3.0/imanage/workspace/documents/download

3.0

Downloads a single file.

editFoldersAndDocumentsSettingsBulkV30

/3.0/imanage/workspace/folders/documents/settings/edit

3.0

Edit file permissions in bulk.

exportActivityHistoryForRoomsV30

/3.0/imanage/workspace/activityHistory/csv/create

3.0

Returns a CSV file of workspace activity history for the given set of rooms.

exportActivityLogV30

/3.0/imanage/workspace/activityLog/csv/create

3.0

Gets activity log CSV for a file.

generateGuidV30

/3.0/imanage/workspace/guid/create

3.0

Creates file GUID for new or updated files.

generateGuidV30

/3.0/imanage/workspace/documents/guid/create

3.0

Creates file GUID for new file in a workspace context.

getActivityLogV30

/3.0/imanage/workspace/activityLog

3.0

Gets activity log for a file in IManage Workspace.

getActivityLogV30

/3.0/imanage/workspace/activityLog/csv/export

3.0

Gets activity log for a file in WD in CSV format.

getDocumentInfoV30

/3.0/imanage/workspace/document/info

3.0

Retrieves file info.

getFolderInfoV30

/3.0/imanage/workspace/folders/info/list

3.0

Gets single level info for a workspace or folder.

getIManagePathInfoV30

/3.0/imanage/workspace/path/info/list

3.0

Get info for a path.

getPermissionsForIOSV30

/3.0/imanage/workspace/documents/permissions/ios

3.0

Returns the iOS-targeted list of permissions for a file.

getValidIManagePathInfoListV30

/3.0/imanage/workspace/valid/path/info/list

3.0

Get info for a valid list paths.

getWorkspaceInfoV30

/3.0/imanage/workspace/workspace/info

3.0

Return info on the workspace.

initiateConversionV30

/3.0/imanage/workspace/conversion/initiate

3.0

inviteV30

/3.0/imanage/workspace/documents/invite

3.0

Invites groups or users to a specific file in a workspace.

inviteV30

/3.0/imanage/workspace/invite

3.0

listFoldersAndDocumentsV30

/3.0/imanage/workspace/folders/documents/list

3.0

Retrieves a list of iManage files and folders for a workspace or a folder.

listFoldersSingleLevelV30

/3.0/imanage/workspace/folders/list

3.0

Gets the tree of all folders.

listLastResolvedTransientDocumentPermissionRequestsV30

/3.0/imanage/workspace/documents/permissions/requests/listLastResolve

3.0

Retrieves a list of resolved document permission requests for all imanage workspaces.

listLastResolvedTransientFolderPermissionRequestsV30

/3.0/imanage/workspace/folder/permissions/requests/listLastResolve

3.0

Retrieves a list of resolved folder permission requests for all iManage workspaces.

listMattersV30

/3.0/imanage/workspace/matters/list

3.0

Retrieves a list of imanage top level matters and workspaces.

listOrganizationPolicyV30

/3.0/imanage/workspace/policy/document/list

3.0

Returns the organization policy for the given workspace.

listPermissionDetailsV30

/3.0/imanage/workspace/permissionDetails/list

3.0

List permission details for files and folders for all entities in the workspace.

listTransientDocumentsPermissionRequestsV30

/3.0/imanage/workspace/documents/permissions/requests/list

3.0

Lists existing document permission requests for all imanage workspaces.

listTransientFolderPermissionRequestsV30

/3.0/imanage/workspace/folder/permissions/requests/list

3.0

Lists existing folder permission requests for all imanage workspace.

markWorkspaceFavoriteV30

/3.0/imanage/workspace/markFavorite

3.0

Marks iManage Workspace(s) as starred or unstarred (favorite).

renameDocumentV30

/3.0/imanage/workspace/document/rename

3.0

Renames a file in an imanage workspace.

renameFolderV30

/3.0/imanage/workspace/folder/rename

3.0

Renames an imanage folder.

resolveActionForTransientDocumentPermissionRequestV30

/3.0/imanage/workspace/documents/permissions/requests/resolve

3.0

Applies a decision on a request.

resolveActionForTransientFolderPermissionRequestV30

/3.0/imanage/workspace/folder/permissions/requests/resolve

3.0

Applies a decision on an imanage workspace permission request.

saveTransientWorkspaceCredentialsV30

/3.0/imanage/workspace/credentials/save

3.0

Saves the credentials for a given workspace.

sendBulkEmailV30

/3.0/imanage/workspace/documents/emails/send

3.0

Sends emails to file users.

signInIManageWorkspaceV30

/3.0/imanage/workspace/signIn

3.0

Sign in to an imanange repository.

signOutIManageWorkspaceV30

/3.0/imanage/workspace/signOut

3.0

Sign out imanange repository.

submitDocumentIfNewV30

/3.0/imanage/workspace/{roomId}/documents/submitIfNew

3.0

Submits a new document version.

submitVersionV30

/3.0/imanage/workspace/documents/submitVersion

3.0

Submits a new file version.

uploadDocumentByPostV30

/3.0/imanage/workspace/{roomId}/documents/{documentGuid}/upload

3.0

Uploads new file data.

validateDocumentsToDownloadV30

/3.0/imanage/workspace/documents/validateDownload

3.0

Validates files for download.

Function Details

addEntitiesV30

Adds permitted entities to an imanage workspace or documents in an imanage workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/entities/add
Request Body: AddEntitiesIManage
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/entities/add

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

{
workspaceUuid: String,
documentItemIds: Set(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
}
})
}),
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
},
role: String,
access: Boolean,
includeAllSubItems: Boolean,
emailSubject: String,
emailMessage: String,
isSendMail: 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
}

addNotificationV30

Adds a notification for a file action in the file's activity log file.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/logAction
Request Body: CreateIManageActivityLogRecord
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/logAction

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

{
itemId: String,
workspaceGuid: String,
date: Date,
clientDate: Date,
type: LogActionType,
printerName: String,
application: String,
annotatingUsers: 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
}

addTransientDocumentPermissionRequestV30

Add a permission request for a document in a imanage workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/permissions/requests/add
Request Body: AddIManageDocumentPermissionRequest
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/documents/permissions/requests/add

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

{
workspaceUuid: String,
itemId: String,
message: String,
timeExtensionDate: Date,
requestType: PermissionRequestType,
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
}

addTransientFolderPermissionRequestV30

Add a permission request for an imanage workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folder/permissions/requests/add
Request Body: AddIManageFolderPermissionRequest
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/folder/permissions/requests/add

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

{
message: String,
workspaceGuid: 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
}

changeDefaultPermissionsBulkV30

Changes default permissions of a permitted entity in an imanage workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/entities/permissions/change
Request Body: ChangeEntitiesIManage
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/entities/permissions/change

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

{
workspaceUuid: String,
documentItemIds: Set(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
}),
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
}

checkForCredentialV30

Check if the logged in user has a valid Imanage credential stored.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/hasCredential
Request Body: CheckIManageCredential
Response Headers: N/A
Response Body: CheckIManageCredentialResult

Request format:

POST /3.0/imanage/workspace/hasCredential

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

{
externalRepositoryUuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
hasValidCredential: Boolean
}

copyDocumentsFromRoomsToExchangeAsyncV30

Copies a imanage file to Microsoft Exchange.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/copy/exchange/async
Request Body: CopyIManageDocumentToExchangeAsync
Response Headers: N/A
Response Body: IManageDocumentsTransactionResult

Request format:

POST /3.0/imanage/workspace/copy/exchange/async

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,
workspaceUuid: String,
itemId: String,
deviceType: DeviceType,
isCopyAnnotations: Boolean,
readConfirmation: Boolean,
isOpenToAnyone: Boolean,
isCollaboration: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
transactionUUID: String,
documentItemIds: Set(String),
workspaceUuid: String
}

createFolderV30

Creates a new imanage folder.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folder/create
Request Body: CreateIManageFolder
Response Headers: N/A
Response Body: IManageFolder

Request format:

POST /3.0/imanage/workspace/folder/create

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

{
workspaceGuid: String,
parentItemId: String,
name: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
isPermsInherited: Boolean,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
roomUUID: String,
parentItemId: String,
itemId: String,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderCapabilities: Set(WorkspaceCapabilityType ),
modifiedBy: String,
subFolders: List(IManageFolder )
}

createIManageDocumentV30

Create new empty document.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/document/new/create
Request Body: CreateNewIManageDocument
Response Headers: N/A
Response Body: SubmitIfNewIManageDocument

Request format:

POST /3.0/imanage/workspace/document/new/create

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

{
workspaceGuid: String,
documentName: String,
isSendMail: Boolean,
mailSubject: String,
mailMessage: String,
parentItemId: String,
openForAllRoom: Boolean,
modifiedDate: Date,
deviceType: DeviceType,
suggestNewNameWhenAlreadyExists: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
existingDocument:
{
documentGuid: String,
versionGuid: String,
permitted: Boolean,
suggestedName: String
},
document:
{
name: String,
convertedName: String,
sender: String,
filename: String,
url: String,
viewerUrl: String,
editorUrl: String,
contentType: String,
room: String,
folderId: Integer,
folderUuid: String,
lastUpdated: Date,
creationDate: Date,
accessLevel: DocumentAccessLevel,
secureTransferFile: Boolean,
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
})
}),
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,
readyForDownloadOriginal: ReadyForDownloadOriginal,
modifiedBy: String,
onlineEditorUrl: String,
starredDate: Date,
transientDocumentCommentCountJson:
{
commentCount: Integer,
commentMentionCount: Integer
},
workspaceUuid: String,
parentItemId: String,
itemId: String
})
}

deleteDocumentsAndFoldersV30

Deletes imanage folders and files.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/delete
Request Body: DeleteIManageDocumentsAndFolders
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/documents/delete

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

{
workspaceGuid: String,
documentItemIds: Set(String),
folderItemIds: 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
}

deleteRoomV30

Delete iManage workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/delete
Request Body: DeleteIManageWorkspace
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/delete

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

{
workspaceGuid: 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
}

documentUploadCompleteV30

Complete uploaded file.

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

Path parameters:

documentGuid: String - document guid.
roomId: String - room id.

Request format:

POST /3.0/imanage/workspace/{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
}

downloadDocumentsFormV30

Downloads a set of specified files or all files in a set of specified folders and files in a imanage workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/download/documents.zip
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Data form parameters:

documentItemIds: Set.
downloadType: String.
folderItemIds: Set.
wdUniqueDownloadKey: String.
workspaceUuid: String.

Request format:

POST /3.0/imanage/workspace/download/documents.zip

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

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadOriginalV30

Returns a single file.

Version: 3.0
Synopsis: GET
Path: /3.0/imanage/workspace/{workspaceGuid}/download
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Path parameters:

workspaceGuid: String - workspace guid.

Query parameters:

downloadType: String - download type. (optional, default: "ORIGINAL").
forceWatermarks: String - force water marks. (optional, default: "false").
itemId: String - imanage item id for the document.

Request format:

GET /3.0/imanage/workspace/{workspaceGuid}/download

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadSingleDocumentForWebV30

Downloads a single file for web (additional info is returned).

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/downloadForWeb
Request Body: DownloadSingleIManageDocument
Response Headers: N/A
Response Body: N/A

Request format:

POST /3.0/imanage/workspace/documents/downloadForWeb

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

{
itemId: String,
workspaceUuid: String,
downloadType: DownloadTypes,
forceWatermarks: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadSingleDocumentForWebV30

Downloads a single file (for web).

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/downloadForWeb
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Data form parameters:

downloadType: String.
forceWatermarks: boolean.
itemId: String.
wdUniqueDownloadKey: String.
workspaceUuid: String.

Request format:

POST /3.0/imanage/workspace/documents/downloadForWeb

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

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadSingleDocumentV30

Downloads a single file.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/download
Request Body: DownloadSingleIManageDocument
Response Headers: N/A
Response Body: N/A

Request format:

POST /3.0/imanage/workspace/documents/download

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

{
itemId: String,
workspaceUuid: String,
downloadType: DownloadTypes,
forceWatermarks: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

editFoldersAndDocumentsSettingsBulkV30

Edit file permissions in bulk.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folders/documents/settings/edit
Request Body: IManageEditFoldersAndDocumentsSettingsBulk
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/folders/documents/settings/edit

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

{
workspaceUuid: String,
documentItemIds: 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
}

exportActivityHistoryForRoomsV30

Returns a CSV file of workspace activity history for the given set of rooms.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/activityHistory/csv/create
Request Body: ExportActivityHistoryForTransientRooms
Response Headers: N/A
Response Body: N/A

Request format:

POST /3.0/imanage/workspace/activityHistory/csv/create

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

{
from: Date,
to: Date,
roomIds: Set(Integer),
roomGuids: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

exportActivityLogV30

Gets activity log CSV for a file.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/activityLog/csv/create
Request Body: GetIManageDocumentActivityLogRequest
Response Headers: N/A
Response Body: N/A

Request format:

POST /3.0/imanage/workspace/activityLog/csv/create

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

{
workspaceGuid: String,
itemId: String,
pageSize: Integer,
pageNumber: Integer,
lastActionPerUser: Boolean,
fromDate: Date,
toDate: Date
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

generateGuidV30

Creates file GUID for new or updated files.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/guid/create
Request Body: N/A
Response Headers: N/A
Response Body: Guid

Request format:

POST /3.0/imanage/workspace/guid/create

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
guid: String
}

generateGuidV30

Creates file GUID for new file in a workspace context.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/guid/create
Request Body: GenerateTransientDocumentGuid
Response Headers: N/A
Response Body: Guid

Request format:

POST /3.0/imanage/workspace/documents/guid/create

Authorization: Bearer <ssid>

{
workspaceGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
guid: String
}

getActivityLogV30

Gets activity log for a file in IManage Workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/activityLog
Request Body: GetIManageDocumentActivityLogRequest
Response Headers: N/A
Response Body: PagingItemListJson of type ActivityLogRecord

Request format:

POST /3.0/imanage/workspace/activityLog

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

{
workspaceGuid: String,
itemId: String,
pageSize: Integer,
pageNumber: Integer,
lastActionPerUser: Boolean,
fromDate: Date,
toDate: Date
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

getActivityLogV30

Gets activity log for a file in WD in CSV format.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/activityLog/csv/export
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Data form parameters:

documentItemId: String.
fromDate: String.
lastActionPerUser: boolean.
pageNumber: Integer.
pageSize: Integer.
toDate: String.
workspaceUuid: String.

Request format:

POST /3.0/imanage/workspace/activityLog/csv/export

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

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

getDocumentInfoV30

Retrieves file info.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/document/info
Request Body: IManageDocumentInfo
Response Headers: N/A
Response Body: IManageDocument

Request format:

POST /3.0/imanage/workspace/document/info

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

{
workspaceGuid: String,
itemId: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
name: String,
convertedName: String,
sender: String,
filename: String,
url: String,
viewerUrl: String,
editorUrl: String,
contentType: String,
room: String,
folderId: Integer,
folderUuid: String,
lastUpdated: Date,
creationDate: Date,
accessLevel: DocumentAccessLevel,
secureTransferFile: Boolean,
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
})
}),
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,
readyForDownloadOriginal: ReadyForDownloadOriginal,
modifiedBy: String,
onlineEditorUrl: String,
starredDate: Date,
transientDocumentCommentCountJson:
{
commentCount: Integer,
commentMentionCount: Integer
},
workspaceUuid: String,
parentItemId: String,
itemId: String
}

getFolderInfoV30

Gets single level info for a workspace or folder.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folders/info/list
Request Body: GetIManageFolderInfo
Response Headers: N/A
Response Body: IManageFolderInfoResult

Request format:

POST /3.0/imanage/workspace/folders/info/list

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

{
workspaceGuid: String,
folderItemId: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
id: Integer,
uuid: String,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
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
}),
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,
folderCapabilities: Set(WorkspaceCapabilityType ),
folderRole: String,
parentItemId: String,
itemId: String
}

getIManagePathInfoV30

Get info for a path.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/path/info/list
Request Body: GetIManagePathInfo
Response Headers: N/A
Response Body: TransientPathInfo

Request format:

POST /3.0/imanage/workspace/path/info/list

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

{
itemId: String,
workspaceUuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
isPermissionsInherited: Boolean,
permissions:
{
downloadOriginal: YesNoDefault,
downloadControlled: YesNoDefault,
copy: YesNoDefault,
print: YesNoDefault,
edit: YesNoDefault,
spotlight: YesNoDefault,
watermark: YesNoDefault,
expiration: ExpirationOptions,
expirationDate: Date,
programmaticAccess: YesNoDefault,
comment: YesNoDefault
},
pathCapabilities: Set(WorkspaceCapabilityType )
}

getPermissionsForIOSV30

Returns the iOS-targeted list of permissions for a file.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/permissions/ios
Request Body: GetIManageDocumentPermissionsForIos
Response Headers: N/A
Response Body: ItemListJson of type EntityPermission

Request format:

POST /3.0/imanage/workspace/documents/permissions/ios

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

{
workspaceGuid: String,
documentItemId: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

getValidIManagePathInfoListV30

Get info for a valid list paths.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/valid/path/info/list
Request Body: GetValidIManagePathInfoList
Response Headers: N/A
Response Body: PagingItemListJson

Request format:

POST /3.0/imanage/workspace/valid/path/info/list

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

{
validIManagePathInfoListJson: List(
{
workspaceUuid: String,
itemIds: List(String)
})
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

getWorkspaceInfoV30

Return info on the workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/workspace/info
Request Body: GetIManageWorkspaceInfo
Response Headers: N/A
Response Body: IManageWorkspaceInfo

Request format:

POST /3.0/imanage/workspace/workspace/info

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

{
workspaceGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
name: String
}

initiateConversionV30

Initiates conversion to PDF for a document

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/conversion/initiate
Request Body: IManageInitiateConversion
Response Headers: N/A
Response Body: TransientInitiateConversionResult

Request format:

POST /3.0/imanage/workspace/conversion/initiate

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

{
workspaceGuid: String,
itemId: String,
format: TransientInitiateConversionFileFormat
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
status: ConversionModuleStatus,
estimatedTimeForConversion: Integer,
guid: String
}

inviteV30

Invites groups or users to a specific file in a workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/invite
Request Body: IManageDocumentInvite
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/documents/invite

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

{
workspaceGuid: String,
documentItemId: String,
emailSubject: String,
emailMessage: String,
groupNames: Set(String),
additionalEmails: Set(String),
activeDirectoryGroupsGuids: 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
}

inviteV30

Invite groups and users to an imanage workspace or a folder

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/invite
Request Body: IManageInvite
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/invite

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

{
workspaceGuid: String,
folderItemId: String,
emailSubject: String,
emailMessage: String,
groupNames: Set(String),
additionalEmails: Set(String),
activeDirectoryGroupsGuids: 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
}

listFoldersAndDocumentsV30

Retrieves a list of iManage files and folders for a workspace or a folder. If the user doesn't have workspace level permissions, it returns all shared documents in the workspace in flat(no folder tree strutures)

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folders/documents/list
Request Body: ListIManageFoldersAndDocuments
Response Headers: N/A
Response Body: PagingItemListJson of type IManageDocument

Request format:

POST /3.0/imanage/workspace/folders/documents/list

Authorization: Bearer <ssid>

{
folderItemId: String,
workspaceGuid: String,
pageSize: Integer,
pageNumber: Integer,
apiDocumentOrderVDR: ApiDocumentOrderVDR,
orderAscending: Boolean,
includeSharedDocuments: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

listFoldersSingleLevelV30

Gets the tree of all folders.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folders/list
Request Body: ListIManageFolders
Response Headers: N/A
Response Body: ListIManageFoldersSingleLevelResult

Request format:

POST /3.0/imanage/workspace/folders/list

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

{
workspaceGuid: String,
itemId: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
isPermsInherited: Boolean,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
roomUUID: String,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderCapabilities: Set(WorkspaceCapabilityType ),
modifiedBy: String,
subFolders: List(ListIManageFoldersSingleLevelResult ),
itemId: String,
parentItemId: String
}

listLastResolvedTransientDocumentPermissionRequestsV30

Retrieves a list of resolved document permission requests for all imanage workspaces.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/permissions/requests/listLastResolve
Request Body: ListLastResolvedTransientDocumentPermissionRequests
Response Headers: N/A
Response Body: ItemListJson of type LastResolvedIManageDocumentPermissionRequestResult

Request format:

POST /3.0/imanage/workspace/documents/permissions/requests/listLastResolve

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

{
numberOfLastDaysToShowRequestsFrom: Integer
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{ }

listLastResolvedTransientFolderPermissionRequestsV30

Retrieves a list of resolved folder permission requests for all iManage workspaces.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folder/permissions/requests/listLastResolve
Request Body: ListLastResolvedTransientFolderPermissionRequests
Response Headers: N/A
Response Body: ItemListJson of type LastResolvedIManageFolderPermissionRequestResult

Request format:

POST /3.0/imanage/workspace/folder/permissions/requests/listLastResolve

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

{
numberOfLastDaysToShowRequestsFrom: Integer
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{ }

listMattersV30

Retrieves a list of imanage top level matters and workspaces.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/matters/list
Request Body: ListIManageMatters
Response Headers: N/A
Response Body: PagingItemListJson of type IManageMatter

Request format:

POST /3.0/imanage/workspace/matters/list

Authorization: Bearer <ssid>

{
externalRepositoryUuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

listOrganizationPolicyV30

Returns the organization policy for the given workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/policy/document/list
Request Body: ListTransientOrganizationPolicy
Response Headers: N/A
Response Body: OrganizationPolicy

Request format:

POST /3.0/imanage/workspace/policy/document/list

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

{
workspaceGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
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
}

listPermissionDetailsV30

List permission details for files and folders for all entities in the workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/permissionDetails/list
Request Body: ListIManagePermissionDetails
Response Headers: N/A
Response Body: PermissionDetails

Request format:

POST /3.0/imanage/workspace/permissionDetails/list

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

{
workspaceUuid: String,
folderItemIds: Set(String),
documentItemIds: Set(String),
permissionTemplateFilter: TemplatePermissionsFilter,
roomRoleFilter: String,
includeExpired: Boolean
}

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
})
}

listTransientDocumentsPermissionRequestsV30

Lists existing document permission requests for all imanage workspaces.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/permissions/requests/list
Request Body: ListTransientDocumentsPermissionRequests
Response Headers: N/A
Response Body: ItemListJson of type IManageDocumentPermissionRequestsResults

Request format:

POST /3.0/imanage/workspace/documents/permissions/requests/list

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

{
adminMode: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

listTransientFolderPermissionRequestsV30

Lists existing folder permission requests for all imanage workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folder/permissions/requests/list
Request Body: ListTransientFolderPermissionRequests
Response Headers: N/A
Response Body: ItemListJson of type IManageWorkspacePermissionRequestsResults

Request format:

POST /3.0/imanage/workspace/folder/permissions/requests/list

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

{
adminMode: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

markWorkspaceFavoriteV30

Marks iManage Workspace(s) as starred or unstarred (favorite).

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/markFavorite
Request Body: MarkIManageWorkspaceStarred
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/markFavorite

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

{
workspaceGuids: Set(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
}

renameDocumentV30

Renames a file in an imanage workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/document/rename
Request Body: RenameIManageDocument
Response Headers: N/A
Response Body: IManageDocument

Request format:

POST /3.0/imanage/workspace/document/rename

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

{
workspaceGuid: String,
itemId: String,
parentItemId: String,
newDocumentName: String,
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
name: String,
convertedName: String,
sender: String,
filename: String,
url: String,
viewerUrl: String,
editorUrl: String,
contentType: String,
room: String,
folderId: Integer,
folderUuid: String,
lastUpdated: Date,
creationDate: Date,
accessLevel: DocumentAccessLevel,
secureTransferFile: Boolean,
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
})
}),
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,
readyForDownloadOriginal: ReadyForDownloadOriginal,
modifiedBy: String,
onlineEditorUrl: String,
starredDate: Date,
transientDocumentCommentCountJson:
{
commentCount: Integer,
commentMentionCount: Integer
},
workspaceUuid: String,
parentItemId: String,
itemId: String
}

renameFolderV30

Renames an imanage folder.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folder/rename
Request Body: RenameIManageFolder
Response Headers: N/A
Response Body: RenameIManageFolderResult

Request format:

POST /3.0/imanage/workspace/folder/rename

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

{
workspaceGuid: String,
itemId: String,
parentItemId: String,
newFolderName: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
isPermsInherited: Boolean,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
roomUUID: String,
itemId: String,
parentItemId: String,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderCapabilities: Set(WorkspaceCapabilityType ),
modifiedBy: String,
subFolders: List(
{
isPermsInherited: Boolean,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
roomUUID: String,
parentItemId: String,
itemId: String,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderCapabilities: Set(WorkspaceCapabilityType ),
modifiedBy: String,
subFolders: List(IManageFolder )
})
}

resolveActionForTransientDocumentPermissionRequestV30

Applies a decision on a request.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/permissions/requests/resolve
Request Body: ResolveActionForIManageDocumentPermissionRequest
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/documents/permissions/requests/resolve

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

{
itemId: String,
requesters: Set(
{
requesterAddress: String,
requestType: PermissionRequestType
}),
action: PermissionRequestAdminAction,
groupAddressToBeApprovedBy: String,
sendEmail: Boolean,
messageToSend: String,
permissionTemplateToBeApprovedBy:
{
templateName: String,
waterMark: Boolean,
watermark: Boolean,
comment: Boolean,
expirationDate: Date
},
approveByAddingAsDirectUsers: Boolean,
approveBySendCopy: Boolean,
expirationDate: Date,
setNeverExpires: Boolean,
workspaceUuid: 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
}

resolveActionForTransientFolderPermissionRequestV30

Applies a decision on an imanage workspace permission request.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/folder/permissions/requests/resolve
Request Body: ResolveActionForIManageFolderPermissionRequest
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/folder/permissions/requests/resolve

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

{
requesters: Set(
{
requesterAddress: String,
requestType: PermissionRequestType
}),
workspaceGuid: 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
}

saveTransientWorkspaceCredentialsV30

Saves the credentials for a given workspace.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/credentials/save
Request Body: SaveTransientWorkspaceCredentials
Response Headers: N/A
Response Body: TransientFolder

Request format:

POST /3.0/imanage/workspace/credentials/save

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

{
workspaceGuid: String,
userName: String,
password: String,
domain: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
isPermsInherited: Boolean,
name: String,
updateDate: Date,
hasSubfolders: Boolean,
roomUUID: String,
room: String,
parentFullPath: String,
fullPath: String,
fullPathDisplay: String,
sharedFolderId: String,
email: String,
timeInvited: Date,
externalIdentifier:
{
externalRepository: ExternalRepositoryShowValue,
externalId: String,
externalRepositoryUuid: String,
externalRepositoryName: String
},
folderCapabilities: Set(WorkspaceCapabilityType ),
modifiedBy: String,
subFolders: List(TransientFolder )
}

sendBulkEmailV30

Sends emails to file users.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/emails/send
Request Body: SendEmailsToIManageDocuments
Response Headers: N/A
Response Body: N/A

Request format:

POST /3.0/imanage/workspace/documents/emails/send

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

{
subject: String,
note: String,
onBehalfOf: String,
documentItemIds: Set(String),
workspaceGuid: String
}

Response format:

HTTP/1.1 200 OK

String

signInIManageWorkspaceV30

Sign in to an imanange repository. It validates the credential and create/update imanage credential.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/signIn
Request Body: CreateiManageWorkspaceCredentials
Response Headers: N/A
Response Body: SignInIManageResult

Request format:

POST /3.0/imanage/workspace/signIn

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

{
externalRepositoryUuid: String,
userName: String,
password: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
fullSuccess: Boolean
}

signOutIManageWorkspaceV30

Sign out imanange repository. It deletes all imanage workspaces owned by the user and deletes the credential for the user.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/signOut
Request Body: CheckIManageCredential
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/signOut

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

{
externalRepositoryUuid: 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
}

submitDocumentIfNewV30

Submits a new document version.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/{roomId}/documents/submitIfNew
Request Body: SubmitIManageDocumentVdr
Response Headers: N/A
Response Body: SubmitIfNewIManageDocument

Path parameters:

roomId: String.

Request format:

POST /3.0/imanage/workspace/{roomId}/documents/submitIfNew

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

{
documentGuid: String,
documentName: String,
isSendMail: Boolean,
mailSubject: String,
mailMessage: String,
parentItemId: String,
openForAllRoom: Boolean,
modifiedDate: Date,
deviceType: DeviceType,
sendToDefaultEntities: Boolean,
recipients:
{
activeDirectoryGroupsGuids: Set(String),
groups: List(String),
domains: List(String),
users: Set(String),
everyone: Boolean
}),
suggestNewNameWhenAlreadyExists: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
existingDocument:
{
documentGuid: String,
versionGuid: String,
permitted: Boolean,
suggestedName: String
},
document:
{
name: String,
convertedName: String,
sender: String,
filename: String,
url: String,
viewerUrl: String,
editorUrl: String,
contentType: String,
room: String,
folderId: Integer,
folderUuid: String,
lastUpdated: Date,
creationDate: Date,
accessLevel: DocumentAccessLevel,
secureTransferFile: Boolean,
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
})
}),
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,
readyForDownloadOriginal: ReadyForDownloadOriginal,
modifiedBy: String,
onlineEditorUrl: String,
starredDate: Date,
transientDocumentCommentCountJson:
{
commentCount: Integer,
commentMentionCount: Integer
},
workspaceUuid: String,
parentItemId: String,
itemId: String
})
}

submitVersionV30

Submits a new file version.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/submitVersion
Request Body: SubmitIManageVersionVdr
Response Headers: N/A
Response Body: SubmitIManageDocumentResult

Request format:

POST /3.0/imanage/workspace/documents/submitVersion

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

{
workspaceGuid: String,
docGuid: String,
isSendMail: Boolean,
mailSubject: String,
mailMessage: String,
deviceType: DeviceType,
documentName: String,
modifiedDate: Date,
suggestNewNameWhenAlreadyExists: Boolean,
showInformativeVersionGuidOutOfDateError: Boolean,
itemId: String,
parentItemId: String
}

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,
lastUpdated: Date,
creationDate: Date,
accessLevel: DocumentAccessLevel,
secureTransferFile: Boolean,
pendingRequests: Integer,
previewUrl: String,
originalSize: Long,
status:
{
documentState: DocumentStatusForApi,
statusCode: Integer,
errorText: 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
})
}),
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,
existingDocument:
{
documentGuid: String,
versionGuid: String,
permitted: Boolean,
suggestedName: String,
lockedForUser: Boolean
},
path: String,
itemId: String,
parentItemId: String
}

uploadDocumentByPostV30

Uploads new file data.

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

Path parameters:

documentGuid: String - document guid.
roomId: String - room id.

Data form parameters:

data: File - file data.
data2: FormDataContentDisposition.
deviceType: DeviceType - device type.
documentName: String - document name.
fileName: String - file name.
start: Long - start.

Request format:

POST /3.0/imanage/workspace/{roomId}/documents/{documentGuid}/upload

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

Response format:

HTTP/1.1 200 OK

String

validateDocumentsToDownloadV30

Validates files for download.

Version: 3.0
Synopsis: POST
Path: /3.0/imanage/workspace/documents/validateDownload
Request Body: ValidateDownloadIManageDocuments
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /3.0/imanage/workspace/documents/validateDownload

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

{
forceAction: Boolean,
shouldAggregateMessage: Boolean,
downloadType: DownloadTypes,
workspaceGuid: String,
documentItemIds: Set(String),
folderItemIds: 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
}