REST API Developer's Guide

Get API Tokens

You can use LogicMonitor's REST API to programmatically get information about the API Tokens in your account.  Specifically, you can:

  1. Get all API Tokens in the account
  2. Get information about a particular user's API Tokens

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

 

Get all API Tokens

HTTP Method: GET

URI: /setting/admins/apitokens

Request Parameters:By default, a list of 50 api tokens 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

sortsort={+ or -}propertySorts the response by the property specified in either increasing (+) or decreasing (-) order/setting/admins/apitokens?sort=-id
filterfilter=property{operator}value Filters the response according to the operator and value specified. Note that you can use * to match on more than one character. You can use the '.' character to filter values within an object (e.g. custom properties), and multiple filters can be separated by a comma.

Operators include:
  • Greater than or equals: >:
  • Less than or equals: <:
  • Greater than: >
  • Less than: <
  • Does not equal: !:
  • Equals: :
  • Includes: ~
  • Does not include: !~
/setting/admins/apitokens?filter=status:2
fieldsfields=list of properties separated by commas Filters the response to only include the following fields for each object/setting/admins/apitokens?fields=id,status,adminName
sizesize=integerThe number of results to display/setting/admins/apitokens?size=10
offsetoffset=integerThe number of results to offset the displayed results by/setting/admins/apitokens?offset=20

 

Example

The following Python script gets all API Tokens in the 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 ='GET'
resourcePath = '/setting/admins/apitokens'
queryParams =''
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

 

Get information about a particular user's API Tokens

HTTP Method: GET

Resource URI: /setting/admins/{adminID}/apitokens

Where adminID is the ID of the user you'd like to get api tokens for, which you can get via the users resource.

 

Example

The following Python script gets all api tokens for user 131 in 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 ='GET'
resourcePath = '/setting/admins/131/apitokens'
queryParams =''
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