Add API Tokens
Last updated on 06 November, 2020Overview
You can use LogicMonitor’s REST API to programmatically add API tokens. As with all of our API calls, authentication is required.
HTTP Method: POST
URI: /setting/admins/{adminID}/apitokens (where adminID is the Id of the user for which you’d like to add API tokens; you can get this Id from the Users resource)
Request Parameters: You can POST the following properties for API tokens.
Note: Although all POST parameters are optional for this resource, an empty payload still needs to include a set of curly braces, i.e. {}
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 adds a set of API tokens 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 ='POST'
resourcePath = '/setting/admins/32/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
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.post(url, data=data, headers=headers)
# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)