Online Help Center > SendSafely APIs

SendSafely.ClientAPI

SendSafely.ClientAPI is the primary Windows Client API class with all of the methods used to interface with the SendSafely server platform.

InitialSetup(host, apiKey, apiSecret)
Initializes the API. This function must be called before the API can be used.
Return Type: N/A
Parameters:
NameTypeDescription
host System.String The hostname you use to access SendSafely. Should be https://companyname.sendsafely.com or https://www.sendsafely.com
apiKey System.String The API key for the user. A new API key can be generated on the user's Edit Profile page of the SendSafely web portal or using the generateAPIKey API method.
apiSecret System.String The secret belonging to the API key.

InitialSetup(host, apiKey, apiSecret, proxy)
Initializes the API. This function must be called before the API can be used.
Return Type: N/A
Parameters:
NameTypeDescription
host System.String The hostname you use to access SendSafely. Should be https://companyname.sendsafely.com or https://www.sendsafely.com
apiKey System.String The API key for the user. A new API key can be generated on the user's Edit Profile page of the SendSafely web portal or using the generateAPIKey API method.
apiSecret System.String The secret belonging to the API key.
proxy System.Net.WebProxy A web proxy object which already contains proxy information.

InitialSetup(host, proxy)
Initializes the API. This function must be called before the API can be used.
Return Type: N/A
Parameters:
NameTypeDescription
host System.String The hostname you use to access SendSafely. Should be https://companyname.sendsafely.com or https://www.sendsafely.com
proxy System.Net.WebProxy A web proxy object which already contains proxy information.

InitialSetup(host)
Initializes the API. This function must be called before the API can be used.
Return Type: N/A
Parameters:
NameTypeDescription
host System.String The hostname you use to access SendSafely. Should be https://companyname.sendsafely.com or https://www.sendsafely.com

AddContactGroupToPackage(packageId, groupId)
Add Contact Group as a recipient on a package.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the add the Contact Group operation.
groupId System.String The unique id of the Contact Group to add to the package.

AddDropzoneRecipient(email)
Adds a recipient email address to the current user's Dropzone.
Return Type: N/A
Parameters:
NameTypeDescription
email System.String The recipient email address added to the Dropzone.

AddRecipient(packageId, email)
Adds a recipient to a given package.
Return Type: SendSafely.Recipient
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for get directory operation.
email System.String The recipient email to be added.

AddRecipientPhoneNumber(packageId, recipientId, phoneNumber, countryCode)
Adds a phone number to a given recipient.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique packageId that you are updating.
recipientId System.String The recipientId to be updated
phoneNumber System.String The phone number to associate with the recipient. Passing a phone number with a numeric country code prefix (i.e. +44), will effectively override the countryCode parameter.
countryCode SendSafely.CountryCodes.CountryCode The country code that belongs to the phone number.

AddRecipients(packageId, emails)
Adds a list of recipients to the package.
Return Type: System.Collections.Generic.List{SendSafely.Recipient}
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the add recipient operation.
emails System.Collections.Generic.List{System.String} The list of recipients to be added.

AddUserToContactGroup(groupId, userEmail)
Add user email address to the specified Contact Group.
Return Type: System.String
Parameters:
NameTypeDescription
groupId System.String The unique id of the Contact Group for the add user operation.
userEmail System.String The email address to add to the Contact Group.

CreateContactGroup(groupName)
Create a new Contact Group with the passed in group name. A Contact Group allows a user to define and manage a group of recipients at the group-level, rather than individually on each package. For more information about Contact Groups, refer to http://sendsafely.github.io/overview.htm
Return Type: System.String
Parameters:
NameTypeDescription
groupName System.String The name of the new Contact Group.

CreateContactGroup(groupName, isEnterpriseGroup)
Create a new Enterprise Contact Group with the passed in group name. The method caller must be a SendSafely Enterprise Administrator, and the Contact Group it creates is available to all users in an organization. For more information on Contact Groups, refer to http://sendsafely.github.io/overview.htm
Return Type: System.String
Parameters:
NameTypeDescription
groupName System.String The name of the new Contact Group.
isEnterpriseGroup System.Boolean A boolean flag for determining whether a Contact Group is an Enterprise Contact Group. If set to true, subsequent management operations of the Contact Group will require SendSafely Enterprise Administrator privileges, however the Contact Group can be added as a recipient to any package by any user in the organization.

