LitmusEdgeManager 2.31.x API Documentation/Edge Lifecycle Management/Applications - LE, LEM, LUNS API Docs

Catalogs

GET {{LEM_URL}}/mpcs/catalogs

Catalogs

Returns the marketplace catalogs available to LEM. Same payload as Features > Marketplace Catalog > Get Marketplace Catalogs -- exposed here as a convenience for the launch flow.

Endpoint

GET {{LEM_URL}}/mpcs/catalogs

Authentication

HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.

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

[
    {
        "id": "effd5e74-2d3c-4a7a-bf7d-58fa7d6ae9e4",
        "name": "Catalog Applications",
        "description": "Default applications catalog",
        "role": "off"
    },
    {
        "id": "edd3b845-a9c0-4db5-9684-03e521409af3",
        "name": "Solutions",
        "description": "",
        "role": "off"
    }
]

Catalog Applications

GET {{LEM_URL}}/mpcs/catalogs/effd5e74-2d3c-4a7a-bf7d-58fa7d6ae9e4/applications

Catalog Applications

Returns the apps in a specific catalog (resolved by catalog UUID in the path).

Endpoint

GET {{LEM_URL}}/mpcs/catalogs/effd5e74-2d3c-4a7a-bf7d-58fa7d6ae9e4/applications

Authentication

HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.

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

[
    {
        "id": "d049666e-b9e9-4355-9086-289a8468ea2b",
        "name": "Minio",
        "description": "Minio is an Amazon S3 compatible object storage server.",
        "category": "Utils",
        "icon": "<catalog icon>"
    },
    {
        "id": "7eb28633-cad6-468e-a540-ac62d555ac51",
        "name": "Grafana",
        "description": "Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources.",
        "category": "Utils",
        "icon": "<catalog icon>"
    },
    {
        "id": "d9ef6608-c32f-44ff-9f24-cdf9587fe559",
        "name": "MongoDB",
        "description": "MongoDB (from humongous) is a free and open-source cross-platform document-oriented database program",
        "category": "Utils",
        "icon": "<catalog icon>"
    },
    {
        "id": "96d50135-d8ba-4dc3-93c7-b8cfd7ec9b25",
        "name": "Ms SQL for Linux",
        "description": "Microsoft SQL Server is a relational database developed by Microsoft.",
        "category": "Database",
        "icon": "<catalog icon>"
    },
    {
        "id": "86a119dd-10e3-45bc-ab73-72e325a69aa7",
        "name": "MySQL",
        "description": "MySQL is an open-source relational database management system (RDBMS).",
        "category": "Utils",
        "icon": "<catalog icon>"
    },
    {
        "id": "563a71ca-fff4-4a88-a6d5-7004039b4211",
        "name": "PostgreSQL & Adminer",
        "description": "PostgreSQL, often simply \"Postgres\", is an object-relational database management system (ORDBMS) with an emphasis on extensibility and standards-compliance.",
        "category": "Database",
        "icon": "<catalog icon>"
    },
    {
        "id": "46f15f5f-efa9-4b98-81f9-ad8ab41c163e",
        "name": "KDB",
        "description": "KDB is a small pluggable IRC Bot framework utilizing the circuits Python Application Framework.",
        "category": "Utility",
        "icon": "<catalog icon>"
    },
    {
        "id": "039712df-918c-45ce-b63a-1aa14e62bfd6",
        "name": "PipelineDB",
        "description": "PipelineDB is a PostgreSQL extension for high-performance time-series aggregation, designed to power realtime reporting and analytics applications.",
        "category": "Utils",
        "icon": "<catalog icon>"
    },
    {
        "id": "7a306f32-90ab-461d-9557-20fdf6104665",
        "name": "Python",
        "description": "This template creates an application with Python",
        "category": "Utils",
        "icon": "<catalog icon>"
    },
    {
        "id": "e51fcaf5-4908-449a-a6c7-ff114e1d2784",
        "name": "Elasticsearch",
        "description": "Elasticsearch is a distributed, RESTful search and analytics engine.",
        "category": "Utils",
        "icon": "<catalog icon>"
    }
]

Device Applications

GET {{LEM_URL}}/api/v1/marketplace/app/list?projectId={{project_id}}&deviceId={{device_id}}

Device Applications

Returns the catalog apps currently installed on one device with full configuration (containers, parameters, catalog association).

Endpoint

GET {{LEM_URL}}/api/v1/marketplace/app/list?projectId={{project_id}}&deviceId={{device_id}}

Authentication

HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.

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

[
    {
        "id": "ca877b46-1a8c-11ed-8791-94c6911b9c77",
        "name": "MySQL",
        "status": "RUNNING",
        "statusChangedAt": 1695684581000,
        "containers": [
            {
                "name": "mysql-mysql",
                "state": ""
            },
            {
                "name": null,
                "state": null
            }
        ],
        "parameters": {
            "stack_description": "MySQL is an open-source relational database management system (RDBMS).",
            "MYSQL_DATABASE": "sample",
            "MYSQL_PASSWORD": "loopedge-s3cr3t!",
            "MYSQL_PORT": "3306",
            "MYSQL_ROOT_PASSWORD": "loopedge-s3cr3t!",
            "MYSQL_USER": "user",
            "RESTART": "always",
            "stack_name": "MySQL"
        },
        "catalogId": "c93dbe1b-1a8c-11ed-8d9d-94c6911b9c77",
        "catalogApplicationId": "0aa40818-2553-4f1c-8221-dbf19804efe4",
        "releaseName": "8.0.23"
    }
]

Launch Application to Edge Device

POST {{LEM_URL}}/api/v1/async-task/task-with-subtasks

Launch Application to Edge Device

Creates an async task that launches a catalog app on one or more devices. The body is an async-task envelope with subtasks[] -- one per target device, each carrying the app ID and parameters.

Endpoint

POST {{LEM_URL}}/api/v1/async-task/task-with-subtasks

Authentication

HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.

Request body

{
  "name": "Launch Marketplace application (1 edge device)",
  "description": "",
  "params": {},
  "companyName": "{{company_name}}",
  "projectId": "{{project_id}}",
  "subtasks": [
    {
      "deviceId": "{{edge_device_id}}",
      "num": 0,
      "params": {
        "applicationId": "7a306f32-...",
        "applicationName": "..."
      }
    }
  ]
}

Response

200 OK -- application/json

{ "taskId": "3821ae43-d75b-43f7-a85a-f95da580b5de" }

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

{
    "name": "Launch Marketplace application (1 edge device)",
    "description": "",
    "params": {},
    "companyName": "{{company_name}}",
    "projectId": "{{project_id}}",
    "subtasks": [
        {
            "deviceId": "{{edge_device_id}}",
            "num": 0,
            "params": {
                "applicationDescription": "This template creates an application with Python",
                "applicationId": "7a306f32-90ab-461d-9557-20fdf6104665",
                "applicationName": "Python",
                "applicationParameters": {
                    "RESTART": "always"
                },
                "applicationVersion": "3.9-slim",
                "catalogId": "effd5e74-2d3c-4a7a-bf7d-58fa7d6ae9e4",
                "catalogName": "Catalog Applications",
                "catalogUrl": "{{LEM_URL}}/mpcs"
            },
            "type": "MARKETPLACE_APPLICATION_LAUNCH",
            "plannedExecTime": 0
        }
    ],
    "type": "MARKETPLACE_APPLICATION_LAUNCH",
    "waitForOnline": false
}

Response

Status: 200 OK

{
    "taskId": "3821ae43-d75b-43f7-a85a-f95da580b5de"
}

View this page as Markdown