Litmus Edge Manager 3.0.x - Admin Console: License Server Mgmt

License Server Version

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/version

License Server Version

Returns the version + git revision of LEM's bundled license server.

Endpoint

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/version

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## Response
{ "git": "4b3d954", "version": "2.10.8" }

Errors

HTTP status When it happens
400 Bad Request Missing or malformed query/body parameter.
401 Unauthorized Missing or invalid credentials.
403 Forbidden Token lacks permission for this operation.
404 Not Found Target entity does not exist.
5xx Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

{
    "git": "4b3d954",
    "version": "2.10.8"
}

Offline License Info

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/licenses/offline/info

Offline License Info

Returns the activation URL + host ID needed to activate the LEM license offline. Pair with the LE licensing portal.

Endpoint

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/licenses/offline/info

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## Response
{ "activationURL": "https://litmus.activate.id/", "hostid": "idk=833408b59c9524fe" }

Errors

HTTP status When it happens
400 Bad Request Missing or malformed query/body parameter.
401 Unauthorized Missing or invalid credentials.
403 Forbidden Token lacks permission for this operation.
404 Not Found Target entity does not exist.
5xx Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

{
    "activationURL": "https://litmus.activate.id/",
    "hostid": "idk=833408b59c9524fe"
}

Core License List

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/licenses?primary=true

Core License List

Returns the primary (core) licenses activated on LEM. Use primary=true to filter.

Endpoint

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/licenses?primary=true

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## Errors
HTTP status When it happens
400 Bad Request Missing or malformed query/body parameter.
401 Unauthorized Missing or invalid credentials.
403 Forbidden Token lacks permission for this operation.
404 Not Found Target entity does not exist.
5xx Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

[
    {
        "akey": "6932-1633-0984-4110",
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "litmus-scale-1y-site",
        "totalCount": 1
    }
]

Feature License List

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/licenses?primary=false

Feature License List

Returns the feature (non-core) licenses: per-feature entitlements that ride on top of a core license.

Endpoint

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/licenses?primary=false

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## Errors
HTTP status When it happens
400 Bad Request Missing or malformed query/body parameter.
401 Unauthorized Missing or invalid credentials.
403 Forbidden Token lacks permission for this operation.
404 Not Found Target entity does not exist.
5xx Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

[
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "ll-core",
        "totalCount": 1
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "le-dt",
        "totalCount": 999999
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "le-opcua",
        "totalCount": 999999
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "le-marketplace",
        "totalCount": 999999
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "le-backup",
        "totalCount": 999999
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "le-core",
        "totalCount": 999999
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "le-devices",
        "totalCount": 999999
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "le-updates",
        "totalCount": 999999
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "le-analytics",
        "totalCount": 999999
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "",
        "totalCount": 1
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "name": "",
        "totalCount": 1
    },
    {
        "expiryDate": "2024-08-02T00:00:00Z",
        "limited": true,
        "name": "le-tags",
        "totalCount": 50000
    }
]

Licensing Allocation Summary

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/allocation-summary

Licensing Allocation Summary

Returns the paginated allocation summary: per-(company, project) license allocations with allocated counts, data-point limits, and expiry.

Endpoint

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/allocation-summary

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## Errors
HTTP status When it happens
400 Bad Request Missing or malformed query/body parameter.
401 Unauthorized Missing or invalid credentials.
403 Forbidden Token lacks permission for this operation.
404 Not Found Target entity does not exist.
5xx Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

{
    "pageNum": 0,
    "pagesCount": 2,
    "size": 10,
    "totalSize": 18,
    "elements": [
        {
            "companyName": "pm",
            "projectId": "detk20ap42y5rcvfsdfe9790",
            "projectName": "LEProduction",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        },
        {
            "companyName": "hardware",
            "projectId": "2prp72ljt3e2149umck473xrl",
            "projectName": "Emerson",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        },
        {
            "companyName": "production",
            "projectId": "b38spzrhu24fpl90juboyu3i3",
            "projectName": "docker",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        },
        {
            "companyName": "solutions",
            "projectId": "2uqgh8aiy8z827jgllw5678j3",
            "projectName": "stefan",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        },
        {
            "companyName": "production",
            "projectId": "87fuuaai4nlww3wfy0wnjj1tm",
            "projectName": "Parker",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        },
        {
            "companyName": "production",
            "projectId": "7sno16edx0bhv9knnpdbdq393",
            "projectName": "HyperV",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        },
        {
            "companyName": "production",
            "projectId": "cel45m3qbizspgqszngdroxd1",
            "projectName": "LTE",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        },
        {
            "companyName": "solutions",
            "projectId": "462j1mq70mph31wa100t1yuxa",
            "projectName": "parth",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        },
        {
            "companyName": "ccsj",
            "projectId": "24kpfvotkgyi8hyx5i1lzn1dc",
            "projectName": "2024Project",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        },
        {
            "companyName": "belden",
            "projectId": "8h0lim73udgl5r8ex4v0d1vr7",
            "projectName": "Docker",
            "allocated": null,
            "allocationId": null,
            "allocatedDatapoints": null,
            "usedDatapoints": null,
            "allocationExpiry": null
        }
    ]
}

Licensing Allocation Summary CSV

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/allocation-summary/csv

Licensing Allocation Summary CSV

The Licensing Allocation Summary as a CSV download, one row per company / project. Takes the same filters.

Endpoint

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/allocation-summary/csv

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Parameters

All optional, query.

Parameter Type Description
companyName string Only this company.
projectId string Only this project.
filter string Free-text filter.
allocated boolean Only allocated (true) or unallocated (false) projects.
allocationId string Only this allocation.
allocationExpiryFrom / allocationExpiryTo integer Expiry window, epoch milliseconds.

Response