CreateDirectory(packageId, parentDirectoryId, directoryName)
Creates a new directory in a Workspace. Only Workspace packages support directories.
Return Type: SendSafely.Directory
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the create directory operation.
parentDirectoryId System.String The unique id of the created directory's parent directory. If creating a directory in the root directory of a Workspace, this will be the packageDirectoryId property of the Workspace Package object. Otherwise, this will be the directoryId property of the parent Directory object.
directoryName System.String The name of the new directory to be created.

CreatePackage()
Creates a new package for the purpose of sending files. A new package must be created before files or recipients can be added. For further information about the package flow, see http://sendsafely.github.io/overview.htm
Return Type: SendSafely.PackageInformation
Parameters: N/A

CreatePackage(isWorkspace)
Creates a new package that represents a secure Workspace. A Workspace is a type of package that supports file collaboration features, such as directories and subdirectories, file versioning, role-based access control, and activity logging. A Workspace must be created before files, directories, or collaborators can be added. For further information about the package flow and Workspaces, refer to http://sendsafely.github.io/overview.htm
Return Type: SendSafely.PackageInformation
Parameters:
NameTypeDescription
isWorkspace System.Boolean Flag declaring the package is a Workspace.

CreatePackageForUser(email)
Creates a new package and assigns package owner to the user whose email address is passed as the method argument. The method caller must be a SendSafely Enterprise Administrator and in the same organization as the assigned package owner.
Return Type: SendSafely.PackageInformation
Parameters:
NameTypeDescription
email System.String The email address of the package owner.

DeleteContactGroup(groupId)
Delete the Contact Group associated with the passed in group id.
Return Type: N/A
Parameters:
NameTypeDescription
groupId System.String The unique id of the Contact Group to delete.

DeleteDirectory(packageId, directoryId)
Deletes a directory from a Workspace package.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the delete directory operation.
directoryId System.String The unique directory id of the directory to delete.

DeleteFile(packageId, directoryId, fileId)
Deletes a file from a Workspace package.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the delete file operation.
directoryId System.String The unique directory id of the directory containing the file to delete.
fileId System.String The unique file id of the file to delete.

DeletePackage(packageId)
Deletes a package with the given package id.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package to be deleted.

DownloadFile(packageId, fileId, keyCode, progress)
Downloads a file from the server and decrypts it.
Return Type: System.IO.FileInfo
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file download operation.
fileId System.String The unique file id of the file to download.
keyCode System.String The keycode belonging to the package.
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the download is progressing.

DownloadFile(packageId, fileId, keyCode, progress, downloadAPI)
Downloads a file from the server and decrypts it.
Return Type: System.IO.FileInfo
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file download operation.
fileId System.String The unique file id of the file to download.
keyCode System.String The keycode belonging to the package.
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the download is progressing.
downloadAPI System.String A String identifying the API which is downloading the file. Defaults to "CSHARP".

DownloadFile(packageId, fileId, keyCode, progress, downloadAPI, password)
Downloads a file from the server and decrypts it.
Return Type: System.IO.FileInfo
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file download operation.
fileId System.String The unique file id of the file to download.
keyCode System.String The keycode belonging to the package.
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the download is progressing.
downloadAPI System.String A String identifying the API which is downloading the file. Defaults to "CSHARP".
password System.String The password required to download a file from a password protected undisclosed package (i.e. a package without any recipients assigned).

DownloadFile(packageId, fileId, keyCode, password)
Downloads a file from the server and decrypts it.
Return Type: System.IO.FileInfo
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file download operation.
fileId System.String The unique file id of the file to download.
keyCode System.String The keycode belonging to the package.
password System.String The password required to download a file from a password protected undisclosed package (i.e. a package without any recipients assigned).

