Index BlackBerry Workspaces SDK
BlackBerry Workspaces Resource
Documents
Functions for sending secure files via BlackBerry Workspaces.
Function Summary
Name Path Version Description

addDocumentPermissionRequestV30

/documents/permissions/requests/add

3.0

Adds a new permission request.

addPermissionsV30

/documents/permissions/add

3.0

Adds permissions to entities (users, groups) for a file or a list of files.

addRecipientsV30

/documents/recipients/add

3.0

Adds recipients to files.

copyDocumentsFromInboxV30

/documents/copy

3.0

Submits files in the WD Exchange.

copyMultipleDocumentsToExchangeV30

/documents/copy/multiple/exchange/async

3.0

deleteDocumentsV30

/documents/delete

3.0

Deletes files from the WD Exchange server.

documentReadConfirmedV30

/documents/read/confirmed

3.0

documentUploadCompleteV30

/documents/{documentGuid}/upload/completed

3.0

Completes the already uploaded by chunks file.

documentsReadConfirmationEditV30

/documents/read/confirmation/edit

3.0

downloadGenericDocumentsV30

/documents/download/zip

3.0

Downloads generic files.

downloadOriginalForWebV30

/documents/{guid}/download/originalForWeb

3.0

Downloads the original (un-protected) version of the file.

downloadOriginalV30

/documents/{guid}/download/original

3.0

Downloads the original (un-protected) version of the file.

downloadProtectedForWebV30

/documents/{guid}/downloadForWeb

3.0

Downloads a protected file.

downloadProtectedV30

/documents/{guid}/download

3.0

Downloads a protected file.

downloadSentItemsWithRecycleBinV30

/documents/recycleBin/download/zip

3.0

Downloads sent items of a user with it's recycle bin.

downloadSentItemsWithRecycleBinV30

/documents/recycleBin/download/form/zip

3.0

Downloads sent items of a user with it's recycle bin.

downloadSingleDocumentV30

/documents/download

3.0

Downloads a single file.

editCollaborationV30

/documents/collaboration/edit

3.0

Edits collaboration of files.

editPermissionsV30

/documents/permissions/edit

3.0

Edits permissions of a file in the WD Exchange.

generateGuidV30

/documents/create

3.0

Generates a new GUID for a new file that is about to be uploaded.

getActivityLogV30

/documents/activityLog

3.0

Gets activity log for a file in WD.

getDocumentChunksStatusV30

/documents/{guid}/chunks

3.0

Gets file uploaded chunks status using GUID.

getDocumentConversionStatusV30

/documents/{guid}/conversion/status

3.0

Gets file conversion status using GUID.

getDocumentLinkInfoV30

/documents/doclink/info

3.0

Gets information on encrypted doc link.

getDocumentsActivityLogV30

/documents/activityLog/list

3.0

Gets activity log for files in WD.

getDocumentsConversionStatusV30

/documents/conversion/status

3.0

Gets file Conversion status.

getDocumentsInfoV30

/documents/info/list

3.0

Returns a list of info of all the files that are specified and the current user is permitted to view .

getDownloadPrepareDocumentStatusV30

/documents/download/prepare/status

3.0

Gets download file chunk status.

getInfoUnauthV30

/documents/unauth

3.0

Get information about an unauthorized document.

getInfoV30

/documents/{guid}

3.0

Gets information about the uploaded file.

getLastDocsWithActivityV30

/documents/last/list

3.0

Gets last document the user had activity with.

getPdfOnDemandTimeEstimationV30

/documents/{guid}/onDemand/pdf/timeEstimation

3.0

Gets Time estimation for completion of PDF conversion task using GUID.

getPdfOnDemandTimeEstimationV30

/documents/onDemand/pdf/timeEstimation

3.0

Gets Time estimation for completion of PDF conversion task.

getPermissionsV30

/documents/{guid}/permissions

3.0

Returns a list of a file's current recipients and their permissions for the file.

getTransactionStatusV30

/documents/transaction/status

3.0

Gets file transaction status.

getValidDocumentsInfoV30

/documents/info/valid/list

