Get Alert Rules
Last updated - 23 July, 2025
Overview
LogicMonitor’s REST API allows you to programmatically get alert rules for your account. As with all of our API calls, authentication is required.
Request Information
Returns a list of alert rules
HTTP Method: GET
URI: /setting/alert/rules
Request Parameters: By default, a list of 50 alert rules will be returned. You can include sort, filter, fields, size, and offset parameters that control what data is included in the response and how it is formatted. Query parameters are not considered part of the resource path, and should not be included in the calculation of the LMv1 authentication signature.
| Property | Syntax | Description | Example URI |
| sort | sort={+ or -}property | Sorts the response by the property specified in either increasing (+) or decreasing (-) order | /setting/alert/rules?sort=-priority |
| filter | filter=_all~value | Filters the response to include only the results that include the specified value, and multiple filters can be separated by a comma | /setting/alert/rules?filter=levelStr:All |
| fields | fields=list of properties separated by commas | Filters the response to only include the following fields for each object | /setting/alert/rules?fields=name,id,priority |
| size | size=integer | The number of results to display, where a maximum of 1000 results can be requested | /setting/alert/rules?size=10 |
| offset | offset=integer | The number of results to offset the displayed results by | /setting/alert/rules?offset=20 |
Example
The following Python script gets id, name and priority for all alert rules in 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 ='GET' resourcePath = '/setting/alert/rules' queryParams ='?fields=id,name,priority' data = '' #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.get(url, data=data, headers=headers) # Print status and body of response print('Response Status:',response.status_code) print('Response Body:',response.content)