REST API Developer's Guide

Update API Tokens

You can use LogicMonitor's REST API to programmatically update API Tokens.  For example, you may enable/disable tokens.

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

 

HTTP Method: PUT

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

Where adminID is the ID of the user whose api tokens you intend to update, and apiTokenID is the ID of the API Token set you intend to update.  You can get user iDs from the Users resource, and apiTokensID by making a GET request to the API Tokens resource.

You can include the following parameters in your PUT request:


Property

Description

Required?

Type

status 1 | 2 - Whether or not the API Tokens are enabled, where 2 = enabled. No - defaults to 2 Integer
note The note associated with the API Tokens No String

 

Example

The following Python script disables API Token 248 for user 32:

#!/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 = '/setting/admins/32/apitokens/248'
queryParams =''
data = '{"status":1}'

#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.put(url, data=data, headers=headers)

#Print status and body of response
print 'Response Status:',response.status_code
print 'Response Body:',response.content