3.0

Returns a list of info of all the valid files that are specified and the current user is permitted to view .

getViewerInfoUnauthV30

/documents/unauth/info

3.0

Get viewer information about an unauthorized document.

listDocumentsPermissionRequestsV30

/documents/permissions/requests/list

3.0

Lists existing permission requests for a file.

listDocumentsVersionsReadConfirmedV30

/documents/read/confirmation/list

3.0

listExchangesRecycleBinDocumentsV30

/documents/recycleBin/list

3.0

Lists files in the Sent items recycle bin/Inbox hidden files.

listLastResolvedDocumentPermissionRequestsV30

/documents/permissions/requests/listLastResolve

3.0

Lists last resolved permission requests on files in workspaces and in Sent items.

listRecipientsV30

/documents/recipients/list

3.0

Lists recipients for a file.

listV30

/documents

3.0

Returns a list of all the files that the current user is permitted to view (and are not part of a workspace).

markV30

/documents/mark

3.0

Marks a set of files for a specific operation (e.

renameDocumentV30

/documents/{guid}/rename

3.0

Renames a file in the Sent items.

resolveActionForDocumentPermissionRequestV30

/documents/permissions/requests/resolve

3.0

Applies a decision on a request.

restoreExchangesRecycleBinDocumentsV30

/documents/recycleBin/restore

3.0

Restores files from the Sent items Recycle bin to their original folders.

revokePermissionsV30

/documents/permissions/revoke

3.0

Revokes all permissions for entities (users, groups, lists) for files in Sent items.

searchDocumentsV30

/documents/search

3.0

Searches for a file in the Inbox/Sent items by name or string.

sendEmailV30

/documents/{guid}/email

3.0

Sends an email to recipients for a file.

submitDocumentsV30

/documents/submit

3.0

Submits files in Inbox/Sent items.

updateDocumentV30

/documents/{guid}/update

3.0

Updates the file on the server with a new version.

upgradePdfRequestToOnDemandV30

/documents/{guid}/onDemand/pdf

3.0

Sets a request for PDF on demand using GUID.

upgradePdfRequestToOnDemandV30

/documents/onDemand/pdf

3.0

Sets a request for PDF on demand.

upgradePdfRequestToOnDemandV30

/documents/unauth/conversion/onDemand/pdf

3.0

Upgrade PDF request to on demand.

uploadDocumentBase64V30

/documents/{guid}/uploadBase64

3.0

Uploads a file to Sent items in base64 format.

uploadDocumentByPostV30

/documents/{guid}/upload

3.0

Uploads to Sent items in base64 format.

validateDocumentsToDownloadV30

/documents/download/validateDownload

3.0

Validates a list of files prior to requesting the download.

validateDownloadSentItemsWithRecycleBinV30

/documents/recycleBin/download/validateDownload

3.0

Validates sent items download of a user with it's recycle bin.

Function Details

addDocumentPermissionRequestV30

Adds a new permission request.

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

Request format:

POST /documents/permissions/requests/add

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

{
docUUID: String,
message: String,
timeExtensionDate: Date,
requestType: PermissionRequestTypeExternalInterface,
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
}

addPermissionsV30

Adds permissions to entities (users, groups) for a file or a list of files.

Version: 3.0
Synopsis: POST
Path: /documents/permissions/add
Request Body: SdsAddPermissions
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/permissions/add

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

{
recipients: 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),
documentFilter: ApiDocumentFilter,
whoCanView: WhoCanView,
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
}

addRecipientsV30

Adds recipients to files.

Version: 3.0
Synopsis: POST
Path: /documents/recipients/add
Request Body: SdsAddRecipients
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/recipients/add

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

{
recipients: List(
{
address: String,
entityType: EntityType
}),
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
}

copyDocumentsFromInboxV30

Submits files in the WD Exchange. This submits inbox files to recipients within SDS the files will be copied from the inbox, that is a new copy separate from the original file

Version: 3.0
Synopsis: POST
Path: /documents/copy
Request Body: CopyDocumentFromInbox
Response Headers: N/A
Response Body: Document

