Litmus Edge Manager 3.0.x - Admin Console: Platform Rules
Get Platform Rule Catalog
GET {{LEM_adminURL}}/admin/v1/platform-rule/catalog
New in 2.35.
Get Platform Rule Catalog
Platform rules are built-in alert rules that LEM evaluates for every project, so common failures raise incidents without a per-project trigger. This returns every platform rule with its effective configuration. LEM 3.0 ships 8: connector status, DeviceHub device online, gateway offline, Marketplace app state, license expiring, and gateway disk, memory and CPU.
Endpoint
GET {{LEM_adminURL}}/admin/v1/platform-rule/catalog
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 |
An array of PlatformRuleView.
A PlatformRuleView:
| Field | Description |
|---|---|
ruleKey |
Stable identifier, e.g. platform.gateway.offline. |
name, description, summary |
Display text. summary is the incident subject template; $name and $alertDelay are filled in when an incident opens. |
category |
CONNECTOR, DEVICE, GATEWAY, APP or LICENSE on 3.0. |
templateCode |
The alert template the rule is built on. |
sourceType |
METRICS (evaluated from device metrics) or EVENTS (evaluated from events). |
enabled, severity, targetValue, alertDelay |
The effective configuration: the built-in default, or the override written by Update Platform Rule. alertDelay is in seconds. |
projects |
ALL, or the project link list (see Get Platform Rule Projects). |
attributes |
Extra rule attributes; empty for every built-in rule on 3.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
[
{
"ruleKey": "platform.connector.status",
"name": "Connector Status",
"description": "Identify unplanned disconnections",
"summary": "CC connector $name is offline more than $alertDelay seconds",
"category": "CONNECTOR",
"templateCode": "CONNECTOR_ONLINE_STATUS",
"sourceType": "METRICS",
"enabled": true,
"severity": 3,
"targetValue": null,
"alertDelay": 60,
"projects": "ALL",
"attributes": []
},
{
"ruleKey": "platform.devicehub.device.offline",
"name": "DeviceHub Device Online",
"description": "Identify unplanned disconnections of DH devices",
"summary": "DH device $name is offline more than $alertDelay seconds",
"category": "DEVICE",
"templateCode": "DH_DEVICE_ONLINE_STATUS",
"sourceType": "METRICS",
"enabled": true,
"severity": 2,
"targetValue": null,
"alertDelay": 60,
"projects": "ALL",
"attributes": []
},
{
"ruleKey": "platform.gateway.offline",
"name": "Edge Device Online Status",
"description": "Detect unexpected disconnects of an edge device",
"summary": "Edge Device is offline more than $alertDelay seconds",
"category": "GATEWAY",
"templateCode": "EDGE_DEVICE_ONLINE_STATUS",
"sourceType": "METRICS",
"enabled": true,
"severity": 3,
"targetValue": null,
"alertDelay": 60,
"projects": "ALL",
"attributes": []
},
{
"ruleKey": "platform.marketplace.app.state",
"name": "Marketplace App Lifecycle",
"description": "Detect marketplace app lifecycle changes. Requires event forwarding to be enabled on edge devices",
"summary": "Marketplace application state changed",
"category": "APP",
"templateCode": null,
"sourceType": "EVENTS",
"enabled": true,
"severity": 2,
"targetValue": null,
"alertDelay": null,
"projects": "ALL",
"attributes": []
},
{
"ruleKey": "platform.gateway.license.expiring",
"name": "Edge Device License Expiration",
"description": "Detect when the license for an edge device has expired",
"summary": "The license for an edge device is going to be expired in $targetValue days",
"category": "LICENSE",
"templateCode": "EDGE_DEVICE_LICENSE_EXPIRATION",
"sourceType": "METRICS",
"enabled": true,
"severity": 3,
"targetValue": "14",
"alertDelay": 300,
"projects": "ALL",
"attributes": [
{
"name": "Target Value",
"code": "value",
"description": "Days to expire",
"datatype": "number",
"uom": "days",
"type": "VALUE",
"values": [],
"defaultValue": 14
}
]
},
{
"ruleKey": "platform.gateway.disk.low",
"name": "Edge Device Free Disk Space",
"description": "Monitor the available disk space on an edge device",
"summary": "Free disk space less than $targetValue % more than $alertDelay seconds",
"category": "GATEWAY",
"templateCode": "EDGE_DEVICE_FREE_DISK_SPACE",
"sourceType": "METRICS",
"enabled": true,
"severity": 3,
"targetValue": "10",
"alertDelay": 120,
"projects": "ALL",
"attributes": [
{
"name": "Target Value",
"code": "value",
"description": "Edge device free disk space (%) to trigger an alert",
"datatype": "number",
"uom": "%",
"type": "VALUE",
"values": [],
"defaultValue": null
}
]
},
{
"ruleKey": "platform.gateway.memory.low",
"name": "Edge Device Memory Available",
"description": "Monitor the available memory on an edge device",
"summary": "Free RAM less than $targetValue% more than $alertDelay seconds",
"category": "GATEWAY",
"templateCode": "EDGE_DEVICE_MEMORY_AVAILABLE",
"sourceType": "METRICS",
"enabled": true,
"severity": 3,
"targetValue": "10",
"alertDelay": 120,
"projects": "ALL",
"attributes": [
{
"name": "Target Value",
"code": "value",
"description": "Edge device memory available (%) to trigger an alert",
"datatype": "number",
"uom": "%",
"type": "VALUE",
"values": [],
"defaultValue": null
}
]
},
{
"ruleKey": "platform.gateway.cpu.busy",
"name": "Edge Device CPU Idle",
"description": "Monitor the CPU usage on an edge device",
"summary": "CPU idle less than $targetValue % more than $alertDelay seconds",
"category": "GATEWAY",
"templateCode": "EDGE_DEVICE_CPU_IDLE",
"sourceType": "METRICS",
"enabled": true,
"severity": 2,
"targetValue": "5",
"alertDelay": 300,
"projects": "ALL",
"attributes": [
{
"name": "Target Value",
"code": "value",
"description": "Edge device CPU idle (%) to trigger an alert",
"datatype": "number",
"uom": "%",
"type": "VALUE",
"values": [],
"defaultValue": 5
}
]
}
]
Get Platform Rule Stats
GET {{LEM_adminURL}}/admin/v1/platform-rule/stats
New in 2.35.
Get Platform Rule Stats
Returns the summary counts shown above the platform-rule list.
Endpoint
GET {{LEM_adminURL}}/admin/v1/platform-rule/stats
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 |
{ "totalRules": 8, "activeRules": 8, "openIncidents": 5, "autoResolvedToday": 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
{
"totalRules": 8,
"activeRules": 8,
"openIncidents": 5,
"autoResolvedToday": 0
}
Get Platform Rule
GET {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}
New in 2.35.
Get Platform Rule
Returns the effective configuration of one platform rule.
Endpoint
GET {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}
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 | Notes |
|---|---|---|
ruleKey |
path | Required. Rule key from Get Platform Rule Catalog, e.g. platform.devicehub.device.offline. |
Response
A PlatformRuleView:
| Field | Description |
|---|---|
ruleKey |
Stable identifier, e.g. platform.gateway.offline. |
name, description, summary |
Display text. summary is the incident subject template; $name and $alertDelay are filled in when an incident opens. |
category |
CONNECTOR, DEVICE, GATEWAY, APP or LICENSE on 3.0. |
templateCode |
The alert template the rule is built on. |
sourceType |
METRICS (evaluated from device metrics) or EVENTS (evaluated from events). |
enabled, severity, targetValue, alertDelay |
The effective configuration: the built-in default, or the override written by Update Platform Rule. alertDelay is in seconds. |
projects |
ALL, or the project link list (see Get Platform Rule Projects). |
attributes |
Extra rule attributes; empty for every built-in rule on 3.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
{
"ruleKey": "platform.connector.status",
"name": "Connector Status",
"description": "Identify unplanned disconnections",
"summary": "CC connector $name is offline more than $alertDelay seconds",
"category": "CONNECTOR",
"templateCode": "CONNECTOR_ONLINE_STATUS",
"sourceType": "METRICS",
"enabled": true,
"severity": 3,
"targetValue": null,
"alertDelay": 60,
"projects": "ALL",
"attributes": []
}
Update Platform Rule
POST {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}
New in 2.35.
Update Platform Rule
Writes the installation-wide override for one platform rule: switch it off, or change its severity, threshold or delay. Fields left out keep their current value. Each change is recorded and shows in Get Platform Rule Audit.
Endpoint
POST {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}
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 | Notes |
|---|---|---|
ruleKey |
path | Required. Rule key from Get Platform Rule Catalog, e.g. platform.devicehub.device.offline. |
Request body
| Field | Type | Description |
|---|---|---|
enabled |
boolean | Turn the rule on or off. |
severity |
integer | Incident severity. |
targetValue |
string | Threshold, for rules that have one (e.g. disk / memory / CPU). |
alertDelay |
integer | Seconds the condition must hold before an incident opens. |
{ "enabled": true, "severity": 2, "alertDelay": 120 }
Response
ApiResponse { code, message, messageDetails }.
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
{
"enabled": true,
"severity": 0,
"targetValue": "string",
"alertDelay": 0
}
Get Platform Rule Audit
GET {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}/audit?requestedPage=0&limit=1
New in 2.35.
Get Platform Rule Audit
Returns the change history of a platform rule's override, as audit records.
Endpoint
GET {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}/audit
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 | Notes |
|---|---|---|
ruleKey |
path | Required. Rule key from Get Platform Rule Catalog, e.g. platform.devicehub.device.offline. |
requestedPage / limit |
query | Pagination; requestedPage is 0-based. |
Response
Paged audit records, same shape as Get API Activity Records elements. Empty until the rule has been changed.
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": 0,
"size": 0,
"totalSize": 0,
"elements": []
}
Get Platform Rule Incidents
GET {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}/incidents?requestedPage=0&limit=1
New in 2.35.
Get Platform Rule Incidents
Returns the incidents a platform rule has opened, across all projects.
Endpoint
GET {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}/incidents
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 | Notes |
|---|---|---|
ruleKey |
path | Required. Rule key from Get Platform Rule Catalog, e.g. platform.devicehub.device.offline. |
requestedPage / limit |
query | Pagination; requestedPage is 0-based. |
Response
Paged { ..., elements: [IncidentEx] }. Each incident has id, triggerId (the rule key), startedAt / resolvedAt (epoch ms; resolvedAt is null while open), deviceId, severity, scopeType (GLOBAL for platform rules), subject, message, messageResolved, allVariables and triggerName.
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": 8,
"size": 1,
"totalSize": 8,
"elements": [
{
"id": "arj85ww8ohsfxgxyog2ewbl91",
"triggerId": "platform.connector.status",
"startedAt": 1791845322000,
"resolvedAt": null,
"deviceId": "18e9cuixrkx8t7ty78tsi8xmn",
"severity": 3,
"showOnDashboard": true,
"scopeType": "GLOBAL",
"subject": "CC connector default-ssl is offline more than 60 seconds",
"message": "CC connector default-ssl is offline for Edge device ",
"messageResolved": "CC connector default-ssl is back online for Edge device ",
"hostname": null,
"allVariables": {
"$devicename": "null",
"$target_value": "null",
"$value": "0e+00",
"$hostname": "f15b6b50aa43",
"$alert_delay": "60",
"$severity": "warning"
},
"triggerName": "Connector Status",
"triggerDescription": "Identify unplanned disconnections"
}
]
}
Get Platform Rule Projects
GET {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}/projects
New in 2.35.
Get Platform Rule Projects
Returns which projects a platform rule applies to.
Endpoint
GET {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}/projects
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 | Notes |
|---|---|---|
ruleKey |
path | Required. Rule key from Get Platform Rule Catalog, e.g. platform.devicehub.device.offline. |
Response
{ "ruleKey": "platform.devicehub.device.offline", "appliesToAllProjects": true, "projectIds": [] }
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
{
"ruleKey": "platform.connector.status",
"appliesToAllProjects": true,
"projectIds": []
}
Set Platform Rule Projects
POST {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}/projects
New in 2.35.
Set Platform Rule Projects
Replaces the list of projects a platform rule applies to. The list is replaced, not merged.
Endpoint
POST {{LEM_adminURL}}/admin/v1/platform-rule/{{platform_rule_key}}/projects
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 | Notes |
|---|---|---|
ruleKey |
path | Required. Rule key from Get Platform Rule Catalog, e.g. platform.devicehub.device.offline. |
Request body
{ "projectIds": ["{{project_id}}"] }
Response
ApiResponse { code, message, messageDetails }.
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
{
"projectIds": [
"5etr7qxq0js0rdnboccvw90h7"
]
}