Upcoming Webinar: Register now >>

15th

January

2025

Must-attend SAM event of the year

15th

January

2025

Must-attend SAM event of the year

OpenLM System Open API version 1.7

Subscribe to our blog

Loading

General

The OpenLM system is arranged in a star formation, with the OpenLM Server in its hub. The OpenLM Server interfaces the main user interface, the EasyAdmin web application via HTTP requests. These request messages are sent using the POST method. The request & response message format is XML text.

OpenLM has released a set of open APIs for users who wish to apply the capabilities embedded in the OpenLM software for use in their own applications. These APIs may accommodate querying of the license management system for current and historical license usage, querying available licenses’ status, and license report management.

Message format

The message URL format is:

http://<OpenLM Server>:<Requested port>/OpenLMServer/

OpenLM Server: The OpenLM Server name

Requested port: This is the same port number as defined in the OpenLM Server configuration form, for all user interface requests. Its default value is 7014. See the image below for clarification.

The date format in XML requests & responses is a numeric value, which consists of the

number of milliseconds since 1.1.1970. Date values are always in UTC time zone.

User interface requests

Request:  GetActiveProducts

Queries for a complete list of currently active products.
MESSAGE

  1. type: the request name sent to the OpenLM server:GetActiveProducts2
  2. timeformat & time zone: local date format and time zone settings, as defined by the user.

PAGING

  1. start record= x ,end record = y : show record numbers x to y from the response. In this example show first 31 records.
  2. sort=””: Sort by a specific column
  3. dir=””: Arrange the response in ascendingdescending order, for ascending order: dir=”ASC”. For descending order: dir=”DESC”

SESSION

  1. sessionId: If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. When the “enable permission” option is disabled, the session id is 0. The “UserAuthentication” request returns the session id number for a specific user.
  2. refresh: This flag determines whether the EasyAdmin Licenses window should be automatically refreshed.

SERVER

Requests a list of currently used instances of a specific server. In this example – it is ARCGIS10.

VENDOR

Requests a list of currently used instances of a specific vendor. In this example – it is ArcGIS

FEATURE

Requests a list of currently used instances of a specific feature. In this example – it is ArcScan.

PRODUCT

Requests a list of currently used instances of a specific product. In this example – it is ArcView.

Response:  GetActiveProducts

MESSAGE

type: The response name sent from the OpenLM server, e.g.: ActiveProducts2

TOTAL

Returns the number of records in the response.

PRODUCTS

  1. hasp_key Relevant to HASP managed licenses.
  2. lastname: Last name of user
  3. firstname:First name of user
  4. user_idle_time: user’s idle time
  5. linger_due (for Borrowed licenses): Due date/time for returning a Borrowed license
  6. linger_time (for Borrowed licenses): Elapsed time since a license has been Borrowed
  7. borrowed(True/False): License is Borrowed
  8. quantity: Total number of licenses
  9. no_of_lics: Number of licenses currently in use
  10. server_name: License server descriptive name, as given in the OpenLM Configuration form, e.g.: AutoCAD.
  11. handle: FlexLM license handler TBD
  12. duration: duration in seconds of the featured license session
  13. IP: User’s Workstation’s IP
  14. workstation: workstation name
  15. start_time: Session start time, represented in UNIX timestamp
  16. product_name: Product name
  17. product: Feature name
  18. vendor:Vendor name
  19. username: User name
  20. version: feature version
In OpenLM version 1.8, this API would return the user’s email and phone number as well.

Request:  GetDenials

Returns a list of the denials that have occurred .
MESSAGE

  1. type: the request name sent to the OpenLM server:GetDenials
  2. timeformat & time zone: local date format and time zone settings, as defined by the user.