Request format:

POST /documents/copy

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
}

copyMultipleDocumentsToExchangeV30

Version: 3.0
Synopsis: POST
Path: /documents/copy/multiple/exchange/async
Request Body: CopyMultipleDocumentsToExchangeAsync
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/copy/multiple/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,
listDocumentIdentifiersJson: Set(
{
documentUuid: String,
pathInfoJson:
{
path: String,
workspaceUuid: String
},
imanageInfoJson:
{
itemId: String,
workspaceUuid: String
}
}),
deviceType: DeviceType,
isCopyAnnotations: Boolean,
isOpenToAnyone: Boolean,
isCollaboration: Boolean,
readConfirmation: 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
}

deleteDocumentsV30

Deletes files from the WD Exchange server.

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

Request format:

POST /documents/delete

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

{
message: String,
isPermanent: Boolean,
deviceType: DeviceType,
documentFilter: ApiDocumentFilter,
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
}

documentReadConfirmedV30

the user is updated that he had read the document

Version: 3.0
Synopsis: POST
Path: /documents/read/confirmed
Request Body: DocumentVersionReadConfirmed
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/read/confirmed

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

{
documentUuid: String,
versionUuid: 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

Completes the already uploaded by chunks file.

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

Path parameters:

documentGuid: String - The file's guid.

Request format:

POST /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
}

documentsReadConfirmationEditV30

set the read confirmation flag for folders

Version: 3.0
Synopsis: POST
Path: /documents/read/confirmation/edit
Request Body: DocumentsReadConfirmationEdit
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/read/confirmation/edit

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

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

downloadGenericDocumentsV30

Downloads generic files. THe files are downloaded into zip file.

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

Request format:

POST /documents/download/zip

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

{
downloadType: DownloadTypes,
documentFilter: ApiDocumentFilter,
documentGuids: Set(String),
forceAction: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadOriginalForWebV30

Downloads the original (un-protected) version of the file. May only be done if user is permitted to access original files (file owner always has this right)

Version: 3.0
Synopsis: GET
Path: /documents/{guid}/download/originalForWeb
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Path parameters:

guid: String - The guid of the file to be downloaded.

Request format:

GET /documents/{guid}/download/originalForWeb

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadOriginalV30

Downloads the original (un-protected) version of the file. May only be done if user is permitted to access original files (file owner always has this right)

Version: 3.0
Synopsis: GET
Path: /documents/{guid}/download/original
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Path parameters:

guid: String - The guid of the file to be downloaded.

Request format:

GET /documents/{guid}/download/original

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadProtectedForWebV30

Downloads a protected file.

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

Path parameters:

guid: String - The guid of the file to be downloaded.

Request format:

GET /documents/{guid}/downloadForWeb

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadProtectedV30

Downloads a protected file.

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

Path parameters:

guid: String - The guid of the file to be downloaded.

Request format:

GET /documents/{guid}/download

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadSentItemsWithRecycleBinV30

Downloads sent items of a user with it's recycle bin.

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

Request format:

POST /documents/recycleBin/download/zip

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

{
userAddress: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

downloadSentItemsWithRecycleBinV30

Downloads sent items of a user with it's recycle bin.

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

Data form parameters:

userAddress: String - Email address of the user.

Request format:

POST /documents/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

downloadSingleDocumentV30

Downloads a single file.

Version: 3.0
Synopsis: POST
Path: /documents/download
Request Body: DownloadSingleDocumentSelection
Response Headers: N/A
Response Body: N/A

Request format:

POST /documents/download

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

{
documentGuid: String,
versionUuid: String,
downloadType: DownloadTypes,
forceWatermarks: Boolean,
blockCipherMode: BlockCipherMode
}

Response format:

HTTP/1.1 200 OK

Content-type: application/octet-stream

InputStream

editCollaborationV30

Edits collaboration of files.

Version: 3.0
Synopsis: POST
Path: /documents/collaboration/edit
Request Body: EditCollaboration
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/collaboration/edit

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

{
documentGuids: Set(String),
documentFilter: ApiDocumentFilter,
isCollaboration: 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

Edits permissions of a file in the WD Exchange.

Version: 3.0
Synopsis: POST
Path: /documents/permissions/edit
Request Body: SdsEditPermissions
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/permissions/edit

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

{
permittedEntities: List(
{
address: String,
entityType: EntityType
}),
editAllEntities: Boolean,
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),
documentFilter: ApiDocumentFilter
}

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

Generates a new GUID for a new file that is about to be uploaded.

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

Request format:

POST /documents/create

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
guid: String
}

getActivityLogV30

Gets activity log for a file in WD.

Version: 3.0
Synopsis: POST
Path: /documents/activityLog
Request Body: GetDocumentActivityLogRequest
Response Headers: N/A
Response Body: PagingItemListJson of type ActivityLogRecord

Request format:

POST /documents/activityLog

Authorization: Bearer <ssid>

{
documentGuid: 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 )
}

