Updating a user's email
Update a user's email address and keep assigned roles, groups, and workspaces.Before you begin
- Ensure the user issuing API calls has the
Environment Administratorrole and theSecurity Administratorrole.
- Generate an access token:
- For users, generate a personal access token. For further information, see Generating a Personal Access Token.
- For service accounts, generate a service account token. For further information about how to generate a service account token, see Generating a service account token. Once generated, a service account token expires after 30 minutes. If it expires, generate a new token using the POST method at the endpoint
https://api.{env}.cloud.talend.com/security/oauth/token.
Procedure
Get the ID of the user for which you need to update the email address.
In Talend Management Console, when you click this user on the user list of the Users&Security page, this ID is displayed on the detail page of this user.
Or you can obtain IDs of all users via the following API request:
GET https://api.<env>.cloud.talend.com/account/usersGet the IDs of the groups to which this user belongs.
In Talend Management Console, these groups are listed in the Group(s) field of the detail page of this user. Then on the Users & Security > Groups page, find the IDs of these groups.
Or make the following API calls:
Get all existing groups:
GET https://api.<env>.cloud.talend.com/account/groupsGet users of each group:
GET https://api.<env>.cloud.talend.com/account/groups/<groupId>/usersIn the response, find the user along with the groups to which this user belongs, and note down the IDs of these groups.
Collect the user’s roles and store the response in its original format. This helps you directly reuse the information in the body of other API requests.
Example
GET https://api.<env>.cloud.talend.com/account/users/<userId>Collect the user’s workspaces:
Example
GET https://api.<env>.cloud.talend.com/security/permissions?userId=<id>The workspace array in the response reads like
[ { "workspaceId": "60e476ad99e79c0afa70628e", "userId": "d2057821-58a1-4237-a56c-fbafc75c94a6", "permissions":["EXECUTE"] }, { "workspaceId": "5ec4225b33f6c500015835ca", "userId": "d2057821-58a1-4237-a56c-fbafc75c94a6", "permissions":["PUBLISH", "EXECUTE", "AUTHOR"] } ]Create a new user with updated email:
Example
POST https://api.<env>.cloud.talend.com/account/users?invite=trueThe request body reads like:
{ "active": "true", "email": "user_new_email_to_receive_invitation", "firstName": "string", "lastname": "string", "roleIds": [ "role_id_retrieved_in_previous_steps" ] }Assign the new user to the same group:
Example
POST https://api.<env>.cloud.talend.com/account/users/{userId}/groupsThe request body reads like:
[ "ID_of_group1", "ID_of_group2" ]Assign the new user the same workspace and workspace permissions:
Example
POST https://api.<your_environment>.cloud.talend.com/security/permissions/batchThe request body reads like:
[ { "workspaceId": "workspace_id_1", "userId": "new_user_id", "permissions": [ "EXECUTE" ] }, { "workspaceId": "workspace_id_3", "userId": "new_user_id", "permissions": [ "PUBLISH", "EXECUTE", "AUTHOR" ] } ]Delete the user with the old email:
Example
DELETE https://api.us.cloud.talend.com/account/users/{userId}
Results
The user’s email address has been successfully updated, along with associated roles, groups, and workspace permissions.