Litmus Edge Manager
8 min
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 run all 304 edge manager endpoints browse and execute them in the edge manager folder on api litmus io https //api litmus io/view/2s9y5r1rvg#fa19f00d c1ae 4dfd 8b3a 08698c2c9c59 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 #