Litmus Edge Manager
Litmus Edge Manager (LEM)
LEM is the fleet management plane for Litmus Edges. Use it to provision new devices, deploy applications and ML models to many devices at once, run alerts, and back up / restore device configurations.
Three URL prefixes
LEM has three distinct host/path prefixes that customers commonly confuse:
Prefix | Purpose | Endpoints | Auth header |
|---|---|---|---|
{{LEM_URL}}/api/v1/... | Main fleet API: projects, devices, alerts, backups, deploy | ~158 | X-AuthToken: <token> |
{{LEM_adminURL}}/admin/v1/... | Admin console: companies, users, LEM-level backups, instance alerts | ~144 | X-AuthToken: <token> |
{{LEM_URL}}/mpcs/... | Marketplace catalog management | ~13 | Authorization: <token> (no Bearer) |
{{LEM_adminURL}} typically uses port 8446. Sending the wrong header returns 401.
Module map
Companies (admin console)
Endpoint | Purpose |
|---|---|
GET /admin/v1/companies | List companies |
POST /admin/v1/companies | Create a company |
Edge Lifecycle Management (/api/v1/...)
The bulk of LEM (~144 endpoints in 2.31.x). Grouped sub-modules:
- Projects, Users
- Activation (zero-touch + manual approval)
- Devices (list, detail, edit, retire)
- Marketplace deploy (catalogs, applications, async-task)
- Backups (init-backup, list, get, init-restore)
- Alerts (action templates + triggers + incidents)
- AI/ML model upload (pre-signed S3)
- Software / firmware update history
Digital Twins / Asset Management
- Models, root nodes
- Asset hierarchies pushed down to edges
Versions documented
Version | Endpoints | Notes |
|---|---|---|
2.31.x | 304 | Current |
2.26.x | 262 | Older LTS |
Common URL variables
Variable | Used in | Notes |
|---|---|---|
{{project_id}} | Most /api/v1/ calls | LEM project the device belongs to |
{{edge_device_id}} | Device-specific calls | Renamed from device_id to disambiguate from LE |
{{company_name}} | /admin/v1/ calls | Company under which projects live |
{{marketplace_catalog_id}} | /mpcs/ calls | Catalog of available apps |
{{LEM_AdminApiToken}} | All calls | Long-lived admin token from Admin Console |
Async-task envelope
LEM long-running operations (app launch, ML deploy, software update) follow the same pattern:
- POST a task description -> get taskId
- Poll GET /api/v1/async-task/{taskId}/subtasks until each subtask status == SUCCESS
States: PENDING, IN_PROGRESS, SUCCESS, FAILED. See Deploy App to Edge workflow.