PARAMETERS

  1. PARAM name=”username”: Requests the denials of a specific user, e.g.: mira & n.mani
  2. PARAM name=”server”: Requests the denials of a specific license server, e.g.:ARCGIS10
  3. PARAM name=”vendor”: Requests the denials of a specific vendor, e.g.: ARCGIS
  4. PARAM name=”start_time” & “end time”: Requests the denials which occurred within a specified period of time; between the start time and end time. E.g.: the period between 1327989600000 & 1330336800000.
  5. Time is represented using the UNIX timestamp. You can use any online converter to convert the start & end time to UNIX time.
  6. PARAM name=”feature”: Requests the denial instances of the specified feature, e.g.:Viewer.

Response:  GetDenials

MESSAGE

type: The type of response that is retrieved from the OpenLM server, e.g.:Denials


DENIALS

  1. lastname: User’s Last name
  2. firstname: User’s First name
  3. err_msg: Record error message: Notifying the reason for denial
  4. port: TBD
  5. vendor: Vendor name
  6. feature:Feature name
  7. server: Server name
  8. denial_time: Time stamp of the denial occurrance
  9. workstation: User’s workstation
  10. user_name: User name

Request:  getFeaturesList

Queries for a complete list of features registered in the OpenLM database.

MESSAGE

type: the request name sent to the OpenLM server:getFeaturesList

SESSION

sessionId: When the “enable permission” option is disabled, the session id is 0. If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. The “UserAuthentication” request returns the session id number for a specific user.

PARAM

  1. type=”prefix” Requests all features that start with a specific prefix, in this example: A.
  2. type=”server” Requests all features of a specific server, in this example: ARCGIS10
  3. type=”vendor” Requests all features of a specific vendor, in this example: ARCGIS

Response:  getFeaturesList


MESSAGE

type=”ProductsList”: The response name sent to the OpenLM server, e.g.: ProductsList

PRODUCTS
List of products registered in the OpenLM database. Every instance includes two parameters: Feature name ( name ) and Product name ( product_name).

Request:  GetLicenseServerList

Queries for a complete list of license servers registered in the OpenLM database.


MESSAGE

  1. type: the request name sent to the openlm server:GetServersStatistics2
  2. timeformat & time zone: local date format and time zone settings, as defined by the user.

SESSION

  1. sessionId: If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. When the “enable permission” option is disabled, the session id is 0. The “UserAuthentication” request returns the session id number for a specific user.
  2. refresh (True/False): This flag determines whether the EasyAdmin Licenses window should be automatically refreshed.

Response:  GetLicenseServerList

MESSAGE

type the response name sent to the OpenLM server:ServersStatistics2


SERVER

  1. id: Server ID
  2. type: License server type, e.g.: Flexlm .
  3. name: License server descriptive name, as given in the OpenLM Configuration form, e.g.: AutoCAD
  4. used: Number of licenses in use
  5. borrowed: Number of borrowed licenses
  6. quantity: Total licenses available for this license server
  7. usage_percent: Number of used licenses as a percentage of the total number of licenses
  8. lm_status: License server status; green = license server up, red = license server down
  9. lm_tooltip: The response time-stamp.
  10. show_buttons: Irrelevant for API developement


HOST

  1. hostid: The request name sent to the server. In this example, it is GetServersStatistics2
  2. name: License server hostname, e.g.: olm_lm_acad.
  3. port: License server port number, e.g.: 27000.
  4. log_status: redgreen. Red indicates a failure to connect to the OpenLM broker. Greem indicates success.
  5. log_tooltip:Most recent Broker message sent time

 

Request:  GetLicenseUsage

Queries for a list of license usage occurrences.
MESSAGE

  1. type: the request name sent to the OpenLM server:GetLicenseUsage2
  2. timeformat & time zone: local date format and time zone settings, as defined by the user.

SESSION
sessionId: If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. When the “enable permission” option is disabled, the session id is 0. The “UserAuthentication” request returns the session id number for a specific user.

PARAMETERS
FEATURE

  1. server Requests the license usage of a specific server name, In the example: AutoCAD
  2. vendor Requests the license usage of a specific vendor name, In the example: adskflex
  3. feature Requests the license usage of a specific feature name, In the example: 65400MAP_F