getDocumentChunksStatusV30

Gets file uploaded chunks status using GUID.

Version: 3.0
Synopsis: POST
Path: /documents/{guid}/chunks
Request Body: N/A
Response Headers: N/A
Response Body: DocumentChunks

Path parameters:

guid: String - Guid of file to get status of.

Request format:

POST /documents/{guid}/chunks

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
chunks: List(
{
size: long,
start: long,
hash: String
})
}

getDocumentConversionStatusV30

Gets file conversion status using GUID.

Version: 3.0
Synopsis: POST
Path: /documents/{guid}/conversion/status
Request Body: N/A
Response Headers: N/A
Response Body: DocumentConversionStatus

Path parameters:

guid: String - Guid of the file to get status of.

Request format:

POST /documents/{guid}/conversion/status

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
pdfOnDemandRequested: Boolean,
pdfStatus: ConversionModuleStatus,
estimatedTimeForPdfConversion: Integer
}

getDocumentLinkInfoV30

Gets information on encrypted doc link.

Version: 3.0
Synopsis: POST
Path: /documents/doclink/info
Request Body: GetDocumentLinkInfoRequest
Response Headers: N/A
Response Body: DocumentLinkInfoResult

Request format:

POST /documents/doclink/info

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

{
encryptedInfo: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
documentUUID: String,
versionUUID: String,
annotatingUserAddress: String,
roomId: Integer,
documentRecipient: String,
requestPermissionFrom: String
}

getDocumentsActivityLogV30

Gets activity log for files in WD.

Version: 3.0
Synopsis: POST
Path: /documents/activityLog/list
Request Body: GetDocumentsActivityLogRequest
Response Headers: N/A
Response Body: PagingItemListJson of type ActivityLogRecord

Request format:

POST /documents/activityLog/list

Authorization: Bearer <ssid>

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

getDocumentsConversionStatusV30

Gets file Conversion status.

Version: 3.0
Synopsis: POST
Path: /documents/conversion/status
Request Body: GetDocumentsConversionStatus
Response Headers: N/A
Response Body: ItemListJson of type DocumentConversionStatus

Request format:

POST /documents/conversion/status

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

