Update Users
Last updated - 23 July, 2025
You can use LogicMonitor’s REST API to programmatically update users in your account.
Note: As with all of our API calls, authentication is required.
HTTP Method: PUT
Resource URI: /setting/admins/{adminID}
Where adminID is the ID of the user you’d like to update.
You can include the following parameters in your PUT request.
Notes:
- Consistent with HTTP standards, any fields not included in a PUT request will revert to their default values
- To update password, you’ll need a changePassword=true query parameter included in the request
Property | Description | Type | Required? |
| roles | The roles assigned to the user | JSON Object | yes |
| contactMethod | email | smsemail | String | no – defaults to email |
| The email address associated with the user | String | yes | |
| phone | The phone number associated with the user | String | no |
| smsEmail | The sms email address associated with the user | String | no |
| smsEmailFormat | sms | fullText, where sms = 160 characters and fullText= all characters | String | no – defaults to sms |
| username | The username associated with the user | String | yes |
| firstName | The first name associated with the user | String | no |
| lastName | The last name associated with the user | String | no |
| password | The password associated with the user | String | no – defaults to no change |
| status | The user’s status. Should be one of active and suspended | String | no – defaults to active |
| note | Any notes assocaited with the user | String | no |
| forcePasswordChange | Whether or not the user should be forced to change their password on the next login | Boolean | no – defaults to false |
| viewPermission | The account tabs that will be visible to the user | JSON Object | no – defaults to all pages visible |
| acceptEULA | Whether or not the user is required to accept the EULA (end user license agreement) | Boolean | no – defaults to false |
| twoFAEnabled | Whether or not two factor authentication is enabled for the user | Boolean | no – defaults to false |
Example
The following Python script updates the user sarah, including the user’s password (hence the changePassword=true in the request) in account api.logicmonitor.com:
#!/bin/env python import requests import json import hashlib import base64 import time import hmac #Account Info AccessId ='48v2wRzfK94y53sq5EuF' AccessKey ='H_D9i(f5~B^U36^K6i42=^nS~e75gy382Bf6{)P+' Company = 'api' #Request Info httpVerb ='PUT' resourcePath = '/setting/admins/147' queryParams ='?changePassword=true' data = '{"roles":[{"name":"administrator"}],"email":"[email protected]","username":"sarah","password":"8v.VM^3LPrQKbHxyz","status":"active"}' #Construct URL url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath + queryParams #Get current time in milliseconds epoch = str(int(time.time() * 1000)) #Concatenate Request details requestVars = httpVerb + epoch + data + resourcePath #Construct signature hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest() signature = base64.b64encode(hmac1.encode()) #Construct headers auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch headers = {'Content-Type':'application/json','Authorization':auth} #Make request response = requests.put(url, data=data, headers=headers) #Print status and body of response print('Response Status:',response.status_code) print('Response Body:',response.content)