UsersModule
public class UsersModule
Provides User management.
-
Get information about the user for which this client is authenticated.
Declaration
Parameters
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
completion
Returns a standard user object or an error.
-
Get information about a user in the enterprise. Requires enterprise administration authorization.
Declaration
Parameters
userId
The ID of the user.
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
completion
Returns a standard user object or an error.
-
Upload avatar image to user account. Supported formats are JPG, JPEG and PNG. Maximum allowed file size is 1MB and resolution 1024x1024 pixels.
Declaration
Swift
@discardableResult public func uploadAvatar( userId: String, data: Data, name: String, progress: @escaping (Progress) -> Void = { _ in }, completion: @escaping Callback<UserAvatarUpload> ) -> BoxUploadTask
Parameters
userId
The ID of the user.
data
The content of image file as binary data.
name
File name of the avatar image. File name should also contains file extension (.jpg, .jpeg or .png).
progress
Closure where upload progress will be reported
completion
Returns an
UserAvatarUpload
object which contains avatar urls if successful otherwise a BoxSDKError.Return Value
BoxUploadTask
-
Upload avatar image to user account. Supported formats are JPG, JPEG and PNG. Maximum allowed file size is 1MB and resolution 1024x1024 pixels.
Declaration
Swift
@discardableResult public func streamUploadAvatar( userId: String, stream: InputStream, name: String, progress: @escaping (Progress) -> Void = { _ in }, completion: @escaping Callback<UserAvatarUpload> ) -> BoxUploadTask
Parameters
userId
The ID of the user.
stream
An InputStream of an image for been uploaded.
name
File name of the avatar image. File name should also contains file extension (.jpg, .jpeg or .png).
progress
Closure where upload progress will be reported
completion
Returns an
UserAvatarUpload
object which contains avatar urls if successful otherwise a BoxSDKError.Return Value
BoxUploadTask
-
Get image of a user’s avatar
Declaration
Swift
public func getAvatar( userId: String, completion: @escaping Callback<Data> )
Parameters
userId
The ID of the user.
completion
Returns the data object of the avatar image of the user or an error.
-
Deletes a user’s avatar image.
Declaration
Swift
public func deleteAvatar( userId: String, completion: @escaping Callback<Void> )
Parameters
userId
The ID of the user.
completion
Empty response in case of success or an error.
-
create(login:
name: role: language: isSyncEnabled: jobTitle: phone: address: spaceAmount: trackingCodes: canSeeManagedUsers: timezone: isExternalCollabRestricted: isExemptFromDeviceLimits: isExemptFromLoginVerification: status: fields: completion: ) Create a new managed user in an enterprise. This method only works for Box admins.
Declaration
Swift
public func create( login: String, name: String, role: UserRole? = nil, language: String? = nil, isSyncEnabled: Bool? = nil, jobTitle: String? = nil, phone: String? = nil, address: String? = nil, spaceAmount: Int64? = nil, trackingCodes: [User.TrackingCode]? = nil, canSeeManagedUsers: Bool? = nil, timezone: String? = nil, isExternalCollabRestricted: Bool? = nil, isExemptFromDeviceLimits: Bool? = nil, isExemptFromLoginVerification: Bool? = nil, status: UserStatus? = nil, fields: [String]? = nil, completion: @escaping Callback<User> )
Parameters
login
The email address the user uses to login
name
The name of the user
role
The user’s enterprise role. Can be coadmin or user
language
The language of the user. Input format follows a modified version of the ISO 639-1 language code format. https://developer.box.com/docs/api-language-codes
isSyncEnabled
Whether the user can use Box Sync
jobTitle
The user’s job title
phone
The user’s phone number
address
The user’s address
spaceAmount
The user’s total available space amount in bytes
trackingCodes
An array of key/value pairs set by the user’s admin
canSeeManagedUsers
Whether the user can see other managed users
timezone
The user’s timezone. Input format follows tz database timezones. https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
isExternalCollabRestricted
Whether the user is restricted from external collaboration
isExemptFromDeviceLimits
Whether to exempt the user from Enterprise device limits
isExemptFromLoginVerification
Whether the user must use two-factor authentication
status
active, inactive, cannotDeleteOrEdit, or cannotDeleteEditOrupload
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
completion
Returns a standard user object or an error.
-
update(userId:
login: name: role: language: isSyncEnabled: jobTitle: phone: address: spaceAmount: trackingCodes: canSeeManagedUsers: timezone: isExternalCollabRestricted: isExemptFromDeviceLimits: isExemptFromLoginVerification: status: fields: completion: ) Update the information for a user.
Declaration
Swift
public func update( userId: String, login: String? = nil, name: String? = nil, role: UserRole? = nil, language: String? = nil, isSyncEnabled: Bool? = nil, jobTitle: String? = nil, phone: String? = nil, address: String? = nil, spaceAmount: Int64? = nil, trackingCodes: [User.TrackingCode]? = nil, canSeeManagedUsers: Bool? = nil, timezone: String? = nil, isExternalCollabRestricted: Bool? = nil, isExemptFromDeviceLimits: Bool? = nil, isExemptFromLoginVerification: Bool? = nil, status: UserStatus? = nil, fields: [String]? = nil, completion: @escaping Callback<User> )
Parameters
userId
The ID of the user.
login
The ID of the user.
name
The name of the user
role
The user’s enterprise role. Can be coadmin or user
language
The language of the user. Input format follows a modified version of the ISO 639-1 language code format. https://developer.box.com/docs/api-language-codes
isSyncEnabled
Whether the user can use Box Sync
jobTitle
The user’s job title
phone
The user’s phone number
address
The user’s address
spaceAmount
The user’s total available space amount in bytes
trackingCodes
An array of key/value pairs set by the user’s admin
canSeeManagedUsers
Whether the user can see other managed users
timezone
The user’s timezone. Input format follows tz database timezones. https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
isExternalCollabRestricted
Whether the user is restricted from external collaboration
isExemptFromDeviceLimits
Whether to exempt the user from Enterprise device limits
isExemptFromLoginVerification
Whether the user must use two-factor authentication
status
active, inactive, cannotDeleteOrEdit, or cannotDeleteEditOrupload
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
completion
Returns a standard user object or an error.
-
createAppUser(name:
language: jobTitle: timezone: phone: address: spaceAmount: status: isExternalCollabRestricted: canSeeManagedUsers: fields: completion: ) Create a new app user in an enterprise.
Declaration
Swift
public func createAppUser( name: String, language: String? = nil, jobTitle: String? = nil, timezone: String? = nil, phone: String? = nil, address: String? = nil, spaceAmount: Int64? = nil, status: UserStatus? = nil, isExternalCollabRestricted: Bool? = nil, canSeeManagedUsers: Bool? = nil, fields: [String]? = nil, completion: @escaping Callback<User> )
Parameters
name
The name of the user. All special characters are acceptable except for <, >, and “ ”.
language
The language of the user. Input format follows a modified version of the ISO 639-1 language code format. https://developer.box.com/v2.0/docs/api-language-codes
jobTitle
The user’s job title
timezone
The user’s timezone. Input format follows tz database timezones. https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
phone
The user’s phone number
address
The user’s address
spaceAmount
The user’s total available space amount in bytes
status
active, inactive, cannotDeleteOrEdit, or cannotDeleteEditOrupload
isExternalCollabRestricted
Whether the user is restricted from external collaboration
canSeeManagedUsers
Whether the user can see managed users
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
completion
Returns a standard user object or an error.
-
Delete a user.
Declaration
Swift
public func delete( userId: String, notify: Bool? = nil, force: Bool? = nil, completion: @escaping Callback<Void> )
Parameters
userId
The ID of the user
notify
Whether the destination user will receive email notification of the transfer
force
Whether the user should be deleted even if this user still own files
completion
An empty response will be returned upon successful deletion. An error is thrown if the folder is not empty and the ‘recursive’ parameter is not included.
-
Returns all of the users for the Enterprise. Only available to admin accounts or service accounts.
Declaration
Swift
public func listForEnterprise( filterTerm: String? = nil, fields: [String]? = nil, usemarker: Bool? = nil, marker: String? = nil, offset: Int? = nil, limit: Int? = nil ) -> PagingIterator<User>
Parameters
filterTerm
Only return users whose name or login matches the filter_term. See notes below for details on the matching.
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
usemarker
This specifies whether you would like to use marker-based or offset-based paging. You can only use one or the other. Marker-based paging is the preferred method and is most performant. If not specified, this endpoint defaults to using offset-based paging. This parameter is unique to Get Folder Items to retain backwards compatibility for this endpoint. This parameter is required for both the first and subsequent calls to use marked-based paging.
marker
The position marker at which to begin the response. See marker-based paging for details. This parameter cannot be used simultaneously with the ‘offset’ parameter.
offset
The offset of the item at which to begin the response. See offset-based paging for details.
limit
The maximum number of items to return.
completion
Returns an iterator of users or a BoxSDKError
-
Invite an existing user to join an Enterprise.
Declaration
Parameters
enterpriseId
The ID of the enterprise the user will be invited to
login
The login of the user that will receive the invitation
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
completion
Returns a standard Invite object or an error.
-
Move all of the items owned by a user into a new folder in another user’s account.
Declaration
Parameters
sourceUserID
The ID of the user whose owned content will be moved
destinationUserID
The ID of the user who the folder will be transferred to
notify
Whether the destination user should receive email notification of the transfer
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
completion
Returns a standard Folder object or an error.
-
Used to convert one of the user’s confirmed email aliases into the user’s primary login.
Declaration
Parameters
userId
The ID of the user
login
The email alias to become the primary email
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
completion
Returns a standard User object or an error.
-
Retrieves all email aliases for this user.
Declaration
Swift
public func listEmailAliases( userId: String, completion: @escaping Callback<EntryContainer<EmailAlias>> )
Parameters
userId
The ID of the user
completion
Returns a collection of Email Aliases of the user or an error.
-
Adds a new email alias to the given user’s account.
Declaration
Swift
public func createEmailAlias( userId: String, email: String, completion: @escaping Callback<EmailAlias> )
Parameters
userId
The ID of the user
email
The email address to add to the account as an alias
completion
Returns a Email Aliases object or an error.
-
Removes an email alias from a user.
Declaration
Swift
public func deleteEmailAlias( userId: String, emailAliasId: String, completion: @escaping Callback<Void> )
Parameters
userId
The ID of the user
emailAliasId
The ID of the email alias
completion
An empty response will be returned upon successful deletion. An error is thrown if the user don’t have permission to delete the email alias.
-
Roll a user out of their enterprise (and convert them to a standalone free user)
Declaration
Parameters
userId
The ID of the user
notify
Whether the user should receive an email when they are rolled out of an enterprise
fields
List of user object fields to include in the response. Only those fields will be populated on the resulting model object. If not passed, a default set of fields will be returned.
completion
Returns a standard User object of the updated user, or an error.