REST API Developer's Guide

Get Alert Rules

LogicMonitor's REST API allows you to programmatically get alert rules for your account.  

Note: As with all of our API calls, authentication is required.   

 

Get a list of alert rules

Returns a list of alerts

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. Note that query parameters are not considered part of the resource path, and should not be included 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 example 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
signature = base64.b64encode(hmac.new(AccessKey,msg=requestVars,digestmod=hashlib.sha256).hexdigest())

#Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature + ':' + 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