PARAM

  1. name=”start_time” & “end time” Queries the usage of licenses within a specified period of time; between the start and end time stamps. In this example, it is the period between 1328680800000 & 1330336800000. Time is represented using the unix timestamp. You can use any online convertor to convert the start & end time to unix time.
  2. name=”resolution”: Sets the resolution of the response records: MinutesHoursDaysWeeksMonths. In this example, the resolution is Hours.
  3. name=”separate_charts”: This parameter determines whether the response should be presented as a sum of all licenses, or as separate columns – one per feature.
  4. name=”ignore_weekends”: truefalse. if true: Ignore license usage records on weekends.

Response:  GetLicenseUsage


MESSAGE
type: The type of response that is retrieved from the OpenLM server. e.g: LicenseUsageInfo
POINTS

  1. from Record start time, represented in unix timestamp
  2. from_chart This parameter is relevant only to the chart display in EasyAdmin
  3. level Number of licenses in use.
  4. level_chart_0 This parameter is relevant only to the chart display in EasyAdmin
  5. total: Total number of available licenses
  6. total_chart_0: This parameter is relevant only to the chart display in EasyAdmin

Request: GetPackageLicenses

Queries for the contents of a specified package
MESSAGE

  1. type: The request name sent to the OpenLM server:GetPackageLicenses
  2. timeformat & time zone: Local date format and time zone settings, as defined by the user.

PARAM

PARAM name= “package_no” Queries for the contents of a specified package, In this example the package number is: 17043.

Response: GetPackageLicenses

MESSAGE

type The type of response that is retrieved from the OpenLM server, e.g.:

PackageLicenses

PARAM

type: The param type retrieved from the OpenLM server, e.g.:licenses

info

  1. name: Feature name
  2. product_name: Product name
  3. used: Number of licenses in use
  4. borrowed: Number of borrowed licenses

Request:  GetServerList

Queries for a complete list of License Servers registered in the OpenLM database.
MESSAGE

type: the request name sent to the OpenLM server: “GetServersList”

SESSION

sessionId: When the “enable permission” option is disabled, the session id is 0.

If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. The “UserAuthentication” request returns the session id number for a specific user.

Response:  GetServerList

 


MESSAGE

type: The type of response that is retrieved from the OpenLM server, e.g.:ServersList

Servers

server name: Server name.

Request:  GetUserPermission

Queries the session id of a specific user.

MESSAGE

type: The request name sent to the OpenLM server, e.g.:UserAuthentication

NAME:

User’s name

PWD:

User’s password

Response:  GetUserPermission


MESSAGE

type: The type of response that is retrieved from the OpenLM server, e.g.: SessionAuthenticationID


SESSIONID

The session id number of the queried user.

Request:  GetVendorList

Queries for a complete list of vendors registered in the OpenLM database.

MESSAGE

type: The request name sent to the OpenLM server: “GetVendorsList”

SESSION

sessionId: When the “enable permission” option is disabled, the session id is 0.

If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. The “UserAuthentication” request returns the session id number for a specific user.

Response:  GetVendorList

 

MESSAGE

type: The type of response that is retrieved from the OpenLM server. In this example: “VendorsList”

Vendors

Vendor Name : Specific Vendor name entry in the vendor list.

Request:  LicenseActivity

Queries for features that have been used and closed in the past

MESSAGE

  1. type: The request name sent to the OpenLM server:GetUserUsage2
  2. timeformat & time zone: Local date format and time zone settings, as defined by the user.

PAGING

  1. start record= x ,end record = y : Show record numbers x to y from the response, in our request show first 31 records.
  2. sort=””: Sort by a specific column
  3. dir=””: Arrange the response in ascendingdescending order. for ascending order: dir=”ASC”. for descending order: dir=”DESC”

SESSION

