Update a user

PUT https://{controlplane_path}/api/1/rest/public/users/{email}

Updates the user account associated with the specified email address. This endpoint supports both regular user accounts and team accounts. For team accounts, you can update maintainers — the users responsible for managing the team account. In Admin Manager, Environment admins can update app access and authentication methods for multiple users at the same time. They can also select a single user to update their role, app access, or authentication method.

Prerequisites

  • Environment (Org) admin permissions

Path parameters

Key Description
email Required. The email address of the user.

Query parameters

None.

Request header

Basic authentication

To use basic authentication, specify Basic for authorization in the request header, add your credentials (email and password for your SnapLogic user or service account), and specify application/json for content type. For example:


Authorization: Basic {base64_encoded <email>:<password>}
Content-Type: application/json
          

Example of basic authentication using Postman:

Learn more about the basic authentication header in REST API requests.

JWT authentication

When using JWT authentication, the API request includes specific headers. In the request header, specify Bearer Token for authorization, add the token, and specify application/json for content type. These headers are automatically added when you configure bearer token authentication in your API client. The authorization header contains the word Bearer followed by a space and your JWT.


Authorization: Bearer Token {token}
Content-Type: application/json
          

Example of JWT authentication using Postman:

Request body

{
  "first_name" : "...",
  "last_name" : "...",
  "allow_password_login" : true,
  "revoke_old_password" : true,
  "utility" : true,
  "ui_access" : true,
  "created_by" : "...",
  "certificate" : "...",
  "file_handle" : "..."
}        

For a team account (see Updating a team account):

{
  "first_name" : "...",
  "ui_access" : true,
  "managed" : true,
  "maintainers" : {
    "/OrgName" : [
      "[email protected]",
      "[email protected]"
    ]
  }
}        
Key Type Description
first_name string The first name of the user.
last_name string The last name of the user.
allow_password_login Boolean If true, the user is allowed to log in with a password.
revoke_old_password Boolean If true, the user's password is invalidated.
utility Boolean If true, the account is tagged as a service account, not a user account, for use with automated processes.
ui_access Boolean If true, the user is granted access to the SnapLogic UI.
created_by string The user who originally created the account, if it is a service account.

Learn more: Creating a User

certificate string User's certificate containing public key.
file_handle L{werkzeug.wsgi.LimitedStream} An open file handle with the content, to store the user's certificate file that contains public key.
managed boolean If true, indicates that the account is a managed team account. Must be included when setting the maintainers field; without it, maintainer changes are silently ignored.
maintainers object A map of org paths to lists of user email addresses who are designated as maintainers of the team account. Maintainers are the users responsible for managing the team account. Only applicable when managed is true.
Note: The revoke_old_password option only works when enabled via feature flag, which is now deprecated.

Updating a team account

A team account is a shared account not tied to an individual user, typically used for automated processes or to represent a group (for example, [email protected]). Unlike regular user accounts, team accounts can have maintainers: the individual users who are responsible for managing the team account.

To update a team account's maintainers, you must include "managed": true in the request body. Without this field, the API call succeeds without returning an error, but the maintainer changes are not applied.

Request body example: Updating maintainers for a team account

{
  "first_name" : "My Team Account",
  "ui_access" : true,
  "managed" : true,
  "maintainers" : {
    "/OrgName" : [
      "[email protected]",
      "[email protected]"
    ]
  }
}        
  • The maintainers object uses Org paths (for example, /OrgName) as keys, and arrays of user email addresses as values.
  • You can specify maintainers for multiple Org paths in a single request.