Users

Principals, Users, AccountUsers and Groups define the types of users defined in ShareFile.

Get User

GET https://account.sf-api.com/sf/v3/Users 
GET https://account.sf-api.com/sf/v3/Users(id) 
GET https://account.sf-api.com/sf/v3/Users?emailaddress=email 

Retrieve a single user, by ID or email, or the currently authenticated user. A user can retrieve another user when * (1) The current user has AdminManageEmployees role * OR * (2) The current user has CanManageUsers role and the other user is a client. Users without these permissions can retrieve minimal user info from the endpoint https://account.sf-api.com/sf/v3/Users.

idString User ID
emailAddressString User email address to lookup

Returns: the requested User object

Create Client User

POST https://account.sf-api.com/sf/v3/Users 
            { 
              "Email":"user.one@domain.com", 
              "FirstName":"Name", 
              "LastName":"Last Name", 
              "Company":"Company", 
              "DefaultZone": 
              { 
                "Id":"zoneid" 
              } 
            } 

Creates a new Client User and associates it to an Account

The following parameters from the input object are used: Email, FirstName, LastName, Company, DefaultZone

Other parameters are ignored

userUser A User object with the properties of the new user
pushCreatorDefaultSettingsBoolean Use the settings of the API authenticated user as defaults for the new user
addsharedBoolean Obsolete - Will always be true. Adds the new user to the Account shared Address Book
notifyBoolean If set to true, sharefile will send an email to the new user email address.
ifNecessaryBoolean Creates a new user if the email is not found on the account, and do not fail if the user is already present
addPersonalBoolean Obsolete - Will always be true. Add user to personal address book

Returns: The new user

Create Client User For Specific Folder

POST https://account.sf-api.com/sf/v3/UsersForFolder 
            { 
              "Email":"user.one@domain.com", 
              "FirstName":"Name", 
              "LastName":"Last Name", 
              "Company":"Company", 
              "DefaultZone": 
              { 
                "Id":"zoneid" 
              } 
            } 

Creates a new Client User with validation that client is admin of folder for which client is created and associates it to an Account

The following parameters from the input object are used: Email, FirstName, LastName, Company, DefaultZone

Other parameters are ignored

userUser A User object with the properties of the new user
folderIdString ID of folder for which client user is created
pushCreatorDefaultSettingsBoolean Use the settings of the API authenticated user as defaults for the new user
addsharedBoolean Obsolete - Will always be true. Adds the new user to the Account shared Address Book
notifyBoolean If set to true, sharefile will send an email to the new user email address.
ifNecessaryBoolean Creates a new user if the email is not found on the account, and do not fail if the user is already present
addPersonalBoolean Obsolete - Will always be true. Add user to personal address book

Returns: The new user

Create Employee

POST https://account.sf-api.com/sf/v3/Users/AccountUser 
            { 
              "Email":"user.one@domain.com", 
              "FirstName":"Name", 
              "LastName":"Last Name", 
              "Company":"Company", 
              "StorageQuotaLimitGB":50, 
              "DefaultZone": 
              { 
                "Id":"zoneid" 
              }, 
              "IsAdministrator": false, 
              "CanCreateFolders": false, 
              "CanUseFileBox": true, 
              "CanManageUsers": false, 
              "Roles": [ 
                    "CanChangePassword", "CanManageMySettings", 
                    "CanUseFileBox", "CanManageUsers", "CanCreateFolders", "CanUseDropBox", "CanSelectFolderZone", 
                    "AdminAccountPolicies", "AdminBilling", "AdminBranding", "AdminChangePlan", "AdminFileBoxAccess", 
                    "AdminManageEmployees", "AdminRemoteUploadForms", "AdminReporting", "AdminSharedDistGroups", 
                    "AdminSharedAddressBook", "AdminViewReceipts", "AdminDelegate", "AdminManageFolderTemplates", 
                    "AdminEmailMessages", "AdminSSO", "AdminSuperGroup", "AdminZones", "AdminCreateSharedGroups", "AdminConnectors" 
               ] 
            } 

Creates a new Employee User (AccountUser) and associates it to an Account

The following parameters from the input object are used: Email, FirstName, LastName, Company, DefaultZone, IsEmployee, IsAdministrator, CanCreateFolders, CanUseFileBox, CanManageUsers. Other parameters are ignored

StorageQuotaLimitGB parameter is optional. If not specified or equal to -1 the account default storage quota value will be set for the User.

