Litmus Edge Manager 3.0.x - Admin Console: Logs

Get Logs (Paginated) [DEPRECATED]

GET {{LEM_adminURL}}/admin/v1/logs

DEPRECATED since 2.35. Use GET /admin/v1/logs/v2 (Logs > Get Audit Records).

Updated in 3.0. New optional query parameters: action, module, origin.

Get Logs (Paginated)

Returns the paginated audit log. Still served on 3.0, with the same filters as before; new integrations should use Get Audit Records (GET /logs/v2), which adds categories, free-text, username and source-IP filters.

Endpoint

GET {{LEM_adminURL}}/admin/v1/logs

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

companyName, projectId, from, to, context, contextId, level, action, origin, module, filter, order, requestedPage, limit (default 10). Same meaning as in Get Audit Records, but context takes a single value.

Response

Paged { pageNum, pagesCount, size, totalSize, elements: [ActionLogRecord] }.

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": 166,
    "size": 1,
    "totalSize": 166,
    "elements": [
        {
            "companyName": "",
            "projectId": null,
            "eventTime": 1767978201000,
            "level": "INFO",
            "username": "tokenname=postman;tokenhash=14d5816014a6b7e3dc21a71f51360b66",
            "context": "",
            "contextId": "",
            "contextDescription": null,
            "message": "generic messaeg",
            "accessLevel": "USER",
            "realCompanyName": null,
            "projectName": null
        }
    ]
}

Get Log Contexts [DEPRECATED]

GET {{LEM_adminURL}}/admin/v1/logs/contexts

DEPRECATED since 2.35. Use GET /admin/v1/logs/v2/categories (Logs > Get Audit Categories).

Get Log Contexts

Returns the flat list of context codes an audit record can carry. Still served on 3.0; use Get Audit Categories (GET /logs/v2/categories), which groups the same contexts under the 12 audit categories.

Endpoint

GET {{LEM_adminURL}}/admin/v1/logs/contexts

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 { code, description }, e.g. { "code": "activation", "description": "Edge device activation" }.

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

[
    {
        "code": "activation",
        "description": "Edge device activation"
    },
    {
        "code": "async-subtask",
        "description": "Async subtask"
    },
    {
        "code": "batch-dm",
        "description": "Batch edge device management"
    },
    {
        "code": "company",
        "description": "Company"
    },
    {
        "code": "deactivation",
        "description": "Edge device deactivation"
    },
    {
        "code": "device",
        "description": "Edge device"
    },
    {
        "code": "device-analytics",
        "description": "Edge device analytics"
    },
    {
        "code": "device-certificate",
        "description": "Edge device certificate"
    },
    {
        "code": "device-license-pool",
        "description": "Edge device license pool"
    },
    {
        "code": "edge-ca-certificate-update",
        "description": "Edge device CA certificate update"
    },
    {
        "code": "files",
        "description": "Files"
    },
    {
        "code": "grafana",
        "description": "Grafana"
    },
    {
        "code": "gcp-sa-keys-rotation",
        "description": "GCP SA keys rotation"
    },
    {
        "code": "license-generation",
        "description": "Edge license generation"
    },
    {
        "code": "license-provisioning",
        "description": "Edge license provisioning"
    },
    {
        "code": "mpcs",
        "description": "MPCS"
    },
    {
        "code": "mqtt-dm-account",
        "description": "MQTT DM account"
    },
    {
        "code": "mqtt-account",
        "description": "MQTT account"
    },
    {
        "code": "project",
        "description": "Project"
    },
    {
        "code": "grant",
        "description": "Project grant permissions"
    },
    {
        "code": "revoke",
        "description": "Project revoke permissions"
    },
    {
        "code": "report-stats",
        "description": "Report stats"
    },
    {
        "code": "ssl-certificate",
        "description": "SSL certificate"
    },
    {
        "code": "team",
        "description": "Team"
    },
    {
        "code": "team-member",
        "description": "Team member"
    },
    {
        "code": "digital-twins",
        "description": "Digital Twins"
    },
    {
        "code": "audit",
        "description": "Audit"
    },
    {
        "code": "git-sync",
        "description": "Git synchronization"
    }
]

Get Audit Records

