Add Users
Last updated on 26 February, 2021You can use LogicMonitor’s REST API to programmatically add users to your account.
Note: As with all our API resources, authentication is required.
Add a User
HTTP Method:POST
URI: /setting/admins
Request Parameters:You can POST the following properties for a new user
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 | yes |
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 adds a user with administrator privileges to 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 ='POST'
resourcePath = '/setting/admins'
queryParams =''
data = '{"roles":[{"name":"administrator"}],"email":"[email protected]","username":"sarah","password":"8v.VM^3LPrQKbH","smsEmail":"[email protected]"}'
#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.post(url, data=data, headers=headers)
#Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)