Add Users

Last updated on 26 February, 2021

You 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
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)
Python 3
In This Article