DownloadFile(packageId, fileId, keyCode, password, progress)
Downloads a file from the server and decrypts it.
Return Type: System.IO.FileInfo
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file download operation.
fileId System.String The unique file id of the file to download.
keyCode System.String The keycode belonging to the package.
password System.String The password required to download a file from a password protected undisclosed package (i.e. a package without any recipients assigned).
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the download is progressing.

DownloadFileFromDirectory(packageId, directoryId, fileId, keyCode, progress)
Downloads a file located in a directory of a Workspace package from the server and decrypts it.
Return Type: System.IO.FileInfo
Parameters:
NameTypeDescription
packageId System.String The unique package id of the Workspace package for the file download operation.
directoryId System.String The unique directory id of the directory for the file download operation.
fileId System.String The unique file id of the file to download.
keyCode System.String The keycode belonging to the package.
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the upload is progressing.

DownloadFileFromDirectory(packageId, directoryId, fileId, keyCode, progress, api)
Downloads a file located in a directory of a Workspace package from the server and decrypts it.
Return Type: System.IO.FileInfo
Parameters:
NameTypeDescription
packageId System.String The unique package id of the Workspace package for the file download operation.
directoryId System.String The unique directory id of the directory for the file download operation.
fileId System.String The unique file id of the file to download.
keyCode System.String The keycode belonging to the package.
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the upload is progressing.
api System.String The api value.

EncryptAndUploadFile(packageId, path, progress)
Encrypt and upload a new file. The file will be encrypted before being uploaded to the server. The function will block until the file is uploaded.
Return Type: SendSafely.File
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file upload operation.
path System.String The path to the file.
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the upload is progressing.

EncryptAndUploadFile(packageId, keyCode, path, progress)
Encrypt and upload a new file. The file will be encrypted before being uploaded to the server. The function will block until the file is uploaded.
Return Type: SendSafely.File
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file upload operation.
keyCode System.String The keycode belonging to the package.
path System.String The path to the file.
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the upload is progressing.

EncryptAndUploadFile(packageId, keyCode, path, progress, uploadType)
Encrypt and upload a new file. The file will be encrypted before being uploaded to the server. The function will block until the file is uploaded.
Return Type: SendSafely.File
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file upload operation.
keyCode System.String The keycode belonging to the package.
path System.String The path to the file.
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the upload is progressing.
uploadType System.String The upload type.

EncryptAndUploadFileInDirectory(packageId, directoryId, keyCode, path, progress)
Encrypt and upload a new file to a directory in a Workspace package. The file will be encrypted before being uploaded to the server. The function will block until the file is uploaded.
Return Type: SendSafely.File
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file upload operation.
directoryId System.String The unique directory id of the directory for the file upload operation.
keyCode System.String The keycode belonging to the package.
path System.String The path to the file to upload
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the upload is progressing.

EncryptAndUploadFileInDirectory(packageId, directoryId, keyCode, path, progress, uploadType)
Encrypt and upload a new file to a directory in a Workspace package. The file will be encrypted before being uploaded to the server. The function will block until the file is uploaded.
Return Type: SendSafely.File
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the file upload operation.
directoryId System.String The unique directory id of the directory for the file upload operation.
keyCode System.String The keycode belonging to the package.
path System.String The path to the file to upload
progress SendSafely.ISendSafelyProgress A progress callback object which can be used to report back progress on how the upload is progressing.
uploadType System.String The upload type.

EncryptAndUploadMessage(packageId, message)
Encrypt and upload a message. The message will be encrypted before being uploaded to the server.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the message upload operation.
message System.String The message string to encrypt and upload.

EncryptAndUploadMessage(packageId, keyCode, message)
Encrypt and upload a message. The message will be encrypted before being uploaded to the server.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the message upload operation.
keyCode System.String The keycode belonging to the package.
message System.String The message to encrypt and upload.

EncryptAndUploadMessage(packageId, keyCode, message, uploadType)
Encrypt and upload a message. The message will be encrypted before being uploaded to the server.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the message upload operation.
keyCode System.String The keycode belonging to the package.
message System.String The message to encrypt and upload.
uploadType System.String The upload type.

