License Server Help

User Reporting through the License Server

Aggregated historical data

The report contains (in table):

  • License usage

    asset usage table
    asset usage graph

  • Count of requested licenses by each product of a particular version:

    ticket requests

  • Usage of a particular product and version by a particular user:

    users and ips to products

  • Users with related IP addresses:

    ips to users

Emailed statistics

To obtain the same tabular statistics by email configure an SMTP integration.

Configuration of SMTP integration

  1. Stop the license server.

  2. Configure an email server:

    <license_server_home>/bin/ configure --smtp.server --smtp.server.port 25
    where is the host of mail server and 25 is the port listened by the mail service.

  3. Configure the reports recipients:

    <license_server_home>/bin/ configure --stats.recipients

    where are the recipients of the report. Please use a comma to separate records if there are several recipients (,

  4. Configure the address of the email sender:

    <license_server_home>/bin/ configure --stats.from

    where is the address to be used as sender of email report.

  5. If the mail server requires authorisation, configure the username and password:

    <license_server_home>/bin/ configure --smtp.server.username --smtp.server.password mail-server-password

    where smtp.server.username is the username of mail server user and smtp.server.password is the password of the user.

  6. Start the license server.

Lack of available licenses notification

Since build #14451 the license server's administrator can set "Lack of available licenses" email notifications. By default it's disabled, requires a configured SMTP, reports once an hour (frequency is non-configurable).

To enable it, use the following command on stopped server:

<license_server_home>/bin/ configure --reporting.out.of.license.threshold 90
where 90 = % of all licenses occupied by users, a trigger threshold which initializes emails sending.

Statistics via API

There are 2 formats of the usage statistics reported via API in JSON format: historical data in "from-date-to-date" format and real-time statistics in "per-user" format (available from build #16429):

Historical data in from-date-to-date format from ZIP distribution

  1. Stop the license server.

  2. Configure the token that later will be used as the parameter of a POST request to obtain statistics via API: In command line run:

    <license_server_home>/bin/ configure --reporting.token TOKEN

      where TOKEN is a random combination of digits/letters, which you'll use as a secret key to access the statistics.

    • Start the license server.

    • Send a POST request to <license_server_URL>/reportApi with the following parameters:




      Granularity of the report, 0 to 4 from hourly to yearly respectively


      Report start date in YYYY-MM-DD format


      Report end date in YYYY-MM-DD format


      TOKEN configured at step 2

    Test example:
    curl --data "granularity=0&start=2017-09-12&end=2017-09-14&token=TOKEN"
    Test example output:
    {"Overall":[{"License":"IntelliJ IDEA Ultimate 2017.2","Max usage":1,"Peak time":"14/09/2017 10:04","Max available":1}, {"License":"IntelliJ IDEA Ultimate Toolbox","Max usage":0,"Max available":1}, {"License":"ReSharper C++ 2016.2","Max usage":0,"Max available":7},{"License":"dotCover 2016.2","Max usage":0,"Max available":9}, {"License":"dotMemory 2016.2","Max usage":0,"Max available":10},{"License":"dotTrace 2016.2","Max usage":0,"Max available":10}], "License Usage Hourly":[{"time":"14/09/2017 10:00","key":"IntelliJ IDEA Ultimate 2017.2","count":1}], "License Requests Hourly":[{"time":"14/09/2017 10:00","key":"IntelliJ IDEA Ultimate 2017.2","count":1}], "Users":[{"user":"user1","ips":[""],"requests":["IntelliJ IDEA Ultimate 2017.2"]}]}

    Real-time statistics in per-user format

    1. Stop the license server;

    2. Configure access token as described above;

    3. Send GET request to <license_server_URL>/tickets-report.json?token=TOKEN where TOKEN is the secret token configured during the previous step.

    Test example:
    Test example output:
    [{"userId":"testuser@localhost","clientId":"d001a808-1d3f-4a05-8318-7053180059b7","ip":"", "license":"IntelliJ IDEA Ultimate Toolbox", "product":"II:2017.2","issued":"2018-03-27T18:22:46.689+0300", "last_seen":"2018-03-27T18:42:54.249+0300"}]

    Total licenses list

    Since build #17768 there is an endpoint to get the list of all licenses located currently on the license server.

    1. Configure the reporting token as described above;

    2. Send the GET request to

      where TOKEN is equal to the token configured above.

    Test example:
    Test example output:
    {"licenses":[{"name":"IntelliJ IDEA Ultimate 12.0","available":1,"allocated":0,"allocatedDetails":"/tickets/II?version=12000&trueUp=false"}, {"name":"IntelliJ IDEA Ultimate 2016.2","available":1,"allocated":0,"allocatedDetails":"/tickets/II?version=2016200&trueUp=false"}, {"name":"IntelliJ IDEA Ultimate Toolbox","available":0,"allocated":1,"allocatedDetails":"/tickets/II?version=2017300&trueUp=false"}, {"name":"All Products Pack Fallback","available":1,"allocated":0,"allocatedDetails":"/tickets/ALL?trueUp=false"}, {"name":"All Products Pack Toolbox","available":2,"allocated":0,"allocatedDetails":"/tickets/ALL?trueUp=false"}]}
    Last modified: 16 January 2019