userAccountUser A User object with the properties of the new user
pushCreatorDefaultSettingsBoolean Use the settings of the API authenticated user as defaults for the new user
addsharedBoolean Obsolete - Will always be true. Adds the new user to the Account shared Address Book
notifyBoolean If set to true, sharefile will send an email to the new user email address.
ifNecessaryBoolean Creates a new user if the email is not found on the account, and do not fail if the user is already present
addPersonalBoolean Obsolete - Will always be true. Add user to personal address book

Returns: The new employee user

Update User

PATCH https://account.sf-api.com/sf/v3/Users(id) 
            { 
              "FirstName":"FirstName", 
              "LastName":"LastName", 
              "Company":"Company", 
              "Email":"user@domain.com", 
              "Security": 
              { 
               "IsDisabled":false 
              }, 
              "DefaultZone": 
              { 
                "Id":"newzoneid" 
              } 
            } 

Modifies an existing user object

The following parameters can be modified through this call: FirstName, LastName, Company, Email, IsDisabled, DefaultZone Id

idString User Identifier
userUser User object containing parameters to modify

Returns: a modified user record

Add Roles

PATCH https://account.sf-api.com/sf/v3/Users(id)/Roles 
            { 
                "Roles" : [ "CanManageUsers", "CanSelectFolderZone" ] 
            } 

Modifies an existing user object to ADD a new role

The following roles can be added to the user through this call (depending on User type): CanCreateFolders, CanSelectFolderZone, CanUseFileBox, CanManageUsers, AdminSharedAddressBook, CanChangePassword, CanManageMySettings, AdminManageDropBox

parentidString User Identifier
userUser User object containing roles to modify

Returns: a modified user record

Set Roles

PUT https://account.sf-api.com/sf/v3/Users(id)/Roles 
            { 
                "Roles" : [ "CanManageUsers", "CanSelectFolderZone" ] 
            } 

Sets the roles for a user (roles not provided will be disabled.)

The following roles can be set to the user through this call (depending on User type): CanCreateFolders, CanSelectFolderZone, CanUseFileBox, CanManageUsers, AdminSharedAddressBook, CanChangePassword, CanManageMySettings, AdminManageDropBox

parentidString User Identifier
userUser User object containing roles to set

Returns: a modified user record

Remove Roles

POST https://account.sf-api.com/sf/v3/Users(id)/RemoveRoles 
             
             [ "CanManageUsers", "CanSelectFolderZone" ] 

Removes the roles for user.

The following roles can be removed from user through this call (depending on User type): CanCreateFolders, CanSelectFolderZone, CanUseFileBox, CanManageUsers, AdminSharedAddressBook, CanChangePassword, CanManageMySettings

userIdString User Identifier
userRolesUserRole[] List of User Roles to be revoked

Update Employee or Promote Customer

PATCH https://account.sf-api.com/sf/v3/Users/AccountUser(id) 
            { 
              "FirstName":"FirstName", 
              "LastName":"LastName", 
              "Company":"Company", 
              "Email":"user@domain.com", 
              "StorageQuotaLimitGB":100, 
              "Bandwidth": 50, 
              "Security": 
              { 
               "IsDisabled":false 
              }, 
              "DefaultZone": 
              { 
                "Id":"newzoneid" 
              } 
            } 

Modifies an existing user object

The following parameters can be modified through this call: FirstName, LastName, Company, Email, IsEmployee, IsDisabled, DefaultZone Id, StorageQuotaLimitGB, Bandwidth.

During a promotion (the user id points to Customer), the following parameters can be modified: CanCreateFolders, CanUseFileBox, CanManageUsers.

StorageQuotaLimitGB equal to -1 sets the user quota to the account default storage quota value.

Bandwidth equal to -1 sets the user bandwidth to unlimited.

idString User Identifier
userAccountUser User object containing parameters to modify

Returns: a modified user record

Get HomeFolder

GET https://account.sf-api.com/sf/v3/Users(id)/HomeFolder 
GET https://account.sf-api.com/sf/v3/Users/HomeFolder 

Returns a user's home folder

idString User identifier. If not provided, the current user is used

Returns: A folder record representing the requesting user home folder

Get User's top Folder

GET https://account.sf-api.com/sf/v3/Users(id)/TopFolders 
idString User Identifier

Returns: User's Top Folders

Get User's FileBox children

GET https://account.sf-api.com/sf/v3/Users(id)/Box 
idString User Identifier

Returns: User's FileBox children

Get User's FileBox folder