FinalizePackage(packageId, keycode)
Finalizes the package so it can be delivered to the recipients. Additionally, the package must contain at least one file.
Return Type: System.String
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package to be finalized.
keycode System.String The keycode belonging to the package.

FinalizePackage(packageId, keycode, allowReplyAll)
Finalizes the package so it can be delivered to the recipients. Additionally, the package must contain at least one file.
Return Type: System.String
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package to be finalized.
keycode System.String The keycode belonging to the package.
allowReplyAll System.Boolean Determines whether package recipients permitted to reply to all recipients or just sender.

FinalizePackage(packageId, keycode, notifyRecipients, allowReplyAll)
Finalizes the package so it can be delivered to the recipients. Additionally, the package must contain at least one file.
Return Type: System.String
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package to be finalized.
keycode System.String The keycode belonging to the package.
notifyRecipients System.Boolean Determines whether package recipients are automatically notified.
allowReplyAll System.Boolean Determines whether package recipients permitted to reply to all recipients or just sender.

FinalizeUndisclosedPackage(packageId, keycode)
Finalizes an undisclosed package, which is a package without recipients. Anyone with access to the link can access the package.
Return Type: System.String
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package to be finalized.
keycode System.String The keycode belonging to the package.

FinalizeUndisclosedPackage(packageId, password, keycode)
Finalizes an undisclosed package, which is a package without recipients, and protects it with a password. Anyone with access to the link will also be required to supply the password to access the package.
Return Type: System.String
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package to be finalized.
password System.String A password that will be required to access the contents of the package.
keycode System.String The keycode belonging to the package.

GenerateAPIKey(username, password, keyDescription)
Generates a new SendSafely API key and secret for the provided SendSafely user name and password. This key and secret can be used to authenticate to the SendSafely API. If the current user has Two-Step Authentication enabled, a TwoFactorAuthException exception will be returned to the client that includes a validation token. Additionally, a verification code will be sent via SMS message to the user's mobile number. Both the validation token and verification code will be needed in a follow-up call to the GenerateKey2FA API method in order to complete the authentication process and receive an API key and secret.
Return Type: SendSafely.APICredential
Parameters:
NameTypeDescription
username System.String Email address of the user required for authenticating to SendSafely.
password System.String Password of the user required for authenticating to SendSafely.
keyDescription System.String User defined description of the generated API key.

GenerateKey2FA(validationLink, smsCode, keyDescription)
Generate a new API Key given a validation token and a SMS Code. This key and secret can be used to authenticate to the SendSafely API. If the current user has Two-Step Authentication enabled, a TwoFactorAuthException exception will be returned to the client that includes a validation token. Additionally, a verification code will be sent via SMS message to the user's mobile number. Both the validation token and verification code will be needed in a follow-up call to the GenerateKey2FA API method in order to complete the authentication process and receive an API key and secret.
Return Type: SendSafely.APICredential
Parameters:
NameTypeDescription
validationLink System.String The validation token returned from a call to generateAPIKey() by a Two-Step Authentication enabled user.
smsCode System.String The SMS verification code received from a call to generateAPIKey() by a Two-Step Authentication enabled user.
keyDescription System.String User defined description of the generated API key.

GenerateKeyPair(description)
Generates a new RSA Key pair used to encrypt keycodes. The private key as well as an identifier associating the public Key is returned to the user. The public key is uploaded and stored on the SendSafely servers.
Return Type: SendSafely.PrivateKey
Parameters:
NameTypeDescription
description System.String The description used for generating the key pair.

GetActivePackages(rowIndex, pageSize)
Get a paginated set of active packages for the current user. A maximum pagesize of 100 records per method call is supported.
Return Type: SendSafely.PaginatedList{SendSafely.PackageInformation}
Parameters:
NameTypeDescription
rowIndex System.Int32 The starting row index of the results to be returned.
pageSize System.Int32 The size of results to be returned.

