Skip to main content
Version: 10.2

Introduction

This article presents how the Open iT License Monitor API can be utilized to connect to the Open iT data warehouse for reporting.

License Monitor Portal API

The License Monitor Portal (LMP) Application Programming Interface (API) provides an easier way to fetch and display data from the Analysis Server backend to a web interface. The data returned by the API follows the .json format.

The License Monitor Portal API uses HTTP GET and POST requests with JSON arguments and responses. The commands in this document utilize the License Monitor API and, as such, require a web browser or any API tool that is connected to the network.

NOTE

Each request is authenticated against NTLM authentication. Make sure to provide the needed authorization before using the API endpoints below.

GET /api/GetProducts

Retrieves the current usage information for vendor license(s).

Instructions
Field NameDescriptionValuesRequiredExample
filtersVendor license name<vendorlicense name>no?filters=server001;adskflex
packagePackage name<package name>no?package=package1
featureFeature name<feature name>no?feature=acad
userUser<user name>no?user=user1
GetProducts Field Filters

On a browser, go tohttp(s)://<as_hostname>:<port>/analyzer/api/GetProducts. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.

Example
http://desktop-oit:80/analyzer/api/GetProducts
Example Return
[
{
"CollectionTime": 1628661137,
"DistinctUsers": 24,
"Active": 0,
"Inactive": 0,
"Indeterminate": 50,
"Mapped": 0,
"MinLicenseExpiration": 1688054400,
"MaxAvailable": 940,
"Product": "licserver03;ibmratl",
"MappingIcon": "ServerDown",
"ExpiredIcon": "",
"IsCurrent": false,
"LogActive": 0,
"LogInactive": 0
}
]

GET /api/GetFeatures

Retrieves the current features of users.

Instructions
Field NameDescriptionValuesRequiredExample
productVendor license nameyes?product=PRODUCT_123
packagePackage nameno?package=package1
userUser nameno?user=user1
filtersFeature nameRequired: sqlno
GetFeatures Field Filters

On a browser, go tohttp(s)://<as_hostname>:<port>/analyzer/api/GetFeatures. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.

