Add a Collector
Last updated - 23 July, 2025
Overview
With LogicMonitor’s REST API you can programmatically add Collectors to your account. Once you add a Collector resource to your account, you’ll need to download the Collector installer and run the resulting executable (Windows) or binary (Linux).
As with all of our API calls, authentication is required.
Request Information
HTTP Method: POST
URI: /setting/collectors
Request parameters: You can POST the following properties for each Collector.
| Property | Description | Required? | Type |
| description | The Collector’s description | No | String |
| backupAgentId | The Id of the failover Collector configured for this Collector | No | Integer |
| enableFailBack | Whether or not automatic failback is enabled for the Collector | No | Boolean |
| resendIval | The interval, in minutes, after which alert notifications for the Collector will be resent | No | Integer |
| suppressAlertClear | Whether alert clear notifications are suppressed for the Collector | No | Boolean |
| escalatingChainId | The Id of the escalation chain associated with this Collector | No | Integer |
| collectorGroupId | The Id of the group the Collector is in | No | Integer |
| enableFailOverOnCollectorDevice | Whether or not the device the Collector is installed on is enabled for fail over | No | Boolean |
| needAutoCreateCollectorDevice | Whether or not the device the Collector is installed on should be automatically added into monitoring | No | Boolean |
Example
The following Python script adds a Collector.
#!/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/collectors' queryParams = '' data = '{"description":"prodCollector1","escalatingChainId":20,"collectorGroupId":4,"backupAgentId":85}' #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() # 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)