GetActivityLog(packageId, rowIndex)
Return Type: System.Collections.Generic.List{SendSafely.Objects.ActivityLogEntry}
Parameters:
NameTypeDescription
packageId System.String
rowIndex System.Int32

GetArchivedPackages(rowIndex, pageSize)
Gets a paginated set of archived packages for the current user. A maximum pagesize of 100 records per method call is supported.
Return Type: SendSafely.PaginatedList{SendSafely.PackageInformation}
Parameters:
NameTypeDescription
rowIndex System.Int32 The starting row index of the results to be returned.
pageSize System.Int32 The size of the results to be returned.

GetContactGroups()
Return Type: System.Collections.Generic.List{SendSafely.Objects.ContactGroup}
Parameters: N/A

GetDirectory(packageId, directoryId, directoryIndex, fileIndex)
Retrieves meta data about a directory in a Workspace package.
Return Type: SendSafely.Directory
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the target directory.
directoryId System.String The unique directory id of the target directory.
directoryIndex System.Int32 The index for paging subdirectories within the current directory.
fileIndex System.Int32 The index for paging files within the current directory.

GetDirectory(packageId, directoryId, directoryIndex, fileIndex, sortField, sortOrder)
Retrieves meta data about a directory in a Workspace package.
Return Type: SendSafely.Directory
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the target directory.
directoryId System.String The unique directory id of the target directory.
directoryIndex System.Int32 The index for paging subdirectories within the current directory.
fileIndex System.Int32 The index for paging files within the current directory.
sortField System.String Field for sorting returned files and directories. Supported values are "name" to sort files and directories by name or "date" which sorts on fileUploaded for files and created for directories. The endpoint defaults to the "name" field.
sortOrder System.String Order of the sorted field. Suppported values are "asc" or "desc" order. The endpoint defaults to the "asc" value.

GetDropzoneRecipients()
Gets all recipients assigned to the current user's Dropzone.
Return Type: System.Collections.Generic.List{System.String}
Parameters: N/A

GetEnterpriseContactGroups()
Return Type: System.Collections.Generic.List{SendSafely.Objects.ContactGroup}
Parameters: N/A

GetEnterpriseInfo()
Retrieves information about the organization the user belongs to.
Return Type: SendSafely.EnterpriseInformation
Parameters: N/A

GetFileInformation(packageId, directoryId, fileId)
Retrieves meta data about a file in a Workspace package.
Return Type: SendSafely.Objects.FileInformation
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the get file information operation.
directoryId System.String The unique directory id of the directory containing the target file.
fileId System.String The unique file id of the target file.

GetKeycode(privateKey, packageId)
Downloads and decrypts a keycode from the server for a given packageId and RSA Key pair.
Return Type: System.String
Parameters:
NameTypeDescription
privateKey SendSafely.PrivateKey The private key associated with the RSA Key pair used to encrypt the package keycode.
packageId System.String The package id for the keycode.

GetMessage(secureLink)
Downloads a message from the specified secure link and decrypts it.
Return Type: System.String
Parameters:
NameTypeDescription
secureLink System.String String representing the secure link for which the message is to be downloaded.

GetOrganizationPackagesSearch(fromDate, toDate, sender, status, recipient, fileName, rowIndex, pageSize)
Returns packages in the current user's organization based on provided search criteria. The search defaults to returning a paginated set of packages up to the current date and time, if a specific value is not passed for each search criteria. A maximum pagesize of 100 records per method call is supported. The calling user must be a SendSafely Enterprise Administrator.
Return Type: SendSafely.PaginatedList{SendSafely.PackageInformation}
Parameters:
NameTypeDescription
fromDate System.Nullable{System.DateTime} Date and time to search for packages with a package timestamp that is greater than or equal to the specified value.
toDate System.Nullable{System.DateTime} Date and time to search for packages with a package timestamp that is less than or equal to the specified value.
sender System.String Email address to search for packages with a matching package sender email address. A valid email address must be provided.
status System.Nullable{SendSafely.Objects.PackageStatus} PackageStatus enum value to search for packages with a matching package status.
recipient System.String Email address to search for packages with a matching recipient email address. A valid email address must be provided.
fileName System.String Name of a file to search for packages with a matching file name.
rowIndex System.Int32 Index of row to start retreiving for pagination.
pageSize System.Int32 The size of the results to be returned.