{
guids: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

getDocumentsInfoV30

Returns a list of info of all the files that are specified and the current user is permitted to view .

Version: 3.0
Synopsis: POST
Path: /documents/info/list
Request Body: GetDocumentsGuidsInfo
Response Headers: N/A
Response Body: PagingItemListJson of type Document

Request format:

POST /documents/info/list

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

{
documentGuids: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

getDownloadPrepareDocumentStatusV30

Gets download file chunk status.

Version: 3.0
Synopsis: POST
Path: /documents/download/prepare/status
Request Body: DownloadPrepareDocumentStatusInput
Response Headers: N/A
Response Body: DownloadPrepareDocumentStatusOutput

Request format:

POST /documents/download/prepare/status

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

{
documentUuid: String,
versionUuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
prepareChunkedDataStatus: String,
size: Long
}

getInfoUnauthV30

Get information about an unauthorized document.

Version: 3.0
Synopsis: POST
Path: /documents/unauth
Request Body: UnauthDocument
Response Headers: N/A
Response Body: GetInfoUnauthDocumentResult

Request format:

POST /documents/unauth

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

{
documentGuid: String,
versionGuid: String,
encryptedUrlContent: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
guid: String,
name: String,
sender: String,
annotatingUser: String,
contentType: String,
lastUpdated: Date,
creationDate: Date,
originalSize: Long,
documentCurrentVersion:
{
currentVersionUuid: String,
currentDocVersionUpdateDate: Date
},
modifiedDate: Date,
viewerUrl: String,
isSimplyShared: Boolean,
deleteDate: Date,
onlineEditorUrl: String,
editorUrl: String
}

getInfoV30

Gets information about the uploaded file.

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

Path parameters:

guid: String - The file guid to get the information about.

Query parameters:

fetchEvenIfDeleted: boolean - True to retrieve deleted document info. (optional, default: false).
markAsExplicit: boolean - True to mark this as explicit, false otherwise. (optional, default: false).

Request format:

GET /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
}

getLastDocsWithActivityV30

Gets last document the user had activity with.

Version: 3.0
Synopsis: POST
Path: /documents/last/list
Request Body: N/A
Response Headers: N/A
Response Body: LastDocsWithActivity

Request format:

POST /documents/last/list

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

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
total: Integer,
items: List(
{
isTransient: Boolean,
transientError: String,
transientErrorCode: Integer,
documentJson:
{
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
}),
transientDocumentJson:
{
path: String,
name: String,
convertedName: String,
sender: String,
filename: String,
url: String,
viewerUrl: String,
editorUrl: String,
contentType: String,
room: String,
folder: String,
folderDisplay: String,
folderId: Integer,
folderUuid: String,
lastUpdated: Date,
creationDate: Date,
expires: 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
})
}),
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,
readyForDownloadOriginal: ReadyForDownloadOriginal,
modifiedBy: String,
onlineEditorUrl: String,
starredDate: Date,
transientDocumentCommentCountJson:
{
commentCount: Integer,
commentMentionCount: Integer
},
workspaceUuid: String
}),
imanageDocumentJson:
{
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
}),
lastActionDate: Date,
actionType: ActionLogToShow
})
}

getPdfOnDemandTimeEstimationV30

Gets Time estimation for completion of PDF conversion task using GUID.

Version: 3.0
Synopsis: POST
Path: /documents/{guid}/onDemand/pdf/timeEstimation
Request Body: N/A
Response Headers: N/A
Response Body: TimeEstimation

Path parameters:

guid: String - Guid of file to check on.

Request format:

POST /documents/{guid}/onDemand/pdf/timeEstimation

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
secondsLeft: Integer
}

getPdfOnDemandTimeEstimationV30

Gets Time estimation for completion of PDF conversion task.

Version: 3.0
Synopsis: POST
Path: /documents/onDemand/pdf/timeEstimation
Request Body: OnDemandRequest
Response Headers: N/A
Response Body: TimeEstimation

Request format:

POST /documents/onDemand/pdf/timeEstimation

Authorization: Bearer <ssid>

{
documentUuid: String,
versionUuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
secondsLeft: Integer
}

getPermissionsV30

Returns a list of a file's current recipients and their permissions for the file.

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

Path parameters:

guid: String - The guid for the file.

Request format:

GET /documents/{guid}/permissions

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

getTransactionStatusV30

Gets file transaction status.

Version: 3.0
Synopsis: POST
Path: /documents/transaction/status
Request Body: TransactionInput
Response Headers: N/A
Response Body: TransactionStatus

Request format:

POST /documents/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,
resJson:
{
problematicItems: List(
{
itemId: String,
errors: List(
{
errorCode: Integer,
isAggregatedMessage: Boolean,
errorArgs: List(String),
errorMessage: String
})
}),
fullSuccess: Boolean,
success: SuccessLevel,
transactionUuid: String
})
}

getValidDocumentsInfoV30

Returns a list of info of all the valid files that are specified and the current user is permitted to view .

Version: 3.0
Synopsis: POST
Path: /documents/info/valid/list
Request Body: GetValidDocumentsGuidsInfo
Response Headers: N/A
Response Body: PagingItemListJson of type Document