Example
http//:desktop-oit:80/analyzer/api/GetFeatures?product=PRODUCT_123
Example Return
[[{"Feature":"ARMS_ID","TokenCost":"","TokenPool":"","TokenSource":"","ServerName":"dalpaveva02","Daemon":"undef","LicenseExpiration":1704002399,"DistinctUsers":0,"MaxAvailable":99999,"MaxInUse":0,"MaxBorrowed":0,"MaxQueued":0,"LicenseType":"Sentinel","FeatureType":"feature","Version":"","LicenseModel":"Online","Active":0,"Inactive":0,"BorrowedActive":0,"BorrowedInactive":0,"UnusedReserve":0,"UsedReserve":0,"MappedTo":null,"TokenCostValue":1,"Available":99999,"InUse":0,"ActiveUse":0,"InactiveUse":0,"BorrowedUse":0,"BorrowedActiveUse":0,"BorrowedInactiveUse":0,"AvailableUser":false,"Package":"","LogAvailable":100,"LogInUse":0,"LogUnusedReserve":0,"LogQueued":0,"LogUsedReserve":0,"LogBorrowed":0,"LogActive":NaN,"LogInactive":NaN,"LogBorrowedActive":NaN,"LogBorrowedInactive":NaN,"ShowExpired":true,"ShowWarning":false},{"Feature":"AVEVA_DLS","TokenCost":"","TokenPool":"","TokenSource":"","ServerName":"dalpaveva02","Daemon":"undef","LicenseExpiration":1704002399,"DistinctUsers":0,"MaxAvailable":99999,"MaxInUse":0,"MaxBorrowed":0,"MaxQueued":0,"LicenseType":"Sentinel","FeatureType":"feature","Version":"","LicenseModel":"Online","Active":0,"Inactive":0,"BorrowedActive":0,"BorrowedInactive":0,"UnusedReserve":0,"UsedReserve":0,"MappedTo":null,"TokenCostValue":1,"Available":99999,"InUse":0,"ActiveUse":0,"InactiveUse":0,"BorrowedUse":0,"BorrowedActiveUse":0,"BorrowedInactiveUse":0,"AvailableUser":false,"Package":"","LogAvailable":100,"LogInUse":0,"LogUnusedReserve":0,"LogQueued":0,"LogUsedReserve":0,"LogBorrowed":0,"LogActive":NaN,"LogInactive":NaN,"LogBorrowedActive":NaN,"LogBorrowedInactive":NaN,"ShowExpired":true,"ShowWarning":false}]

GET /api/GetUsers

Retrieves the current users of vendor license(s). This endpoint is not case-sensitive.

Instructions
Field NameDescriptionValuesRequiredExample
format<sql or mdx>Required: sqlyes?format=sql
productVendor license nameyes?product=Autodesk_Global
featureFeature nameyes?feature=%
packagePackage nameno
typeFeature typefeature, package, componentno
tokenpoolToken mastertoken poolno
sortdatafieldColumn or field namePossible values:

Username, UsageTime, LicenseHandle,
ShareHandle, UsedLicenses, QueuedLicenses,
BorrowedLicenses, license_model

The default is Username.
This is for internal use. Requires a field.
yes
sortorderasc, descno
filtersUser nameno
tokenpoolToken mastertoken poolno
GetUsers Field Filters

On a browser, go tohttp(s)://<as_hostname>:<port>/analyzer/api/GetUsers. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.

Example
http://desktop-oit:80/analyzer/api/GetUsers?format=sql&product=%&feature=%&sortdatafield=UserName 
Example Return
{
"totalCount": 11,
"data": [
{
"UserName": "user12",
"UserHost": "pc-16",
"UserDisplay": "pc-02 telelogic",
"UsageTime": 1602462480,
"LicenseHandle": "2207",
"ShareHandle": "undef",
"UsedLicenses": 1,
"QueuedLicenses": 0,
"BorrowedLicenses": 0,
"LicenseModelStatus": "active",
"app_status": null,
"app_duration": null,
"license_model": "Online",
"DisplayName": null,
"Mapped": null
},
{
"UserName": "user13",
"UserHost": "pc-107",
"UserDisplay": "pc-107 telelogic",
"UsageTime": 1602463560,
"LicenseHandle": "4536",
"ShareHandle": "undef",
"UsedLicenses": 1,
"QueuedLicenses": 0,
"BorrowedLicenses": 0,
"LicenseModelStatus": "active",
"app_status": null,
"app_duration": null,
"license_model": "Online",
"DisplayName": null,
"Mapped": null
}
]
}

GET /api/GetServerDown

This retrieves the list of servers that failed to send any data within the last 30 minutes of daemons that are down.

Instructions
Field NameDescriptionValuesRequiredExample
filtersVendor license nameno?filters=PRODUCT_123
GetServerDown Field Filters

On a browser, go tohttp(s)://<as_hostname>:<port>/analyzer/api/GetServerDown. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.

Example
http://desktop-oit:80/analyzer/api/GetServerDown
Example Return
[
{
"Label": "flex-sample_mnl1301lin_23933"
},
{
"Label": "lcn001,dsg,openit,local;slickeditinc"
},
{
"Label": "lcn001.dsg.openit.local;altium"
},
{
"Label": "lcn001.dsg.openit.local;dsls"
},
{
"Label": "lcn001.dsg.openit.local;fekete"
},
{
"Label": "lcn001.dsg.openit.local;parasoft"
},
{
"Label": "lcn001.dsg.openit.local;peloton;MasterView"
},
{
"Label": "lcn001.dsg.openit.local;rlm"
},
{
"Label": "lcn001.dsg.openit.local;sentinel"
},
{
"Label": "lcn001;arcgis"
},
{
"Label": "sasrd25073,sasrd25071,sasrd25072;mlm"
}
]

GET /api/GetExpirationFeatures

This retrieves the license expiration of the application features.

Instructions
Field NameDescriptionValuesRequiredExample
productVendor license nameyes?product=PRODUCT_123
packagePackage nameno
filtersFeature nameno
searchSearch level0 - 2 (Default: 0)
*For Internal use only.
no
GetExpirationFeatures Field Filters

On a browser, go tohttp(s)://<as_hostname>:<port>/analyzer/api/GetExpirationFeatures. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.

Example
http://desktop-oit:80/analyzer/api/GetExpirationFeatures?product=PRODUCT_123
Example Return
[
{
"Feature": "ADALangPack",
"Version": "8000.13",
"Package": "",
"LicenseExpiration": 2147483647,
"MinLicenseExpiration": 1688054400,
"ShowExpired": false,
"ShowWarning": false,
"LicenseType": "Flex",
"FeatureType": "package",
"LicenseExpirationToDate": "/Date(2147483647000)/"
}
]

GET /api/GetHistory

This retrieves the historical data of the application for utilization trend charts. Returns follow the MDX query format.

Instructions
Field NameDescriptionValuesRequiredExample
productVendor license nameyes?product=PRODUCT_123
featureFeature nameyes?feature=feature1
packagePackage nameno?package=package1
ftypeFeature typefaeture, component, packageno?ftype=feature
GetHistory Field Filters

On a browser, go tohttp(s)://<as_hostname>:<port>/analyzer/api/GetHistory. Replace <as_hostname> with the actual hostname of the analysis server and <port> with the port number where the server is running.

Example
http://desktop-oit:80/analyzer/api/GetHistory?product=PRODUCT_123&feature=feature1
Example Return
[
{
"name": "Max Available",
"data": [
[
1442275200000,
477
],
[
1442361600000,
477
],
[
1442448000000,
477
],
[
1442534400000,
477
],
[
1442620800000,
477
],
[
1442707200000,
477
],
[
1442793600000,
477
],
[
1442880000000,
442
],
[
1442966400000,
472
],
]
],
"type": "line",
"yAxis": 0
},
{
"name": "Elapsed Time",
"data": [
[
1442275200000,
2674.1666666666665
],
[
1442361600000,
3147.3333333333335
],
[
1442448000000,
3108.9166666666665
],
[
1442534400000,
3141.4166666666665
],
[
1442620800000,
1275.3333333333333
],
[
1442707200000,
580
],
[
1442793600000,
2671.0833333333335
],
[
1442880000000,
3238.5833333333335
],
[
1442966400000,
3872.5833333333335
],
[
1443052800000,
3235
],
],
"type": "column",
"yAxis": 1
},
{
"name": "Denials",
"data": [
[
1442275200000,
4
],
[
1442361600000,
4
],
[
1442448000000,
0
],
[
1442534400000,
0
],
[
1442620800000,
4
],
[
1442707200000,
5
],
[
1442793600000,
24
],
[
1442880000000,
35
],
],
"type": "column",
"yAxis": 2
}
]