GetPackageInformation(packageId)
Fetch the latest package meta data about a specific package given the unique package id.
Return Type: SendSafely.PackageInformation
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the get package information operation.

GetPackageInformationFromLink(link)
Fetch the latest package meta data about a specific package given the secure link of type Uri.
Return Type: SendSafely.PackageInformation
Parameters:
NameTypeDescription
link System.Uri Uri object representing the secure link for which package information is to be fetched.

GetPackageInformationFromLink(link)
Fetch the latest package meta data about a specific package given a secure link of type String.
Return Type: SendSafely.PackageInformation
Parameters:
NameTypeDescription
link System.String String representing the secure link for which package information is to be fetched.

GetPackageLink(packageId, keyCode)
Returns a secure link for accessing a package. This method is intended for generating a shareable link for a Workspace package, however non-Workspace packages are also supported. Packages with a temporary or deleted {@link PackageState} are not supported by this method.
Return Type: System.String
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package to generate the secure link.
keyCode System.String The keycode belonging to the package.

GetReceivedPackages(rowIndex, pageSize)
Retrieves a paginated set of active packages received for the given API User. A maximum pagesize of 100 records per method call is supported.
Return Type: SendSafely.PaginatedList{SendSafely.PackageInformation}
Parameters:
NameTypeDescription
rowIndex System.Int32 The starting row index of the results to be returned.
pageSize System.Int32 The size of the results to be returned.

GetRecipient(packageId, recipientId)
Retrieves a recipient from a given package.
Return Type: SendSafely.Recipient
Parameters:
NameTypeDescription
packageId System.String The package id to retrieve the recipient from.
recipientId System.String The recipient id to be retrieved from the package.

GetRecipientHistory(recipientEmail)
Retrieves a list of packages where the passed in email address is a package recipient.
Return Type: System.Collections.Generic.List{SendSafely.RecipientHistory}
Parameters:
NameTypeDescription
recipientEmail System.String The email address of the recipient.

GetUserInformation()
Gets information about the current logged in user.
Return Type: SendSafely.User
Parameters: N/A

MoveDirectory(packageId, sourceDirectoryId, destinationDirectoryId)
Moves a directory to the specified destination directory in a Workspace package.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the move directory operation.
sourceDirectoryId System.String The unique directory id of the directory to move.
destinationDirectoryId System.String The unique directory id of the destination directory.

MoveFile(packageId, fileId, destinationDirectoryId)
Moves a file to the specified destination directory in a Workspace package.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the move file operation.
fileId System.String The unique file id of the file to move.
destinationDirectoryId System.String The unique directory id of the destination directory.

OAuthGenerateAPIKey(oauthToken, keyDescription)
This method is intended for use by the SendSafely Outlook Plugin. Before this can be called a valid oauth token must have been obtained.
Return Type: SendSafely.APICredential
Parameters:
NameTypeDescription
oauthToken System.String The Google oauth token used to look up the user.
keyDescription System.String A description describing the generated API key.

ParseLinksFromText(text)
Return Type: System.Collections.Generic.List{System.String}
Parameters:
NameTypeDescription
text System.String

RemoveContactGroupFromPackage(packageId, groupId)
Remove a Contact Group from a package.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the remove the Contact Group operation.
groupId System.String The unique id of the Contact Group to remove from the package.

RemoveDropzoneRecipient(email)
Deletes a recipient email address from the current user's Dropzone.
Return Type: N/A
Parameters:
NameTypeDescription
email System.String The recipient email address to delete from the Dropzone.

RemoveRecipient(packageId, recipientId)
Removes a recipient from a given package.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the remove recipient operation.
recipientId System.String The unique recipient id of the recipient to remove from the package.