Request format:

POST /documents/info/valid/list

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

{
documentGuids: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

getViewerInfoUnauthV30

Get viewer information about an unauthorized document.

Version: 3.0
Synopsis: POST
Path: /documents/unauth/info
Request Body: DocumentAndVersion
Response Headers: N/A
Response Body: UnauthDocumentInfo

Request format:

POST /documents/unauth/info

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

{
documentGuid: String,
versionGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
canCopy: Boolean,
canPrint: Boolean,
canForward: Boolean,
canDownloadOriginal: Boolean,
spotlight: Boolean,
noCurtain: Boolean,
preview: Boolean,
layoutMode: String,
sealedDocURL: String,
downloadOriginalURL: String,
logoPath: String,
infoTextHtml: String,
noPdfPrinters: Boolean,
showDownloadForPrinting: Boolean,
javaPrintingUrl: String,
topWaterMark:
{
color: Integer,
fontSize: Integer,
opacity: Float,
position: String,
verticalOffset: Integer,
line1: String,
line2: String,
line3: String,
line4: String
},
middleWaterMark:
{
color: Integer,
fontSize: Integer,
opacity: Float,
position: String,
verticalOffset: Integer,
line1: String,
line2: String,
line3: String,
line4: String
},
bottomWaterMark:
{
color: Integer,
fontSize: Integer,
opacity: Float,
position: String,
verticalOffset: Integer,
line1: String,
line2: String,
line3: String,
line4: String
},
curtainUpperMessage: String,
curtainLowerFirstMessage: String,
curtainLowerSecondMessage: String,
nextButton: String,
signature: String,
isSimplyShared: Boolean,
viewerKey: String
}

listDocumentsPermissionRequestsV30

Lists existing permission requests for a file.

Version: 3.0
Synopsis: POST
Path: /documents/permissions/requests/list
Request Body: ListDocumentsPermissionRequests
Response Headers: N/A
Response Body: ItemListJson of type DocumentPermissionRequestsResults

Request format:

POST /documents/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(DocumentPermissionRequestsResults )
}

listDocumentsVersionsReadConfirmedV30

list the document versions read by specific user

Version: 3.0
Synopsis: POST
Path: /documents/read/confirmation/list
Request Body: ListVersionsReadConfirmation
Response Headers: N/A
Response Body: ListVersionsReadConfirmationRet

Request format:

POST /documents/read/confirmation/list

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