200 OK -- text/csv. Header row: Company name, Project ID, Project name, Allocated, Allocation ID, Allocated data points, Used data points, Allocation expiry. Columns are empty for projects with no allocation.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

"Company name","Project ID","Project name","Allocated","Allocation ID","Allocated data points","Used data points","Allocation expiry"
"archie","30jol3hs1odsiwzlo70t1zwcn","project2",,,,,
"archie","b8zxnqwuhnbqoytsqfs928f9u","project1",,,,,
"hg","b83xktzsmclqsz3o9e2nblqc5","hg",,,,,
"test","1a5kz8nzch6cw4q1dmxswoaui","aa",,,,,


Set Project Allocation

POST {{LEM_adminURL}}/admin/v1/litmus-licensing/allocations?companyName={{company_name}}&projectId={{project_id}}

Set Project Allocation

Allocates license capacity from the licensing server to one project.

Endpoint

POST {{LEM_adminURL}}/admin/v1/litmus-licensing/allocations?companyName={{company_name}}&projectId={{project_id}}

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Parameters

Parameter In Type Required Description
companyName query string Yes Company slug.
projectId query string Yes Project ID.

Request body

application/json.

Field Type Description
limit integer Allocation limit (data points).
expiry integer Allocation expiry, epoch milliseconds.

Response

200 OK -- application/json. ApiResponse: code, message, messageDetails.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.

Example source: not called on a live device, because it changes instance-wide state. Request and response examples are derived from the LEM 2.31.x OpenAPI schema.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

{
    "limit": 1000,
    "expiry": 1830297600000
}

Response

Status: 200 OK

{
    "code": "S",
    "message": null,
    "messageDetails": null
}

Delete Project Allocation

DELETE {{LEM_adminURL}}/admin/v1/litmus-licensing/allocations?companyName={{company_name}}&projectId={{project_id}}

Delete Project Allocation

Removes a project's license allocation, returning the capacity to the pool.

Endpoint

DELETE {{LEM_adminURL}}/admin/v1/litmus-licensing/allocations?companyName={{company_name}}&projectId={{project_id}}

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Parameters

Parameter In Type Required Description
companyName query string Yes Company slug.
projectId query string Yes Project ID.

Response

200 OK -- application/json. ApiResponse: code, message, messageDetails.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.

Example source: not called on a live device, because it changes instance-wide state. Request and response examples are derived from the LEM 2.31.x OpenAPI schema.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

{
    "code": "S",
    "message": null,
    "messageDetails": null
}

License Usage Summary

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/usage/summary

License Usage Summary

Returns instance-wide usage by feature name (lem-catalog, lem-core, etc.).

Endpoint

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/usage/summary

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## Response
{ "usage": { "lem-catalog": 1, "lem-core": 1 } }

Errors

HTTP status When it happens
400 Bad Request Missing or malformed query/body parameter.
401 Unauthorized Missing or invalid credentials.
403 Forbidden Token lacks permission for this operation.
404 Not Found Target entity does not exist.
5xx Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

{
    "usage": {
        "lem-catalog": 1,
        "lem-core": 1
    }
}

License Clients

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/apikeys/extended

License Clients

Returns the license-server clients (typically edge devices with an active API key). Each carries hostid, hostname, label, last-seen time, and embedded edge-device coordinates.

Endpoint

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/apikeys/extended

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## Errors
HTTP status When it happens
400 Bad Request Missing or malformed query/body parameter.
401 Unauthorized Missing or invalid credentials.
403 Forbidden Token lacks permission for this operation.
404 Not Found Target entity does not exist.
5xx Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

[
    {
        "hostid": "idk=03c3a082e87347e2",
        "hostname": "0857de459ebd",
        "label": "8es3c1fnto6pzg9m3bcgqgmuq",
        "lastSeen": "2023-10-30 20:53:20.518Z",
        "prettyName": "company docker",
        "edge-device": {
            "deviceId": "8es3c1fnto6pzg9m3bcgqgmuq",
            "companyName": "company",
            "projectId": "8h0lim73udgl5r8ex4v0d1vr7",
            "projectName": "Docker"
        }
    }
]

API Keys by Label

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/apikeys/labels/{{label}}

API Keys by Label

Returns the licensing-server API keys tied to a label. The label of a client is shown in License Clients (for edge devices it is the device ID).

Endpoint

GET {{LEM_adminURL}}/admin/v1/litmus-licensing/apikeys/labels/{{label}}

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Parameters

Parameter In Type Required Description
label path string Yes Client label.
locale query string No Locale for response messages.

Response

200 OK -- application/json when the label has keys. The example shows the key returned for one label.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.
404 Not Found No keys for that label: {"msg":"not found","msgCode":""}.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Response

Status: 200 OK

{
    "hostid": "idk=7ea57fc4252d565f",
    "hostname": "8bba4e7b636b",
    "label": "4bu2ujo3cslh6rucnb277ccd0",
    "lastSeen": "2026-10-15 20:30:33.283Z",
    "prettyName": "litmus edge docker",
    "projectId": "b83xktzsmclqsz3o9e2nblqc5"
}

Create Activation Request

POST {{LEM_adminURL}}/admin/v1/litmus-licensing/activations

Create Activation Request

Submits an activation request to the Litmus licensing server.

Endpoint

POST {{LEM_adminURL}}/admin/v1/litmus-licensing/activations

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Parameters

Parameter In Type Required Description
locale query string No Locale for response messages.

Request body

application/json. The schema types the body as an opaque string (Payload). Its format is not published in the 2.31 spec.

Response

200 OK -- a string. The schema does not define its content.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.

Example source: not called on a live device, because it changes instance-wide state. Request and response examples are derived from the LEM 2.31.x OpenAPI schema.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

"<payload>"

View this page as Markdown