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. |
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
maintainersobject 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.