{
versionUuids: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

{
readConfirmed: Set(String),
wereNotReadConfirmed: Set(String)
}

listExchangesRecycleBinDocumentsV30

Lists files in the Sent items recycle bin/Inbox hidden files. These are files that have been deleted from the exchange but not permanently deleted from the recycle bin. files in the recycle bin can be restored to their original folders in the exchange.

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

Request format:

POST /documents/recycleBin/list

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

{
pagination:
{
pageSize: Integer,
pageNumber: Integer
},
ascending: Boolean,
orderBy: RecycleBinExchangeDocumentsOrder
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

listLastResolvedDocumentPermissionRequestsV30

Lists last resolved permission requests on files in workspaces and in Sent items.

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

Request format:

POST /documents/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(LastResolvedDocumentPermissionRequestResult )
}

listRecipientsV30

Lists recipients for a file.

Version: 3.0
Synopsis: POST
Path: /documents/recipients/list
Request Body: SdsGetRecipients
Response Headers: N/A
Response Body: ItemListJson of type User

Request format:

POST /documents/recipients/list

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

{
documentGuid: String
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

listV30

Returns a list of all the files that the current user is permitted to view (and are not part of a workspace).

Version: 3.0
Synopsis: GET
Path: /documents
Request Body: N/A
Response Headers: N/A
Response Body: PagingItemListJson of type Document

Query parameters:

filter: ApiDocumentFilter - Define a sub-set of the files to be returned. Possible values: [ALL, ABOUT_TO_EXPIRE, RECENTLY_VIEWED, VALID_ONLY, SHARED_BY_ME, HIDDEN, RECENTLY_MODIFIED, SHARED_WITH_ME]. (optional, default: ALL).
order: ApiDocumentOrderSDS - How the list will be ordered. Possible values: [SCORE, SENDER, LAST_UPDATED, SIZE, SENDER_ADDRESS, FILE_NAME, TYPE, LAST_VIEWED, MODIFIED_DATE, NAME]. (optional, default: LAST_UPDATED).
orderAscending: boolean - The alphabetical order of the files in the returned list. (optional, default: true).
pageNumber: Integer - The number of the page to retrieve (zero-based, 0 is the first page). (optional, default: 0).
pageSize: Integer - Size of a result page (lines). (optional, default: 20).

Request format:

GET /documents

Authorization: Bearer <ssid>

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

markV30

Marks a set of files for a specific operation (e.g. delete, download).

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

Request format:

POST /documents/mark

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

{
operation: String,
value: Boolean,
documentFilter: ApiDocumentFilter,
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
}

renameDocumentV30

Renames a file in the Sent items. The file remains in the same folder and with the same permissions.

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

Path parameters:

guid: String - Guid of file to be renamed.

Request format:

POST /documents/{guid}/rename

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

{
newFileName: String,
deviceType: DeviceType
}

Response format:

HTTP/1.1 200 OK

String

resolveActionForDocumentPermissionRequestV30

Applies a decision on a request.

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

Request format:

POST /documents/permissions/requests/resolve

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

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

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
}

restoreExchangesRecycleBinDocumentsV30

Restores files from the Sent items Recycle bin to their original folders.

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

Request format:

POST /documents/recycleBin/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
}

revokePermissionsV30

Revokes all permissions for entities (users, groups, lists) for files in Sent items.

Version: 3.0
Synopsis: POST
Path: /documents/permissions/revoke
Request Body: SdsRevokePermissions
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/permissions/revoke

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

{
permittedEntities: List(
{
address: String,
entityType: EntityType
}),
revokeAllEntities: Boolean,
documentGuids: Set(String),
documentFilter: ApiDocumentFilter,
personalNote: 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
}

searchDocumentsV30

Searches for a file in the Inbox/Sent items by name or string. The search string can be a full name or partial one. All folders that the user has access to are searched.

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

Request format:

POST /documents/search

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

{
searchString: String,
pageSize: Integer,
pageNumber: Integer,
documentOrder: ApiDocumentOrderSDS,
orderAscending: Boolean,
read: TrueFalseEither,
starred: TrueFalseEither,
hidden: TrueFalseEither,
allStarredDocuments: Boolean,
includeStarredTransientDocuments: Boolean,
workspaceTypes: Set(String)
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

sendEmailV30

Sends an email to recipients for a file.

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

Path parameters:

guid: String - The guid of document.

Request format:

POST /documents/{guid}/email

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

void

submitDocumentsV30

Submits files in Inbox/Sent items. The submit method is used after an upload, to set file disposition (for example, to send it to a recipient). This action can be done on a list of files.

Version: 3.0
Synopsis: POST
Path: /documents/submit
Request Body: SubmitDocumentSds
Response Headers: N/A
Response Body: ItemListJson of type Document

Request format:

POST /documents/submit

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,
documentGuids: Set(String),
deviceType: DeviceType,
modifiedDate: Date,
isOpenToAnyone: Boolean,
isCollaboration: Boolean,
readConfirmation: Boolean
}

Response format:

HTTP/1.1 200 OK

Content-type: application/json

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

updateDocumentV30

Updates the file on the server with a new version. Older versions are maintained, but the latest version is the one accessed by default.

Version: 3.0
Synopsis: POST
Path: /documents/{guid}/update
Request Body: N/A
Response Headers: N/A
Response Body: N/A

Path parameters:

guid: String - The guid of the file to be updated with a new version.

Data form parameters:

data: File - Data stream to download the file from.
data2: FormDataContentDisposition - Standard parameter for uploading files over HTTP.
deviceType: DeviceType - The device type.
documentName: String - The name of the file to be uploaded(may be left null).
mailBody: String - Body of email for notification email.
mailSubject: String - Subject line for notification email.
sendMail: Boolean - Flag indicating whether the server should notify recipients about the new version by email.

