Litmus Edge Manager 3.0.x - Edge Lifecycle: Licenses

License Summary - Status

GET {{LEM_URL}}/api/v1/device-license-pool/stats?projectId={{project_id}}

License Summary -- Status

Returns counts of licenses by state in the project pool: active / used / unused / expired.

Endpoint

GET {{LEM_URL}}/api/v1/device-license-pool/stats?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)
## Response
{ "active": 1, "used": 1, "unused": 0, "expired": 0 }

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

{
    "active": 1,
    "used": 1,
    "unused": 0,
    "expired": 0
}

Licenses List SKUs

GET {{LEM_URL}}/api/v1/device-license-pool/skus?projectId={{project_id}}

Licenses List SKUs

Returns the SKUs allocated to the project's license pool, with count per SKU and the isCore flag.

Endpoint

GET {{LEM_URL}}/api/v1/device-license-pool/skus?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)
## Response

200 OK -- application/json

Field Type Description
licenseSku string SKU identifier (e.g. litmusedge-scale-nl).
count integer Number of license entitlements of this SKU.
isCore boolean True for the core LE license SKU.

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

[
    {
        "licenseSku": "litmusedge-scale-nl",
        "count": 1,
        "isCore": true,
        "core": true
    }
]

Used Licenses

GET {{LEM_URL}}/api/v1/device-license-pool/used?projectId={{project_id}}

Used Licenses

Returns paginated list of licenses currently used by devices in the project pool, with feature expiry, MAC address, and device friendly name.

Endpoint

GET {{LEM_URL}}/api/v1/device-license-pool/used?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)
## Response

200 OK -- application/json. Paged. Each elements[] entry carries projectId, deviceId, deviceName, deviceFriendlyName, macAddress, expiryFeatureDate, and an array of licenses[] records.

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": 1,
    "size": 1,
    "totalSize": 1,
    "elements": [
        {
            "projectId": "39abjcmqdc6r4gsctj7zjufnv",
            "deviceId": "88mqx2r8dv6fgsc968ybvw43k",
            "deviceName": "litmus-edge-005056b98eb5",
            "deviceFriendlyName": "API Portal (00:50:56:b9:8e:b5)",
            "macAddress": "00:50:56:b9:8e:b5",
            "expiryFeatureDate": 1786233599000,
            "licenses": [
                {
                    "id": "2e4392ee-2d75-4850-994f-13f36c1fdbc7",
                    "companyName": null,
                    "projectId": "39abjcmqdc6r4gsctj7zjufnv",
                    "projectName": null,
                    "deviceId": "88mqx2r8dv6fgsc968ybvw43k",
                    "deviceName": null,
                    "deviceFriendlyName": null,
                    "macAddress": null,
                    "licenseKey": "0000-0000-0000-0000",
                    "licenseSku": "litmusedge-scale-nl",
                    "activationDate": null,
                    "expiryDate": 1786233599000,
                    "isCore": true,
                    "isTrial": false,
                    "status": "OK",
                    "origin": "EDGE",
                    "reservedUntil": null,
                    "votmSensorCount": null,
                    "expiryFeatureDate": 1786233599000,
                    "trial": false,
                    "core": true
                }
            ]
        }
    ]
}

Edge License Features

GET {{LEM_URL}}/api/v1/feature

Edge License Features

Returns the LEM-level feature catalog (server features such as EdgeEvents, DigitalTwin, OmaRegistry). Each carries a type (STABLE/EXPERIMENTAL) and an enabled flag.

Endpoint

GET {{LEM_URL}}/api/v1/feature

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

200 OK -- application/json. Array of feature objects with entryID, name, description, type, enabled (1/0), createdOn, updatedOn.

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

[
    {
        "entryID": 1,
        "name": "EdgeEvents",
        "description": "Edge events management",
        "type": "EXPERIMENTAL",
        "enabled": 1,
        "createdOn": 1597449600000,
        "updatedOn": null
    },
    {
        "entryID": 2,
        "name": "DigitalTwin",
        "description": "Asset Management",
        "type": "EXPERIMENTAL",
        "enabled": 0,
        "createdOn": 1597449600000,
        "updatedOn": null
    },
    {
        "entryID": 3,
        "name": "OmaRegistry",
        "description": "OMA Registry management",
        "type": "STABLE",
        "enabled": 1,
        "createdOn": 1597449600000,
        "updatedOn": null
    },
    {
        "entryID": 4,
        "name": "RemoteUI",
        "description": "Edge device remote UI",
        "type": "STABLE",
        "enabled": 1,
        "createdOn": 1613779200000,
        "updatedOn": null
    },
    {
        "entryID": 5,
        "name": "ParameterizedTemplates",
        "description": "Edge device parameterized templates management",
        "type": "STABLE",
        "enabled": 1,
        "createdOn": 1615420800000,
        "updatedOn": null
    },
    {
        "entryID": 6,
        "name": "EdgeRemoteNetwork",
        "description": "Edge Remote Networks management",
        "type": "STABLE",
        "enabled": 1,
        "createdOn": 1616716800000,
        "updatedOn": null
    }
]

