Skip to content

Update User Object

User property values of the logged in users can be updated with an API operation described below. This operation is useful if an application needs to provide to the users the functionality for updating user profiles and registration properties. A user must be logged in in order to update his registration properties.

- (void)updateWithUser:(BackendlessUser * _Nonnull)user responseHandler:^(BackendlessUser * _Nonnull)responseHandler errorHandler:^(Fault * _Nonnull)errorHandler;
func update(user: BackendlessUser, responseHandler: ((BackendlessUser) -> Void)!, errorHandler: ((Fault) -> Void)!)

where

Argument                Description
user an instance of the BackendlessUser class which contains property values to update the user account with.

The return value from the server is BackendlessUser object.

Errors

The following errors may occur during the Update User Properties API call. See the Error Handling section for details on how to retrieve the error code when the server returns an error.

Error Code
Description
2002
Version is disabled or provided wrong application info (application id or secret key)
3018
The property marked as "identity" is being updated and another user already has the specified value which must be unique.
3024
General "update registration" error. Error message should contain additional details.
3028
User is not logged in.
3029
Cannot modify properties of another user. Returned when one user is logged and the call attempts to modify properties of another user.
3030
Unable to locate user account - invalid user id.
3031
A new "dynamic" property is being added, but dynamic property definition is disabled.
3045
Required properties in the provided object do not contain values.

Example

[Backendless.shared.userService loginWithIdentity:@"james.bond@mi6.co.uk" password:@"iAmWatchingU" responseHandler:^(BackendlessUser *loggedInUser) {
    [loggedInUser updatePropertyWithPropertyName:@"name" propertyValue:@"James"];
    [Backendless.shared.userService updateWithUser:loggedInUser responseHandler:^(BackendlessUser *updatedUser) {
        NSLog(@"User has been updated");
    } errorHandler:^(Fault *fault) {
        NSLog(@"Error: %@", fault.message);
    }];
} errorHandler:^(Fault *fault) {
    NSLog(@"Error: %@", fault.message);
}];
Backendless.shared.userService.login(identity: "james.bond@mi6.co.uk", password: "iAmWatchingU", responseHandler: { loggedInUser in
    loggedInUser.updateProperty(propertyName: "name", propertyValue: "James")
    Backendless.shared.userService.update(user: loggedInUser, responseHandler: { updatedUser in
        print("User has been updated")
    }, errorHandler: { fault in
        print("Error: \(fault.message ?? "")")
    })
}, errorHandler: { fault in
    print("Error: \(fault.message ?? "")")
})