Update Device Group Properties
Last updated - 23 July, 2025
You can use LogicMonitor’s REST API to programmatically update device properties. There are two ways to do this:
- by making a PATCH request to the device group resource – you can update only the customProperties object and keep the remaining fields the same. By using opType = replace, you can replace the values of one or more properties within the customProperties object.
- by updating the specific property value via the device group property resource
Note: As with all of our API calls, authentication is required.
Update a property via the device group property resource
HTTP Method: PUT
Resource URI: /device/groups/{groupID}/properties/{propertyName}
Where groupID is the ID of the group you’d like to update a property for, which you can get from the group resource. propertyName is the name of the property you’d like to update (in all lower case).
You’ll need to include the updated value in your PUT request.
Example
The following Python script updates the value of property proddc for group 43:
#!/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 = '/device/groups/43/properties/proddc' queryParams ='' data = '{"value":"DC"}' #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)