GET https://account.sf-api.com/sf/v3/Users(id)/FileBox 
idString User Identifier

Returns: User's FileBox

Get User Preferences

GET https://account.sf-api.com/sf/v3/Users/Preferences 
GET https://account.sf-api.com/sf/v3/Users(id)/Preferences 

Retrieves the User preferences record - all user-selected prefernces, such as timezone, time format, sort preferences, etc.

idString User identifier. Default is currently logged on user.

Returns: the user selected preferences

Update User Preferences

PATCH https://account.sf-api.com/sf/v3/Users(id)/Preferences 
            { 
            "EnableFlashUpload":"true", 
            "EnableJavaUpload":"true", 
            "...":"..." 
            } 
parentidString User identifier
preferencesUserPreferences Preferences to modify

Returns:

Get User Security

GET https://account.sf-api.com/sf/v3/Users/Security 
GET https://account.sf-api.com/sf/v3/Users(id)/Security 

Retrieve the user security record - current state of the user regarding security and password settings.

idString User identifier. Default is currently logged on user.

Returns: the user security status

Reset Password

POST https://account.sf-api.com/sf/v3/Users/ResetPassword?notify=false 
            { 
              "NewPassword":"new password", 
              "OldPassword":"old password" 
            } 

Resets the current user password.

propertiesODataObject
notifyBoolean If set to true, a notification email will be sent to the user affected by this change.

Returns: The modified user record

Forgot Password

POST https://account.sf-api.com/sf/v3/Users/ForgotPassword?email=email&resetOnMobile=false&initiatedByAdmin=false 

Triggers a reset password email

emailString Email address
resetOnMobileBoolean If the action is called through mobile
initiatedByAdminBoolean If the action is initiated by the admin

Send Welcome Email (Deprecated)

POST https://account.sf-api.com/sf/v3/Users(id)/ResendWelcome 

Resends the 'welcome' email to the given user. This endpoint has been deprecated in favor of "Send Welcome Notification," but it will continue to be supported in the current version of the Api.

idString User identifier
customMessageString Custom message to the user when sending the welcome email
notifySenderBoolean Send a copy of the welcome email without the activation link to the Sender

Send Welcome Notification

POST https://account.sf-api.com/sf/v3/Users(id)/WelcomeNotification 
            { 
                "CustomMessage": "Message", 
                "NotifySender": true 
            } 

Sends a Welcome email to the given User. An optional custom message can be added to the standard email

The following properties from WelcomeNotificationParameters are used: CustomMessage, and NotifySender.

idString User identifier
parametersWelcomeNotificationParameters Notification body that contains properties: { CustomMessage: string, NotifySender: boolean }

Delete User

DELETE https://account.sf-api.com/sf/v3/Users(id)?completely=false&itemsReassignTo=id&groupsReassignTo=id 

Removes an user

idString User identifier
completelyBoolean If set, all user records will be removed. Otherwise, the user will be disabled, but not removed from the system. A complete removal is not recoverable.
itemsReassignToString If set, all user item records will be reassigned to the user provided.
groupsReassignToString If set, all user group records will be reassigned to the user provided.

Delete multiple client users

DELETE https://account.sf-api.com/sf/v3/Users/Clients 
             
                 ["id1","id2"] 

Removes a list of client users. The list should not exceed 100 client user ids.

clientIdsString[] List of client user ids to be deleted

Delete multiple client users

POST https://account.sf-api.com/sf/v3/Users/Clients/BulkDelete 
            { 
                UserIds: ["id1", "id2"] 
            } 

Removes a list of client users. The list should not exceed 100 client user ids.

deleteRequestUserBulkOperationRequest UserBulkOperationRequest

Returns: 204 if successful

Downgrade multiple employee users to clients

POST https://account.sf-api.com/sf/v3/Users/Employees/Downgrade 
            { 
                UserIds: ["id1", "id2"], 
                ReassignItemsToId: "id3", 
                ReassignGroupsToId: "id3" 
            } 

Downgrades a list of employee users to clients. The list should not exceed 100 employee user ids.

downgradeRequestUserBulkDowngradeRequest UserBulkDowngradeRequest

Returns: 204 if successful

Get List of User Shared Folders

GET https://account.sf-api.com/sf/v3/Users/AllSharedFolders 

Retrieve the list of shared folders the authenticated user has access to

Returns: A list of Folder objects, representing shared folders of an user

Get List of User Shared Folders

GET https://account.sf-api.com/sf/v3/Users(userid)/AllSharedFolders 