License Features

GET {{LEM_URL}}/api/v1/licenses2/features

License Features

Returns the LEM license's allowed features with expiry. Different from Edge License Features -- this is what the LEM license itself unlocks (core, catalog, ...), not the feature catalog.

Endpoint

GET {{LEM_URL}}/api/v1/licenses2/features

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

200 OK -- application/json. Each entry: name, desc, expires, expiresTimestamp, count (-1 unmetered), limited, enabled.

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

[
    {
        "name": "core",
        "desc": "core",
        "expires": "2025-09-02T00:00:00Z",
        "expiresTimestamp": 1756771200000,
        "count": -1,
        "limited": false,
        "enabled": true
    },
    {
        "name": "catalog",
        "desc": "catalog",
        "expires": "2025-09-02T00:00:00Z",
        "expiresTimestamp": 1756771200000,
        "count": -1,
        "limited": false,
        "enabled": true
    }
]

Verify LEM License

GET {{LEM_URL}}/api/v1/licenses2/verify

Verify LEM License

Checks whether the LEM license is valid and how long it has left. Same answer as the admin console Verify License, available to project users.

Endpoint

GET {{LEM_URL}}/api/v1/licenses2/verify

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

200 OK -- application/json.

Field Type Description
status string S = valid.
expDays integer Days until the license expires.
message / messageDetails string Warning text, e.g. when a trial is about to expire. null otherwise.

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

{
    "status": "S",
    "expDays": 13,
    "message": null,
    "messageDetails": null
}

Upload License CSV

POST {{LEM_URL}}/api/v1/device-license-pool/csv?projectId={{project_id}}

Upload License CSV

Bulk-imports licenses into the project pool from a CSV file. Multipart form-data; one file in the file part.

Endpoint

POST {{LEM_URL}}/api/v1/device-license-pool/csv?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)
## Request body

Multipart form-data with a single file part containing the CSV.

Response

200 OK -- application/json

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

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.

Request Body

Response

Status: 200 OK

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

Generate Report to CSV

POST {{LEM_URL}}/api/v1/device-license-pool/all/csv?projectId={{project_id}}

Generate Report to CSV

Generates a license-usage report for the specified devices and returns it as a CSV string. Pass deviceIds: [] to include every device in the project.

Endpoint

POST {{LEM_URL}}/api/v1/device-license-pool/all/csv?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)
## Request body
{ "deviceIds": ["{{edge_device_id}}"] }

Response

200 OK -- text/csv. Columns: Project ID, Device ID, Device name, Device friendly name, Device MAC address, License key, SKU, Activation date, Expiry date, Feature Expiry Date, Is core, Is trial, Status.

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.

Request Body

{
    "deviceIds": [
        "{{edge_device_id}}"
    ]
}

Response

Status: 200 OK

"Project ID","Device ID","Device name","Device friendly name","Device MAC address","License key","SKU","Activation date","Expiry date","Feature Expiry Date","Is core","Is trial","Status"
"39abjcmqdc6r4gsctj7zjufnv","88mqx2r8dv6fgsc968ybvw43k","litmus-edge-005056b98eb5","API Portal (00:50:56:b9:8e:b5)","00:50:56:b9:8e:b5","0000-0000-0000-0000","litmusedge-scale-nl",,"2026-08-08T23:59:59","2026-08-08T23:59:59","true","false","OK"


Generate Report to Email

POST {{LEM_URL}}/api/v1/device-license-pool/all/csv/email?projectId={{project_id}}

Generate Report to Email

Same report as Generate Report to CSV but emails it to the specified addresses instead of returning it.

Endpoint

POST {{LEM_URL}}/api/v1/device-license-pool/all/csv/email?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)
## Request body
{
  "deviceIds": ["{{edge_device_id}}"],
  "emails": ["parth.shah@litmus.io"]
}

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.

Request Body

{
    "deviceIds": [
        "{{edge_device_id}}"
    ],
    "emails": [
        "parth.shah@litmus.io"
    ]
}

View this page as Markdown