GET {{LEM_adminURL}}/admin/v1/logs/v2?requestedPage=0&limit=1

New in 2.35.

Get Audit Records

Returns audit records across the whole installation, newest first by default. This is the v2 audit trail: every record carries a category (one of 12 functional areas) on top of the older context, plus the action, origin, module, source IP and a details object. Replaces Get Logs (Paginated).

Endpoint

GET {{LEM_adminURL}}/admin/v1/logs/v2

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
companyName query Limit to one company.
projectId query Limit to one project.
from / to query Event-time window, epoch milliseconds.
category query Multi-value. One or more of USER_MANAGEMENT, DEVICE_LIFECYCLE, APPLICATIONS, SOFTWARE_UPDATES, DATA_PIPELINE, ASSET_MANAGEMENT, AI_ML, CERTIFICATES, SYSTEM, ALERTS, SECURITY, LICENSES.
context query Multi-value. Context codes from Get Audit Categories (e.g. device, api-token).
contextId query Id of the object the record is about.
level query INFO, WARN or ERROR.
action query CREATE, MODIFY, DELETE or EXECUTE.
origin query UI, API_TOKEN, AUTOMATED or TUI.
module query API, ADMIN, JOBS, ALERTS, ACTIVATION, CONFIG, CLICKHOUSE_SINK or KEYCLOAK.
search query Case-insensitive free text over user, message, source IP and context id.
username query Multi-value. Case-insensitive prefix per value; values are OR-combined.
sourceIp query Source IP prefix (case-sensitive).
filter query Additional filter expression.
order query EVENT_TIME_DESC, EVENT_TIME_ASC, LEVEL_*, CONTEXT_* or USERNAME_* (_ASC / _DESC).
requestedPage / limit query Pagination; requestedPage is 0-based.

Response

Paged { pageNum, pagesCount, size, totalSize, elements: [ActionLogRecordEx] }. Each record:

Field Description
eventTime Epoch milliseconds.
level, action, origin, module As in the filters. API-token calls show origin: API_TOKEN and username: token=<token name>.
category, categoryLabel Functional area and its display name.
context, contextId, contextDescription What the record is about.
companyName, realCompanyName, projectId, projectName Scope, when there is one.
message Human-readable text.
details Structured payload; shape depends on the context.
sourceIp, accessLevel, errorCode, subtaskId Request metadata.

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": 297,
  "size": 1,
  "totalSize": 297,
  "elements": [
    {
      "companyName": "test",
      "projectId": null,
      "eventTime": 1791917896390,
      "level": "INFO",
      "username": "token=ps",
      "context": "audit-report",
      "contextId": null,
      "contextDescription": null,
      "message": "Report Exported: Audit report (106 rows) was exported by 'token=ps'.",
      "accessLevel": "ADMIN",
      "details": {
        "format": "csv",
        "exportedRows": 106,
        "totalMatched": 106,
        "filters": {
          "companyName": "test"
        }
      },
      "action": "EXECUTE",
      "origin": "API_TOKEN",
      "module": "API",
      "sourceIp": "10.17.4.128",
      "errorCode": null,
      "subtaskId": null,
      "category": "SYSTEM",
      "realCompanyName": "test",
      "projectName": null,
      "categoryLabel": "System"
    }
  ]
}

Get Audit Categories

GET {{LEM_adminURL}}/admin/v1/logs/v2/categories

New in 2.35.

Get Audit Categories

Returns the 12 audit categories and the context codes in each. Use it to build a category / context filter for Get Audit Records. Replaces Get Log Contexts, which returns the flat context list without categories.

Endpoint

GET {{LEM_adminURL}}/admin/v1/logs/v2/categories

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 { code, name, contexts: [{ code, description }] }.

[
  {
    "code": "USER_MANAGEMENT",
    "name": "User Management",
    "contexts": [
      { "code": "company", "description": "Company" },
      { "code": "edge-oauth-client", "description": "Edge device OAuth client" },
      { "code": "api-token", "description": "API token" }
    ]
  }
]

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