GET /api/GetHistoryReserved

This retrieves the historical data of reserved license usage, distinct users, and max in use of selected vendor license/package/feature.

Instructions
Field NameDescriptionValuesRequiredExample
productVendor license nameyes?product=PRODUCT_123
featureFeature nameyes?feature=feature1
packagePackage nameno?package=package1
ftypeFeature typefeature, component, packageno?ftype=feature
GetHistoryReserved Field Filters

On a browser, go to http(s)://<as_hostname>:<port>/analyzer/api/GetHistoryReserved. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.

Example
http://desktop-oit:80/analyzer/api/GetHistoryReserved?product=PRODUCT_123&feature=feature1
Example Return
[
{
"series": [
{
"name": "Reserved Licenses",
"data": []
},
{
"name": "Distinct Users",
"data": []
},
{
"name": "Max In Use",
"data": []
}
],
"categories": []
}
]
NOTE

The data will contain array of values.

GET /api/GetEfficiency

This retrieves the historical data of the application for efficiency charts quick reports. Returns follow the MDX query format.

Instructions
Field NameDescriptionValuesRequiredExample
productVendor license nameyes?product=PRODUCT_123
featureFeature nameyes?feature=feature1
packagePackage nameyes?package=package1
yearYearyes
monthMonthyes
lastDuration of the query101 - last day
107 - last 7 days
465 - last 365 days
201 - last week
301 - last month
401 - last quarter
typeType of applicationfeature, component, package
GetEfficiency Field FIlters