RemoveUserFromContactGroup(groupId, userId)
Remove user email address from the specified Contact Group.
Return Type: N/A
Parameters:
NameTypeDescription
groupId System.String The unique id of the Contact Group for the remove user operation.
userId System.String The unique id of the user whose email address is to be removed from the Contact Group.

RenameDirectory(packageId, directoryId, directoryName)
Renames a directory to the specified directory name in a Workspace package.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the rename directory operation.
directoryId System.String The unique directory id of the directory to rename.
directoryName System.String The new name of the directory.

RevokePublicKey(publicKeyId)
Revokes a public key from the server. Only call this if the private key has been deleted and should not be used anymore.
Return Type: N/A
Parameters:
NameTypeDescription
publicKeyId System.String The public key id to revoke.

UpdatePackageDescriptor(packageId, packageDescriptor)
Updates the package descriptor. For a Workspaces package, this method can be used to change the name of the Workspace.
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the descriptor update operation.
packageDescriptor System.String The string value to update the package descriptor to.

UpdatePackageLife(packageId, life)
Update the package life. Setting the life to 0 means the package will not expire.
Return Type: System.Boolean
Parameters:
NameTypeDescription
packageId System.String The unique package id of the package for the update package life operation.
life System.Int32 The new package life. Setting this parameter to 0 means the package will not expire.

UpdateRecipientRole(packageId, recipientId, role)
Used to update the role of a Workspace package recipient (i.e. Workspace collaborator).
Return Type: N/A
Parameters:
NameTypeDescription
packageId System.String The unique package id of the Workspace package for the update role operation.
recipientId System.String The unique recipient id for the Workspace collaborator whose role is to be updated.
role System.String String representing the role for the update role operation. Supported values are VIEWER, CONTRIBUTOR, MANAGER, and OWNER.

VerifyCredentials()
Verifies a user's API key and secret. This method is typically called when a new user uses the API for the first time.
Return Type: System.String
Parameters: N/A

VerifyVersion()
Verifies the current version of the SendSafely API against the server. Returns an enum describing if the API needs to be updated or not.
Return Type: SendSafely.Objects.Version
Parameters: N/A

SetOutlookVersion(version)
This method is intended for use by the SendSafely Outlook Plugin. Sets the outlook version of the outlook client.
Return Type: N/A
Parameters:
NameTypeDescription
version System.String Version value of outlook.

StartPINRegistration(email)
This method is intended for use by the SendSafely Outlook Plugin. Starts the registration process. If a valid email is provided, a validation code will be sent to the SendSafely servers.
Return Type: N/A
Parameters:
NameTypeDescription
email System.String The email to register

StartRegistration(email)
This method is intended for use by the SendSafely Outlook Plugin. Starts the registration process. If a valid email is provided, a validation code will be sent to the SendSafely servers.
Return Type: N/A
Parameters:
NameTypeDescription
email System.String The email to register.

FinishPINRegistration(email, pincode, password, secretQuestion, answer, firstName, lastName, keyDescription)
This method is intended for use by the SendSafely Outlook Plugin. Before this can be called a pin code must have been obtained.
Return Type: SendSafely.APICredential
Parameters:
NameTypeDescription
email System.String The email to the user to finish registration for.
pincode System.String The pincode sent to the users email.
password System.String The desired password.
secretQuestion System.String The secret question which is to be associated with the account.
answer System.String The answer answering the secret question.
firstName System.String The First name of the user.
lastName System.String The last name of the user.
keyDescription System.String A description describing the generated API key.

FinishRegistration(validationLink, password, secretQuestion, answer, firstName, lastName, keyDescription)
This method is intended for use by the SendSafely Outlook Plugin. Finishes the registration process. Before this can be called a valid token must have been obtained.
Return Type: SendSafely.APICredential
Parameters:
NameTypeDescription
validationLink System.String The validation link which was sent to the specified email address.
password System.String The desired password.
secretQuestion System.String The secret question which is to be associated with the account.
answer System.String The answer answering the secret question.
firstName System.String The First name of the user.
lastName System.String The last name of the user.
keyDescription System.String A description describing the generated API key.