[
  {
    "code": "USER_MANAGEMENT",
    "name": "User Management",
    "contexts": [
      {
        "code": "company",
        "description": "Company"
      },
      {
        "code": "edge-oauth-client",
        "description": "Edge device OAuth client"
      },
      {
        "code": "mqtt-dm-account",
        "description": "MQTT DM account"
      },
      {
        "code": "mqtt-account",
        "description": "MQTT account"
      },
      {
        "code": "project",
        "description": "Project"
      },
      {
        "code": "grant",
        "description": "Project grant permissions"
      },
      {
        "code": "revoke",
        "description": "Project revoke permissions"
      },
      {
        "code": "team",
        "description": "Team"
      },
      {
        "code": "team-member",
        "description": "Team member"
      },
      {
        "code": "audit",
        "description": "Audit"
      },
      {
        "code": "api-token",
        "description": "API token"
      },
      {
        "code": "user-password",
        "description": "User password"
      },
      {
        "code": "role",
        "description": "Role"
      },
      {
        "code": "user",
        "description": "User"
      },
      {
        "code": "oidc-config",
        "description": "OIDC configuration"
      },
      {
        "code": "identity-provider",
        "description": "Identity provider"
      }
    ]
  },
  {
    "code": "DEVICE_LIFECYCLE",
    "name": "Device Lifecycle",
    "contexts": [
      {
        "code": "activation",
        "description": "Edge device activation"
      },
      {
        "code": "batch-dm",
        "description": "Batch edge device management"
      },
      {
        "code": "deactivation",
        "description": "Edge device deactivation"
      },
      {
        "code": "device",
        "description": "Edge device"
      },
      {
        "code": "device-connectivity",
        "description": "Edge device connectivity"
      },
      {
        "code": "device-ha",
        "description": "Edge device high availability"
      }
    ]
  },
  {
    "code": "APPLICATIONS",
    "name": "Applications",
    "contexts": [
      {
        "code": "device-service",
        "description": "Edge device system service"
      },
      {
        "code": "grafana",
        "description": "Grafana"
      },
      {
        "code": "marketplace-application",
        "description": "Marketplace application"
      },
      {
        "code": "mpcs",
        "description": "MPCS"
      },
      {
        "code": "template-applied",
        "description": "Template applied"
      },
      {
        "code": "template-updated",
        "description": "Template updated"
      },
      {
        "code": "template-parameterized",
        "description": "Template parameterized"
      },
      {
        "code": "template-variable-mapping-updated",
        "description": "Template variable mapping updated"
      }
    ]
  },
  {
    "code": "SOFTWARE_UPDATES",
    "name": "Software Updates",
    "contexts": [
      {
        "code": "le-upgrade",
        "description": "LE firmware upgrade"
      },
      {
        "code": "lem-upgrade",
        "description": "LEM self-upgrade"
      }
    ]
  },
  {
    "code": "DATA_PIPELINE",
    "name": "Data Pipeline",
    "contexts": [
      {
        "code": "device-analytics",
        "description": "Edge device analytics"
      },
      {
        "code": "device-log-forwarding",
        "description": "Edge device log forwarding"
      },
      {
        "code": "git-sync",
        "description": "Git synchronization"
      },
      {
        "code": "integration",
        "description": "Data pipeline integration configuration"
      },
      {
        "code": "device-events-forwarding",
        "description": "Edge device events forwarding"
      },
      {
        "code": "instance-data-export",
        "description": "Instance configuration export"
      },
      {
        "code": "instance-data-import",
        "description": "Instance configuration import"
      },
      {
        "code": "database-dump-download",
        "description": "Database dump download (sensitive-filtered)"
      },
      {
        "code": "registry-image",
        "description": "Docker registry image"
      },
      {
        "code": "registry-config",
        "description": "Docker registry configuration"
      },
      {
        "code": "data-lifecycle-policy",
        "description": "Data lifecycle (retention/purge) policy"
      },
      {
        "code": "audit-forwarding",
        "description": "Audit log forwarding to remote syslog"
      }
    ]
  },
  {
    "code": "ASSET_MANAGEMENT",
    "name": "Asset Management",
    "contexts": [
      {
        "code": "asset-hierarchy",
        "description": "Industrial Asset Hierarchy"
      },
      {
        "code": "digital-twins",
        "description": "Digital Twins"
      }
    ]
  }
]

Export Audit Records

GET {{LEM_adminURL}}/admin/v1/logs/v2/export