On a browser, go tohttp(s)://<as_hostname>:<port>/analyzer/api/GetEfficiency. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.

Example
http://desktop-oit:80/analyzer/api/GetEfficiency?product=PRODUCT_123&feature=feature1&last=107&package=&type=package&format=sql
Example Return
[
{
"series": [
{
"name": "Total Duration",
"data": [
[
"5",
359.99999999999972
],
[
"13",
359.9166666666664
],
[
"19",
358.6666666666664
],
[
"21",
358.4166666666664
],
[
"23",
344.1666666666664
],
[
"25",
342.24999999999972
],
[
"27",
340.99999999999972
],
[
"29",
338.6666666666664
],
[
"31",
329.6666666666664
],
[
"33",
328.99999999999972
],
[
"34",
327.83333333333309
],
[
"35",
325.91666666666634
],
[
"37",
325.58333333333303
],
[
"39",
324.49999999999972
],
[
"40",
323.99999999999972
],
[
"41",
323.91666666666634
],
[
"42",
322.58333333333303
],
[
"43",
322.49999999999972
],
[
"44",
321.6666666666664
],
[
"45",
320.74999999999972
],
[
"46",
320.6666666666664
],
[
"48",
320.24999999999972
],
[
"49",
320.08333333333309
],
[
"51",
319.4166666666664
],
[
"52",
318.49999999999972
],
[
"53",
318.4166666666664
],
[
"54",
317.66666666666634
],
[
"55",
317.58333333333303
],
]
}
]
}
]

GET /api/GetHeatMap

This retrieves the historical data of the feature for the heatmap report quick chart. Returns follow the MDX query format.

Instructions
Field NameDescriptionValuesRequiredExample
productVendor license nameyes?product=PRODUCT_123
featureFeature nameyes?feature=feature1
packagePackage nameyes?package=package1
yearYearyes
monthMonthyes
lastDuration of the query101 - last day
107 - last 7 days
465 - last 365 days
201 - last week
301 - last month
401 - last quarter
no
typeType of applicationfeature, component, packageno
GetHeatMap Field Filters

On a browser, go tohttp(s)://<as_hostname>:<port>/analyzer/api/GetHeatMap. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.

Example
http://desktop-oit:80/analyzer/api/GetHeatMap?product=PRODUCT_123&feature=feature1&last=107&package=&type=package&format=sql
Example Return
[
{
"categories": [
[
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23"
],
[
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
]
],
"series": [
{
"name": "Max In Use",
"data": [
[
0,
0,
97
],
[
1,
0,
97
],
[
2,
0,
89
],
[
3,
0,
97
],
[
8,
0,
89
],
[
9,
0,
89
],
[
10,
0,
89
],
[
11,
0,
94
],
[
12,
0,
89
],
[
13,
0,
89
],
[
14,
0,
97
],
[
15,
0,
97
],
[
16,
0,
97
],
[
17,
0,
81
],
[
18,
0,
81
],
[
19,
0,
81
],
[
20,
0,
81
],
[
21,
0,
84
],
[
22,
0,
86
],
]
}
]
}
]

GET /api/GetHttpUserName

This retrieves the current user.

Instructions

On a browser, go tohttp(s)://<as_hostname>:<port>/analyzer/api/GetHttpUserName. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.


Example
https://desktop-oit:80/analyzer/api/GetHttpUserName
Example Return
OIT\user1

POST /api/GetConcurrentUsers

Retrieves the count of distinct user aggregated over all vendor licenses.

info

You can use the instructions in the Postman API Documentation - Create a new request to learn how to properly create and send a request with the Postman API client.

Instructions

For POST commands, you can use applications such as Postman to retrieve the needed result.

  1. In Postman, go to your Workspaces and open a new request.

  2. Select POST from the drop-down then enter or paste the URL in the blank field. Click Send.

    Paste http(s)://<as_hostname>:<port>/analyzer/api/GetConcurrentUsers in the blank field. Replace <as_hostname> with the actual hostname of the Analysis Server and <port> with the port number where the server is running.

    Example
    http://desktop-oit:80/analyzer/api/GetConcurrentUsers
  3. The returned output should be seen below.

    Example Return
    148