sessionId: If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. When the “enable permission” option is disabled, the session id is 0. The “UserAuthentication” request returns the session id number for a specific user.

PARAMETERS

  1. PARAM name=”server”: Filter the license Activity query according to a specific server. In this example – it is ARCGIS10.
  2. PARAM name=”vendor”: Filter the license Activity query according to a specific vendor , In this example – it is ARCGIS
  3. PARAM name=”username”: Filter the license Activity query according to a specific user , In this example – it is mira.
  4. PARAM name=”product”: Filter the license Activity query according to a specific product ,In this example – it is Viewer
  5. PARAM name=”groupid”: Filter the license Activity query according to a specific group , In this example,no group is defined ( groupid=0)
  6. PARAM name=”workstation”: Filter the license Activity query according to a specific workstation , In this example – it is mira-pc
  7. PARAM name=”start_time” & “end time”: Filter the license Activity query according to a specified period of time; between start-time and end-time. In this example, it is the period between 1328594400000 & 1329602400000. Time is represented using the unix timestamp. You can use any online convertor to convert the start & end time to unix time.
  8. PARAM name=”consider_working_hours”:
  9. True: Requests license activity entries only within working hours.
  10. False: Requests license activity entries regardless of working hours.

Response:  LicenseActivity

 


MESSAGE

type The type of response that is retrieved from the OpenLM server, e.g.: UserUsage2

Total

Returns the number of records in the response.

PRODUCTS

totalusagetime:

PRODUCT

  1. ip:User’s Workstation’s IP
  2. groupname: User’s group name
  3. projectname: User works on this project
  4. usagetime: License consumption time
  5. product_name: Product name
  6. name: Feature name
  7. server: License server descriptive name, as given in the OpenLM Configuration form, e.g.: AutoCAD.
  8. vendor: Vendor name
  9. end_time: Session start time, represented in unix timestamp
  10. start_time: Session end time, represented in unix timestamp
  11. hostname: hostname
  12. user_name: User’s user name

 

Request:  LicensesList

Queries for a complete list of licenses.
MESSAGE

  1. type: the request name sent to the OpenLM server: GetLicenseServerInfo2
  2. timeformat & time zone: local date format and time zone settings, as defined by the user.

PAGING

  1. start record= x ,end record = y : show record numbers x to y from the response, in this example show first 31 records.
  2. sort=””: Sort by a specific column, in this example :”vendor”
  3. dir=””: Arrange the response in ascendingdescending order.
  4. for ascending order: dir=”ASC”. for descending order: dir=”DESC”


SESSION

  1. sessionId: When the “enable permission” option is disabled, the session id is 0.
  2. If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. The “UserAuthentication” request returns the session id number for a specific user.
  3. refresh: This flag determines whether the EasyAdmin Licenses window should be automatically refreshed.

SERVER

Filter the Query response according to a specified Server. In this example: AutoCAD.

VENDOR

Filter the Query response according to a specified Vendor.

Response:  LicensesList


MESSAGE

type: The message type retrieved from the OpenLM server. e.g.:LicenseServerInfo2

Total

Returns the number of records in the response.

PARAM

type: The param type retrieved from the OpenLM server. In this example: Licenses

Info

  1. version: Feature version
  2. vendor: Vendor name
  3. name: Feature name
  4. product_name: Product name
  5. total: Total number of licenses per specific feature
  6. used: Number of licenses in use
  7. borrowed: Number of borrowed licenses
  8. available: Number of available licenses per specific feature
  9. server_name: License server descriptive name, as given in the OpenLM Configuration form, e.g.: AutoCAD.
  10. expiration_date: Feature expiration date, presented in Unix timestamp format
  11. package_no: Unary identifier of a feature’s parent package, the “GetPackageLicenses” request returns the features under the parent package
  12. forecolor: Relevant to EasyAdmin web application only.
  13. hasp_key: Relevant to HASP managed licenses.
Skip to content