Request format:

POST /documents/{guid}/update

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

Response format:

HTTP/1.1 200 OK

String

upgradePdfRequestToOnDemandV30

Sets a request for PDF on demand using GUID.

Version: 3.0
Synopsis: POST
Path: /documents/{guid}/onDemand/pdf
Request Body: N/A
Response Headers: N/A
Response Body: BulkOperationResult

Path parameters:

guid: String - Guid of file to update.

Request format:

POST /documents/{guid}/onDemand/pdf

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
}

upgradePdfRequestToOnDemandV30

Sets a request for PDF on demand.

Version: 3.0
Synopsis: POST
Path: /documents/onDemand/pdf
Request Body: OnDemandRequest
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/onDemand/pdf

Authorization: Bearer <ssid>

{
documentUuid: String,
versionUuid: 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
}

upgradePdfRequestToOnDemandV30

Upgrade PDF request to on demand.

Version: 3.0
Synopsis: POST
Path: /documents/unauth/conversion/onDemand/pdf
Request Body: Guid
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/unauth/conversion/onDemand/pdf

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

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

uploadDocumentBase64V30

Uploads a file to Sent items in base64 format.

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

Path parameters:

guid: String - Guid for the file to be uploaded.

Data form parameters:

data: InputStream - The file data.
data2: FormDataContentDisposition - Multipart form-data for file data.
deviceType: DeviceType - The device type.
documentName: String - The name of the file as a string (eg "filename.txt").

Request format:

POST /documents/{guid}/uploadBase64

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

Response format:

HTTP/1.1 200 OK

String

uploadDocumentByPostV30

Uploads to Sent items in base64 format.

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

Path parameters:

guid: String - The new file's guid (e.g. 'f627e7a8-5ec7-459f-ad93-182baa60d2b2').

Data form parameters:

data: File - The binary data of the file.
data2: FormDataContentDisposition - The multipart form request data Note that both fileData and contDisp are part of the multipart form data request parameter which this method requires when invoked through HTTP. Since the whole request is mapped using a multipart form request (which is how HTTP tells the browsers to upload files, as explained in ), each parameter is mapped using a form data part: An example of an assembled HTTP request (not operational): POST http://www.watchdox.com/ HTTP/1.1 Host: ... User-Agent: .... Accept: ... ... Content-Type: multipart/form-data; boundary=---------------------------114782935826962 Content-Length: 454 -----------------------------114782935826962 Content-Disposition: form-data; name="documentName" testFile.doc -----------------------------114782935826962 Content-Disposition: form-data; name="data"; filename="acutalTestFilename.doc" Content-Type: application/octet-stream ... File data here ... -----------------------------114782935826962-- Therefore the parameters we need to have are: documentName, deviceType (optional), data - which includes the actual filename which is uploaded and the file's actual data.
deviceType: DeviceType - The device type.
documentName: String - The name of the uploaded file (e.g. 'filename1.doc' or 'exampleFileNameWithNoExtension').
fileName: String - The file name of the uploaded file.
start: Long - The start.

Request format:

POST /documents/{guid}/upload

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

Response format:

HTTP/1.1 200 OK

String

validateDocumentsToDownloadV30

Validates a list of files prior to requesting the download. The validation request checks whether all the files exist and whether the user as sufficient rights to download them.

Version: 3.0
Synopsis: POST
Path: /documents/download/validateDownload
Request Body: ValidateDownloadDocumentsSelectionSds
Response Headers: N/A
Response Body: BulkOperationResult

Request format:

POST /documents/download/validateDownload

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

{
shouldAggregateMessage: Boolean,
shouldInitiateConversionToPdf: Boolean,
downloadType: DownloadTypes,
documentFilter: ApiDocumentFilter,
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
}

validateDownloadSentItemsWithRecycleBinV30

Validates sent items download of a user with it's recycle bin.

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

Request format:

POST /documents/recycleBin/download/validateDownload

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

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