New in 2.35.

Export Audit Records

Downloads the audit records matching the filters as a CSV or PDF file. The export itself is recorded in the audit trail (context audit-report).

Endpoint

GET {{LEM_adminURL}}/admin/v1/logs/v2/export

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
companyName query Limit to one company.
projectId query Limit to one project.
from / to query Event-time window, epoch milliseconds.
category query Multi-value. One or more of USER_MANAGEMENT, DEVICE_LIFECYCLE, APPLICATIONS, SOFTWARE_UPDATES, DATA_PIPELINE, ASSET_MANAGEMENT, AI_ML, CERTIFICATES, SYSTEM, ALERTS, SECURITY, LICENSES.
context query Multi-value. Context codes from Get Audit Categories (e.g. device, api-token).
contextId query Id of the object the record is about.
level query INFO, WARN or ERROR.
action query CREATE, MODIFY, DELETE or EXECUTE.
origin query UI, API_TOKEN, AUTOMATED or TUI.
module query API, ADMIN, JOBS, ALERTS, ACTIVATION, CONFIG, CLICKHOUSE_SINK or KEYCLOAK.
search query Case-insensitive free text over user, message, source IP and context id.
username query Multi-value. Case-insensitive prefix per value; values are OR-combined.
sourceIp query Source IP prefix (case-sensitive).
filter query Additional filter expression.
order query EVENT_TIME_DESC, EVENT_TIME_ASC, LEVEL_*, CONTEXT_* or USERNAME_* (_ASC / _DESC).
format query csv or pdf.

Response

200 OK with the file as an attachment, e.g. Content-Type: text/csv and Content-Disposition: attachment; filename="audit-report-20261013-184009.csv". The CSV columns are:

"Date & Time","Severity","Category","Sub-Category","User","Action","Origin","Source IP","Description","Outcome","Error Code","Module","Reason","Changes"

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

"Date & Time","Severity","Category","Sub-Category","User","Action","Origin","Source IP","Description","Outcome","Error Code","Module","Reason","Changes"


Get API Activity Records

GET {{LEM_adminURL}}/admin/v1/logs/v2/api-activity?requestedPage=0&limit=1

New in 2.35.

Get API Activity Records

Returns the API-activity log: one record per API request (method, URI, route, status, duration), kept apart from the business audit trail in Get Audit Records. Useful to see what an integration or API token has been calling.

Endpoint

GET {{LEM_adminURL}}/admin/v1/logs/v2/api-activity

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
from / to query Epoch milliseconds.
level query INFO, WARN or ERROR.
module query API, ADMIN, ... as in Get Audit Records.
search query Free text.
order query As in Get Audit Records.
requestedPage / limit query Pagination; requestedPage is 0-based.

Response

Paged { pageNum, pagesCount, size, totalSize, elements }. Each element has context: "api-activity" and the request in details:

{
  "eventTime": 1791916790500,
  "level": "INFO",
  "username": "token=ps",
  "context": "api-activity",
  "message": "GET /logs -> 200",
  "details": { "method": "GET", "uri": "/admin/v1/logs", "route": "/logs", "status": 200, "durationMs": 35 },
  "action": "EXECUTE",
  "origin": "API_TOKEN",
  "module": "ADMIN",
  "category": "SYSTEM"
}

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": 14781,
  "size": 1,
  "totalSize": 14781,
  "elements": [
    {
      "companyName": null,
      "projectId": null,
      "eventTime": 1791917896507,
      "level": "INFO",
      "username": "token=ps",
      "context": "api-activity",
      "contextId": null,
      "contextDescription": null,
      "message": "GET /project/platform-rule -> 200",
      "accessLevel": "ADMIN",
      "details": {
        "method": "GET",
        "uri": "/api/v1/project/platform-rule?projectId=c8con68kzh7hwgmc32raesiaw",
        "route": "/project/platform-rule",
        "status": 200,
        "durationMs": 44
      },
      "action": "EXECUTE",
      "origin": "API_TOKEN",
      "module": "API",
      "sourceIp": "10.17.4.128",
      "errorCode": null,
      "subtaskId": null,
      "category": "SYSTEM",
      "categoryLabel": "System"
    }
  ]
}

View this page as Markdown