Retrieve the list of shared folders the specified user has access to

Returns: A list of Folder objects, representing shared folders of an user

Get List of User Shared Folders

GET https://account.sf-api.com/sf/v3/Users/TopFolders 

Retrieve the top-level folders for this user. This method requires the account to be in the new UI model of "My Files", "Shared", "Connectors", "Favorites" tab - otherwise it will return an empty list (new UX model is the default since May 2013).

Returns: A list of Folder objects, representing shared folders of an user

Get List of User Shared Folders

GET https://account.sf-api.com/sf/v3/Users/NetworkShareConnectors 

Retrieve the connector folders that are associated with a network share service

Returns: A list of Folder objects, representing network shared connector folders of an user

Get List of User Shared Folders

GET https://account.sf-api.com/sf/v3/Users/SharepointConnectors 

Retrieve the connector folders that are associated with a sharepoint service

Returns: A list of Folder objects, representing sharepoint folders of an user

Confirm the current user logging in for the first time

POST https://account.sf-api.com/sf/v3/Users/Confirm 
            { 
                "FirstName":"", 
                "LastName":"", 
                "Company":"", 
                "Password":"", 
                "SecurityQuestion":"", 
                "SecurityQuestionAnswer":"", 
                "DayLightName":"", 
                "UTCOffset":"", 
                "DateFormat":"", 
                "TimeFormat":"", 
                "EmailInterval":0, 
                "UserNotificationLocale":"Spanish" 
            } 
settingsUserConfirmationSettings confirmation settings

Returns: no data on success

Get Current User Info

GET https://account.sf-api.com/sf/v3/Users/Info 

Returns: UserInfo

Delete the email address from user

POST https://account.sf-api.com/sf/v3/Users/DeleteEmailAddress?email=example%40sharefile.com 
emailString the email address to be deleted

Returns: User

Set email address as the primary email address for CURRENT user

POST https://account.sf-api.com/sf/v3/Users/MakePrimary?email=example%40sharefile.com 
emailString the email address you want to set primary as

Returns: User

Send notification email address to this email address for verification

POST https://account.sf-api.com/sf/v3/Users/SendConfirmationEmail?email=example%40sharefile.com 
emailString the email address you want to send notification to

Returns: User

Send email verification code to user email address

POST https://account.sf-api.com/sf/v3/Users/SendEmailVerificationCode?email=example%40sharefile.com 
emailString Email address

Returns: 204 if successful

Send email verification code for marketing email address

POST https://account.sf-api.com/sf/v3/Users/SendEmailVerificationCodeForMarketing?email=example%40sharefile.com 
emailString Email address

Returns: ResponseWrapper with EmailVerificationCodeMarketingData object if successful

Verify user email address by verification code

POST https://account.sf-api.com/sf/v3/Users/VerifyEmailAddress?email=example%40sharefile.com&verificationCode=000000 
emailString Email address
verificationCodeString Verification code

Returns: 204 if successful

Create a one-time use login Uri for the Web App.

POST https://account.sf-api.com/sf/v3/Users/WebAppLink 

Returns: Redirection populated with link in Uri field

Get Inbox Metadata

GET https://account.sf-api.com/sf/v3/Users/InboxMetadata 
GET https://account.sf-api.com/sf/v3/Users(userId)/InboxMetadata 

Returns metadata of the inbox.

User identifier

Returns: Inbox metadata

Get Inbox for Recipient

GET https://account.sf-api.com/sf/v3/Users/Inbox 
GET https://account.sf-api.com/sf/v3/Users(id)/Inbox 

Retrieve all outstanding Shares in the inbox.

User identifier

Returns: List of Shares created by the authenticated user

Get Sent Messages

GET https://account.sf-api.com/sf/v3/Users/SentMessages 
GET https://account.sf-api.com/sf/v3/Users(userId)/SentMessages 

Returns sent messages for the given user.

User identifier

Returns: Feed of Shares

Create a one-time use login Uri for the Web App.

POST https://account.sf-api.com/sf/v3/Users(userId)/WebAppManageUser 
idString User identifier

Returns: Redirection populated with link in Uri field

Create a one-time use login Uri for the Web App.

POST https://account.sf-api.com/sf/v3/Users/WebAppManageUsers 

Returns: Redirection populated with link in Uri field

Create a one-time use login Uri for the Web App.

POST https://account.sf-api.com/sf/v3/Users/WebAppAddEmployee 

Returns: Redirection populated with link in Uri field