LitmusEdgeManager 2.31.x API Documentation/Digital Twins/Asset Management - LE, LEM, LUNS API Docs

DigitalTwin Model Details

GET {{LEM_URL}}/api/v1/dt2/model/{{LEM_DT_Model_ID}}

DigitalTwin Model Details

Returns the top-level fields for one model. Same shape as one entry of Get DigitalTwin Models but addressed by model ID instead of company name.

Endpoint

GET {{LEM_URL}}/api/v1/dt2/model/{{LEM_DT_Model_ID}}

Authentication

X-AuthToken header set to your LEM admin API token (X-AuthToken: {{LEM_AdminApiToken}}). Tokens are generated in the LEM Admin Console under Settings > Tokens.

Path parameters

Location Name Required Description
Path {{LEM_DT_Model_ID}} Yes Model UUID.

Response

200 OK -- application/json. See Get DigitalTwin Models for the field reference.

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

{
    "hasImage": true,
    "ID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
    "Name": "PlantModel",
    "CompanyName": "solutions",
    "Description": "",
    "Assets": "ASSET",
    "ImagePreviewUrl": "https://10.17.10.247:443/api/v1/image/dt2-model-image-preview-2f00a759-96d8-4b2c-acd6-6861542f65b2",
    "ImageUrl": "https://10.17.10.247:443/api/v1/image/dt2-model-image-2f00a759-96d8-4b2c-acd6-6861542f65b2",
    "RootNodeID": "5fdfd55f-38ff-4406-ab57-9c41c8f92ab6",
    "Version": 0
}

DigitalTwin Model Static Attributes

GET {{LEM_URL}}/api/v1/dt2/static-attributes/{{LEM_DT_Model_ID}}

DigitalTwin Model Static Attributes

Returns the static (constant) attributes attached to one model. Each attribute is a typed key/value pair.

Endpoint

GET {{LEM_URL}}/api/v1/dt2/static-attributes/{{LEM_DT_Model_ID}}

Authentication

X-AuthToken header set to your LEM admin API token (X-AuthToken: {{LEM_AdminApiToken}}). Tokens are generated in the LEM Admin Console under Settings > Tokens.

Response

200 OK -- application/json

Field Type Description
ID string Attribute UUID.
ModelID string Parent model UUID.
InstanceID string null for model-level attributes; UUID for per-instance overrides (not applicable at LEM scope).
Key string Attribute name (e.g. Manufacturer).
Value string Attribute value.
[
  { "ID": "362e4c6c-f3ba-4e55-b759-0d07c18b1879", "ModelID": "2f00a759-...", "InstanceID": null, "Key": "Type",     "Value": "Manufacturing" },
  { "ID": "6f4374ad-ec7a-40a4-8dcd-89cce0bf8943", "ModelID": "2f00a759-...", "InstanceID": null, "Key": "Location", "Value": "Los Angeles, CA, USA" }
]

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": "362e4c6c-f3ba-4e55-b759-0d07c18b1879",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "Key": "Type",
        "Value": "Manufacturing"
    },
    {
        "ID": "6f4374ad-ec7a-40a4-8dcd-89cce0bf8943",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "Key": "Location",
        "Value": "Los Angeles, CA, USA"
    },
    {
        "ID": "f11c264c-c206-4070-bb97-fcf6cd707562",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "Key": "Plant Code",
        "Value": " "
    },
    {
        "ID": "f30b7800-c644-4161-83e8-7791f822ff3f",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "Key": "Business Group",
        "Value": "Automotive"
    }
]

DigitalTwin Dynamic Attributes

GET {{LEM_URL}}/api/v1/dt2/dynamic-attributes/{{LEM_DT_Model_ID}}

DigitalTwin Dynamic Attributes

Returns the dynamic (live-signal) attributes attached to one model. Each dynamic attribute carries name, data type, unit, and an optional topic + transformation schema binding.

Endpoint

GET {{LEM_URL}}/api/v1/dt2/dynamic-attributes/{{LEM_DT_Model_ID}}

Authentication

X-AuthToken header set to your LEM admin API token (X-AuthToken: {{LEM_AdminApiToken}}). Tokens are generated in the LEM Admin Console under Settings > Tokens.

Response

200 OK -- application/json

Field Type Description
ID string Attribute UUID.
Name string Attribute name.
DataType string OPC UA-style type (int, float, bool, ...). Empty for unspecified.
Unit string Engineering unit.
ModelID string Parent model.
InstanceID string null at LEM scope.
SchemaID string UUID of an attached transformation, or null.
Topic string Source MQTT topic when the attribute is bound to a live data source.
SkipParentKey boolean If true, omit the parent hierarchy node's name from the published payload key.
[
  {
    "ID": "2583268f-4816-4fce-9769-c5db7a781987",
    "Name": "Equipment_7",
    "DataType": "",
    "Unit": "",
    "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
    "InstanceID": null,
    "SchemaID": null,
    "Topic": "",
    "SkipParentKey": false
  }
]

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": "2583268f-4816-4fce-9769-c5db7a781987",
        "Name": "Equipment_7",
        "DataType": "",
        "Unit": "",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "SchemaID": null,
        "Topic": "",
        "SkipParentKey": false
    },
    {
        "ID": "4440a44d-8947-4d03-8c12-3f4a7d72f269",
        "Name": "Equipment_3",
        "DataType": "",
        "Unit": "",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "SchemaID": null,
        "Topic": "",
        "SkipParentKey": false
    },
    {
        "ID": "674bc555-f4b8-4cb3-8fcf-5564ebd439f3",
        "Name": "Equipment_4",
        "DataType": "",
        "Unit": "",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "SchemaID": null,
        "Topic": "",
        "SkipParentKey": false
    },
    {
        "ID": "80f8ce9b-14fa-4612-9166-c4fa890e02cb",
        "Name": "Equipment_2",
        "DataType": "",
        "Unit": "",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "SchemaID": null,
        "Topic": "",
        "SkipParentKey": false
    },
    {
        "ID": "87099aba-6d49-4d32-947e-9ab3f59bb434",
        "Name": "Equipment_1",
        "DataType": "",
        "Unit": "",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "SchemaID": null,
        "Topic": "",
        "SkipParentKey": false
    },
    {
        "ID": "a4ac30fe-a5d1-4e6d-94e6-42ddba583d66",
        "Name": "Equipment_6",
        "DataType": "",
        "Unit": "",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "SchemaID": null,
        "Topic": "",
        "SkipParentKey": false
    },
    {
        "ID": "fc1d0f09-b090-431e-9dbc-796cb4edac92",
        "Name": "Equipment_5",
        "DataType": "",
        "Unit": "",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "InstanceID": null,
        "SchemaID": null,
        "Topic": "",
        "SkipParentKey": false
    }
]

DigitalTwin Transformations

GET {{LEM_URL}}/api/v1/dt2/transformations/{{LEM_DT_Model_ID}}

DigitalTwin Transformations

Returns the transformations (named JSON Schemas) defined for one model. Dynamic attributes reference transformations via their SchemaID to validate / shape payloads before publishing.

Endpoint

GET {{LEM_URL}}/api/v1/dt2/transformations/{{LEM_DT_Model_ID}}

Authentication

X-AuthToken header set to your LEM admin API token (X-AuthToken: {{LEM_AdminApiToken}}). Tokens are generated in the LEM Admin Console under Settings > Tokens.

Response

200 OK -- application/json

Field Type Description
ID string Transformation UUID. Used as SchemaID from dynamic attributes.
Name string Display name.
ModelID string Parent model.
Schema string JSON Schema (or JSONPath mapping) as a string. Decode client-side.
SchemaType string json for JSON Schema, other values reserved.
[
  { "ID": "28099054-40b7-4fa4-930d-5696779f628c", "Name": "plant", "ModelID": "2f00a759-...", "Schema": "{\"plant\":\"$.metadata.plant\"}", "SchemaType": "json" }
]

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": "28099054-40b7-4fa4-930d-5696779f628c",
        "Name": "plant",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "Schema": "{\"plant\":\"$.metadata.plant\"}",
        "SchemaType": "json"
    },
    {
        "ID": "776eab7e-caa0-4ee3-b28d-6add7197b8a3",
        "Name": "OEE",
        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "Schema": "{\"OEE\":\"$.OEE\"}",
        "SchemaType": "json"
    }
]

DigitalTwin Get Heirarchy

GET {{LEM_URL}}/api/v1/dt2/model/node/{{LEM_DT_Model_RootNodeID}}

DigitalTwin Get Hierarchy

Returns the full hierarchical node tree for one model, starting at the root node. Each node carries an Object reference and an array of ChildNodes.

Despite the Postman name's misspelling ("Heirarchy"), the underlying field is Hierarchy. The path takes the root node ID (not the model ID): obtain it from Get DigitalTwin Models > RootNodeID.

Endpoint

GET {{LEM_URL}}/api/v1/dt2/model/node/{{LEM_DT_Model_RootNodeID}}

Authentication

X-AuthToken header set to your LEM admin API token (X-AuthToken: {{LEM_AdminApiToken}}). Tokens are generated in the LEM Admin Console under Settings > Tokens.

Path parameters

Location Name Required Description
Path {{LEM_DT_Model_RootNodeID}} Yes Root node UUID (from RootNodeID).

Response

200 OK -- application/json

Field Type Description
ID string Node UUID.
Name string Node display name.
NodeType string MODEL, FOLDER, STATIC_ATTRIBUTE, DYNAMIC_ATTRIBUTE.
Object object Embedded entity record (the model itself for the root; an attribute / folder for children).
ChildNodes object[] Recursive nested nodes.
{
  "ID": "5fdfd55f-38ff-4406-ab57-9c41c8f92ab6",
  "Name": "root",
  "Object": {
    "hasImage": true,
    "ID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
    "Name": "PlantModel",
    "CompanyName": "solutions",
    "Description": "",
    "Assets": "ASSET",
    "RootNodeID": "5fdfd55f-38ff-4406-ab57-9c41c8f92ab6",
    "Version": 1
  },
  "NodeType": "MODEL",
  "ChildNodes": [
    {
      "ID": "cd9f0df5-88f9-415e-8ffc-31067ea59461",
      "Name": "Plant",
      "Object": {}
    }
  ]
}

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": "5fdfd55f-38ff-4406-ab57-9c41c8f92ab6",
    "Name": "root",
    "Object": {
        "hasImage": true,
        "ID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
        "Name": "PlantModel",
        "CompanyName": "solutions",
        "Description": "",
        "Assets": "ASSET",
        "ImagePreviewUrl": null,
        "ImageUrl": null,
        "RootNodeID": "5fdfd55f-38ff-4406-ab57-9c41c8f92ab6",
        "Version": 1
    },
    "NodeType": "MODEL",
    "ChildNodes": [
        {
            "ID": "cd9f0df5-88f9-415e-8ffc-31067ea59461",
            "Name": "Plant",
            "Object": null,
            "NodeType": "FOLDER",
            "ChildNodes": [
                {
                    "ID": "aa5f0924-e7c3-4182-a3b6-cd06d890f81a",
                    "Name": "Area_1",
                    "Object": null,
                    "NodeType": "FOLDER",
                    "ChildNodes": [
                        {
                            "ID": "20cb18cd-1b26-45df-bb46-70e77d664f3e",
                            "Name": "Line_1",
                            "Object": null,
                            "NodeType": "FOLDER",
                            "ChildNodes": [
                                {
                                    "ID": "d1418fae-dd3c-41fb-9fdf-29c047b1edf5",
                                    "Name": "Equipment",
                                    "Object": null,
                                    "NodeType": "FOLDER",
                                    "ChildNodes": [
                                        {
                                            "ID": "73e24a5e-9b0d-42a0-a0e8-cd073bf22902",
                                            "Name": "Equipment_1",
                                            "Object": {
                                                "ID": "87099aba-6d49-4d32-947e-9ab3f59bb434",
                                                "Name": "Equipment_1",
                                                "DataType": "",
                                                "Unit": "",
                                                "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                                                "InstanceID": null,
                                                "SchemaID": null,
                                                "Topic": "",
                                                "SkipParentKey": false
                                            },
                                            "NodeType": "DYNAMIC_ATTRIBUTE",
                                            "ChildNodes": [],
                                            "CompanyName": null,
                                            "Position": 0
                                        },
                                        {
                                            "ID": "b724b712-b39b-4906-a69b-e35befe75a01",
                                            "Name": "Equipment_2",
                                            "Object": {
                                                "ID": "80f8ce9b-14fa-4612-9166-c4fa890e02cb",
                                                "Name": "Equipment_2",
                                                "DataType": "",
                                                "Unit": "",
                                                "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                                                "InstanceID": null,
                                                "SchemaID": null,
                                                "Topic": "",
                                                "SkipParentKey": false
                                            },
                                            "NodeType": "DYNAMIC_ATTRIBUTE",
                                            "ChildNodes": [],
                                            "CompanyName": null,
                                            "Position": 1
                                        }
                                    ],
                                    "CompanyName": null,
                                    "Position": 0
                                }
                            ],
                            "CompanyName": null,
                            "Position": 0
                        },
                        {
                            "ID": "6ec2d6c9-0658-4ccc-bdcb-f873ddc45c6e",
                            "Name": "Line_2",
                            "Object": null,
                            "NodeType": "FOLDER",
                            "ChildNodes": [
                                {
                                    "ID": "9796a912-547b-4461-8570-8e2f26d77751",
                                    "Name": "Equipment",
                                    "Object": null,
                                    "NodeType": "FOLDER",
                                    "ChildNodes": [
                                        {
                                            "ID": "b950f2cf-054e-40ea-a8d6-2aa62c99e93a",
                                            "Name": "Equipment_3",
                                            "Object": {
                                                "ID": "4440a44d-8947-4d03-8c12-3f4a7d72f269",
                                                "Name": "Equipment_3",
                                                "DataType": "",
                                                "Unit": "",
                                                "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                                                "InstanceID": null,
                                                "SchemaID": null,
                                                "Topic": "",
                                                "SkipParentKey": false
                                            },
                                            "NodeType": "DYNAMIC_ATTRIBUTE",
                                            "ChildNodes": [],
                                            "CompanyName": null,
                                            "Position": 0
                                        },
                                        {
                                            "ID": "5f797d31-3c48-45e9-b5f5-686a4aa87267",
                                            "Name": "Equipment_4",
                                            "Object": {
                                                "ID": "674bc555-f4b8-4cb3-8fcf-5564ebd439f3",
                                                "Name": "Equipment_4",
                                                "DataType": "",
                                                "Unit": "",
                                                "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                                                "InstanceID": null,
                                                "SchemaID": null,
                                                "Topic": "",
                                                "SkipParentKey": false
                                            },
                                            "NodeType": "DYNAMIC_ATTRIBUTE",
                                            "ChildNodes": [],
                                            "CompanyName": null,
                                            "Position": 1
                                        }
                                    ],
                                    "CompanyName": null,
                                    "Position": 0
                                }
                            ],
                            "CompanyName": null,
                            "Position": 1
                        }
                    ],
                    "CompanyName": null,
                    "Position": 0
                },
                {
                    "ID": "b46e88b5-141e-40c2-9219-4bb260801624",
                    "Name": "Area_2",
                    "Object": null,
                    "NodeType": "FOLDER",
                    "ChildNodes": [
                        {
                            "ID": "06c8ba1e-97d4-48ee-a954-34b08c7cd1da",
                            "Name": "Line_1",
                            "Object": null,
                            "NodeType": "FOLDER",
                            "ChildNodes": [
                                {
                                    "ID": "f3a30960-5a82-4970-94c6-ae5b535b9774",
                                    "Name": "Equipment",
                                    "Object": null,
                                    "NodeType": "FOLDER",
                                    "ChildNodes": [
                                        {
                                            "ID": "812d1584-5ee9-4df5-97a6-d034cc711151",
                                            "Name": "Equipment_5",
                                            "Object": {
                                                "ID": "fc1d0f09-b090-431e-9dbc-796cb4edac92",
                                                "Name": "Equipment_5",
                                                "DataType": "",
                                                "Unit": "",
                                                "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                                                "InstanceID": null,
                                                "SchemaID": null,
                                                "Topic": "",
                                                "SkipParentKey": false
                                            },
                                            "NodeType": "DYNAMIC_ATTRIBUTE",
                                            "ChildNodes": [],
                                            "CompanyName": null,
                                            "Position": 0
                                        }
                                    ],
                                    "CompanyName": null,
                                    "Position": 0
                                }
                            ],
                            "CompanyName": null,
                            "Position": 0
                        },
                        {
                            "ID": "a7992c75-d485-46e9-9626-cedc8482b8a3",
                            "Name": "Line_2",
                            "Object": null,
                            "NodeType": "FOLDER",
                            "ChildNodes": [
                                {
                                    "ID": "24dda06e-808f-439f-8fcd-4249cc580ee6",
                                    "Name": "Equipment",
                                    "Object": null,
                                    "NodeType": "FOLDER",
                                    "ChildNodes": [
                                        {
                                            "ID": "0b3e9d27-32b6-497f-abe6-f973cb043a07",
                                            "Name": "Equipment_6",
                                            "Object": {
                                                "ID": "a4ac30fe-a5d1-4e6d-94e6-42ddba583d66",
                                                "Name": "Equipment_6",
                                                "DataType": "",
                                                "Unit": "",
                                                "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                                                "InstanceID": null,
                                                "SchemaID": null,
                                                "Topic": "",
                                                "SkipParentKey": false
                                            },
                                            "NodeType": "DYNAMIC_ATTRIBUTE",
                                            "ChildNodes": [],
                                            "CompanyName": null,
                                            "Position": 0
                                        },
                                        {
                                            "ID": "ad070e43-67db-4ffa-b92a-a4510975914e",
                                            "Name": "Equipment_7",
                                            "Object": {
                                                "ID": "2583268f-4816-4fce-9769-c5db7a781987",
                                                "Name": "Equipment_7",
                                                "DataType": "",
                                                "Unit": "",
                                                "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                                                "InstanceID": null,
                                                "SchemaID": null,
                                                "Topic": "",
                                                "SkipParentKey": false
                                            },
                                            "NodeType": "DYNAMIC_ATTRIBUTE",
                                            "ChildNodes": [],
                                            "CompanyName": null,
                                            "Position": 1
                                        }
                                    ],
                                    "CompanyName": null,
                                    "Position": 0
                                }
                            ],
                            "CompanyName": null,
                            "Position": 1
                        }
                    ],
                    "CompanyName": null,
                    "Position": 1
                },
                {
                    "ID": "bb2199dd-d557-418f-91a9-537e9d540f06",
                    "Name": "Type",
                    "Object": {
                        "ID": "362e4c6c-f3ba-4e55-b759-0d07c18b1879",
                        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                        "InstanceID": null,
                        "Key": "Type",
                        "Value": "Manufacturing"
                    },
                    "NodeType": "STATIC_ATTRIBUTE",
                    "ChildNodes": [],
                    "CompanyName": null,
                    "Position": 2
                },
                {
                    "ID": "7d344e61-750e-42ef-832b-b74b91feaf71",
                    "Name": "Plant Code",
                    "Object": {
                        "ID": "f11c264c-c206-4070-bb97-fcf6cd707562",
                        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                        "InstanceID": null,
                        "Key": "Plant Code",
                        "Value": " "
                    },
                    "NodeType": "STATIC_ATTRIBUTE",
                    "ChildNodes": [],
                    "CompanyName": null,
                    "Position": 3
                },
                {
                    "ID": "92d7422e-48c6-4210-8706-76b50e10ece2",
                    "Name": "Location",
                    "Object": {
                        "ID": "6f4374ad-ec7a-40a4-8dcd-89cce0bf8943",
                        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                        "InstanceID": null,
                        "Key": "Location",
                        "Value": "Los Angeles, CA, USA"
                    },
                    "NodeType": "STATIC_ATTRIBUTE",
                    "ChildNodes": [],
                    "CompanyName": null,
                    "Position": 4
                },
                {
                    "ID": "119f4d46-39e5-42d3-9ba5-dd5f829534c5",
                    "Name": "Business Group",
                    "Object": {
                        "ID": "f30b7800-c644-4161-83e8-7791f822ff3f",
                        "ModelID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
                        "InstanceID": null,
                        "Key": "Business Group",
                        "Value": "Automotive"
                    },
                    "NodeType": "STATIC_ATTRIBUTE",
                    "ChildNodes": [],
                    "CompanyName": null,
                    "Position": 5
                }
            ],
            "CompanyName": null,
            "Position": 0
        }
    ],
    "CompanyName": "solutions",
    "Position": 0
}

Save Changes to DigitalTwin Model

POST {{LEM_URL}}/api/v1/dt2/model/complete/{{company_name}}

Save Changes to DigitalTwin Model (transactional)

Applies a batch of edits to one model atomically: create / update / delete static and dynamic attributes in a single transaction. Used by the LEM UI to commit every edit in the model editor in one round trip.

The request envelope groups changes by kind (createStaticAttributes[], updateStaticAttributes[], delStaticAttributes[], createDynamicAttributes[], updateDynamicAttributes[], delDynamicAttributes[]). Pass empty arrays for any kind you don't need.

Endpoint

POST {{LEM_URL}}/api/v1/dt2/model/complete/{{company_name}}
Content-Type: application/json

Authentication

X-AuthToken header set to your LEM admin API token (X-AuthToken: {{LEM_AdminApiToken}}). Tokens are generated in the LEM Admin Console under Settings > Tokens.

Request body

{
  "modelId": "{{LEM_DT_Model_ID}}",
  "createStaticAttributes": [
    {
      "ID": "eed5f265-a24b-4856-a5c1-0b3683506b9c",
      "ModelID": "{{LEM_DT_Model_ID}}",
      "InstanceID": null,
      "Key": "Serial",
      "Value": "$EDGE_DT_MODEL_NAME",
      "$isNew": true
    }
  ],
  "updateStaticAttributes": [],
  "delStaticAttributes": [],
  "createDynamicAttributes": [],
  "updateDynamicAttributes": [],
  "delDynamicAttributes": []
}
Field Type Required Description
modelId string Yes Target model UUID.
createStaticAttributes[] object[] No Static attrs to create. Each item carries ID (caller-generated), Key, Value, plus $isNew: true.
updateStaticAttributes[] object[] No Static attrs to update. Each item has ID, Key, Value.
delStaticAttributes[] object[] No Static attrs to delete. Each item has just {ID}.
createDynamicAttributes[] / updateDynamicAttributes[] / delDynamicAttributes[] object[] No Same shape, for dynamic attrs.

Response

200 OK -- application/json. Returns the post-edit model record with bumped Version.

{
  "hasImage": true,
  "ID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
  "Name": "PlantModel",
  "CompanyName": "solutions",
  "RootNodeID": "5fdfd55f-38ff-4406-ab57-9c41c8f92ab6",
  "Version": 4
}

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

{
    "modelId": "{{LEM_DT_Model_ID}}",
    "createStaticAttributes": [
        {
            "ID": "eed5f265-a24b-4856-a5c1-0b3683506b9c",
            "ModelID": "{{LEM_DT_Model_ID}}",
            "InstanceID": null,
            "Key": "Serial",
            "Value": "$EDGE_DT_MODEL_NAME",
            "$isNew": true
        }
    ],
    "updateStaticAttributes": [],
    "delStaticAttributes": [],
    "createDynamicAttributes": [],
    "updateDynamicAttributes": [],
    "delDynamicAttributes": [],
    "createTransformations": [],
    "updateTransformations": [],
    "deleteTransformations": [],
    "saveHierarchy": null
}

Response

Status: 200 OK

{
    "hasImage": true,
    "ID": "2f00a759-96d8-4b2c-acd6-6861542f65b2",
    "Name": "PlantModel",
    "CompanyName": "solutions",
    "Description": "",
    "Assets": "ASSET",
    "ImagePreviewUrl": null,
    "ImageUrl": null,
    "RootNodeID": "5fdfd55f-38ff-4406-ab57-9c41c8f92ab6",
    "Version": 4
}

Get Attribute Parameters

GET {{LEM_URL}}/api/v1/dt2/attribute-parameters/{{LEM_DT_Model_ID}}

Get Attribute Parameters

Returns the list of attribute parameters for a model. Parameters are free-form (Name, Value) pairs attached to an owner (ownerType: 0 = model, other values reserved). They behave like static attributes for templated bindings.

Endpoint

GET {{LEM_URL}}/api/v1/dt2/attribute-parameters/{{LEM_DT_Model_ID}}

Authentication

X-AuthToken header set to your LEM admin API token (X-AuthToken: {{LEM_AdminApiToken}}). Tokens are generated in the LEM Admin Console under Settings > Tokens.

Response

200 OK -- application/json

Field Type Description
ID string Parameter UUID.
ModelID string Parent model UUID (echo of path parameter).
ownerId string UUID of the parameter's owner (model or attribute).
ownerType integer 0 = model. Other values reserved for future owner kinds.
Name / Value string Parameter key/value.
[
  {
    "ownerId": "e75dc5b0-2dec-4d1a-b45c-ec01884875d4",
    "ownerType": 0,
    "ID": "e5027b6f-423a-4af2-a9bf-f4f20b3d8aab",
    "ModelID": "e75dc5b0-2dec-4d1a-b45c-ec01884875d4",
    "Name": "test",
    "Value": "value"
  }
]

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

[
    {
        "ownerId": "e75dc5b0-2dec-4d1a-b45c-ec01884875d4",
        "ownerType": 0,
        "ID": "e5027b6f-423a-4af2-a9bf-f4f20b3d8aab",
        "ModelID": "e75dc5b0-2dec-4d1a-b45c-ec01884875d4",
        "Name": "test",
        "Value": "value"
    }
]

Deploy DigitalTwin Models to Edge Device

POST {{LEM_URL}}/api/v1/dt2/model/push/{{project_id}}/{{edge_device_id}}

Deploy DigitalTwin Models to Edge Device

Pushes one or more Digital Twin models from LEM to a single edge device. This is the direct, synchronous equivalent of the Deploy action in the LEM Digital Twins UI. Use it when you are deploying to one device and want the per-model result in the response.

To deploy to several devices in one operation, use Bulk Deploy DigitalTwin Models to Edge Devices instead.

Endpoint

POST {{LEM_URL}}/api/v1/dt2/model/push/{projectId}/{deviceId}
Content-Type: application/json

Path parameters

Parameter Type Required Description
projectId string Yes LEM project that owns the device. 25-character LEM ID, not a UUID.
deviceId string Yes Target edge device. 25-character LEM ID, not a UUID.

Request body

Field Type Required Description
modelIds string[] Yes Digital Twin model IDs to deploy. These are UUIDs, as returned by Get DigitalTwin Models in the ID field.
{
  "modelIds": ["{{LEM_DT_Model_ID}}"]
}

Note the ID mismatch: projectId and deviceId are LEM-format 25-character identifiers, while modelIds entries are UUIDs. Mixing them up is the most common cause of a 404 here.

Response

200 OK -- application/json

Field Type Description
responseItems array One entry per model ID you submitted.
responseItems[].modelId string The model this result refers to.
responseItems[].success boolean Whether that model deployed.
responseItems[].message string Failure detail. null on success.

Results are per model, so a 200 does not mean every model deployed. Always check each success flag.

Deploying a model that is already on the device succeeds and overwrites it, so this call is safe to repeat.

Errors

HTTP status When it happens
401 Missing or invalid API token.
404 Device not found in the given project. Body is {"code":"E","message":"Failed to push Digital Twin models: device <id> not found"}.

TLS note: LEM installations commonly use a self-signed certificate. Either install the CA in your client trust store or disable certificate verification when calling these endpoints directly.

Request Body

{
    "modelIds": [
        "{{LEM_DT_Model_ID}}"
    ]
}

Response

Status: 200 OK

{
    "responseItems": [
        {
            "modelId": "87647a08-d8ea-46f7-a8d6-0984936f0a16",
            "success": true,
            "message": null
        }
    ]
}

Bulk Deploy DigitalTwin Models to Edge Devices

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

Bulk Deploy DigitalTwin Models to Edge Devices

Deploys Digital Twin models to one or more edge devices as an asynchronous task. This is what the LEM UI issues for a multi-device Digital Twin deployment.

The request returns a taskId immediately; the deployment runs in the background. Poll Verify DigitalTwin Deploy Task to follow it to completion.

This endpoint is the generic LEM async-task entry point, shared with application launches and AI/ML model uploads. What makes it a Digital Twin deployment is the task type DIGITAL_TWINS_MODEL_DEPLOY.

Endpoint

POST {{LEM_URL}}/api/v1/async-task/task-with-subtasks
Content-Type: application/json

Request body

Field Type Required Description
name string Yes Display name for the task, shown in the LEM task list.
description string No Free-form description.
params object Yes Task-level parameters. Empty for this task type.
companyName string Yes Company that owns the models.
projectId string Yes LEM project. 25-character LEM ID, not a UUID.
type enum Yes DIGITAL_TWINS_MODEL_DEPLOY.
waitForOnline boolean No If true, hold the subtask until the device comes online instead of failing it.
subtasks array Yes One entry per target device. See below.

Subtask

Field Type Required Description
deviceId string Yes Target edge device. 25-character LEM ID, not a UUID.
num integer Yes Zero-based index of this subtask within the task.
type enum Yes DIGITAL_TWINS_MODEL_DEPLOY. Must match the task-level type.
params.modelIds string[] Yes Digital Twin model UUIDs to deploy to this device.
plannedExecTime integer Yes Unix ms for a scheduled run, or 0 to run immediately.

To deploy to several devices, add one subtask per device and increment num.

Digital Twin task types

GET {{LEM_URL}}/api/v1/async-task/task-types returns every task type valid on your instance. DIGITAL_TWINS_MODEL_DEPLOY and DIGITAL_TWINS_INSTANCES_UPGRADE are present on all supported LEM versions; newer builds add DIGITAL_TWINS_INSTANCE_CREATE and DIGITAL_TWINS_INSTANCE_CREATE_WITH_PARAMETERS. Query the endpoint rather than hardcoding the list.

Response

200 OK -- application/json

Field Type Description
taskId string UUID of the created task. Pass to Verify DigitalTwin Deploy Task.

A 200 means the task was accepted, not that anything deployed. Per-device outcomes only appear on the subtasks.

Errors

HTTP status When it happens
401 Missing or invalid API token.
409 Malformed body, or an unrecognised type. The error message enumerates every valid task type.

Passing a UUID where deviceId expects a 25-character LEM ID returns a 409 carrying a raw SQL error rather than a validation message. If you see Data too long for column 'deviceId', you used the wrong ID format.

TLS note: LEM installations commonly use a self-signed certificate. Either install the CA in your client trust store or disable certificate verification when calling these endpoints directly.

Request Body

{
    "companyName": "{{company_name}}",
    "description": "",
    "name": "Deploy DT models (1 edge device)",
    "params": {},
    "projectId": "{{project_id}}",
    "subtasks": [
        {
            "deviceId": "{{edge_device_id}}",
            "num": 0,
            "params": {
                "modelIds": [
                    "{{LEM_DT_Model_ID}}"
                ]
            },
            "plannedExecTime": 0,
            "type": "DIGITAL_TWINS_MODEL_DEPLOY"
        }
    ],
    "type": "DIGITAL_TWINS_MODEL_DEPLOY",
    "waitForOnline": false
}

Response

Status: 200 OK

{
    "taskId": "f67436eb-1a20-45cb-ab23-3ef8831074bd"
}

Verify DigitalTwin Deploy Task

GET {{LEM_URL}}/api/v1/async-task/{{task_id}}/subtasks

Verify DigitalTwin Deploy Task

Returns the per-device subtasks of a deployment task created by Bulk Deploy DigitalTwin Models to Edge Devices. Poll this until every subtask reports done: true.

Endpoint

GET {{LEM_URL}}/api/v1/async-task/{taskId}/subtasks

Path parameters

Parameter Type Required Description
taskId string Yes UUID returned by the bulk deploy call.

For a task-level rollup instead of per-device detail, use GET {{LEM_URL}}/api/v1/async-task/task/{taskId}, which returns the same status, progress, and done fields plus subtasksNum.

Response

200 OK -- application/json. An array with one object per target device.

Field Type Description
id string Subtask UUID.
taskId string Parent task UUID.
num integer Subtask index within the task.
deviceId string Target edge device.
devicePrettyName string Device display name. null if the device was never resolved.
type enum DIGITAL_TWINS_MODEL_DEPLOY.
params object The parameters submitted for this device, echoed back.
progress number 0.0 to 1.0.
status enum NEW, WAITING, RUNNING, CANCELING, SUCCESS, ERROR, CANCEL.
msg string Failure detail when status is ERROR. null otherwise.
startTime integer Unix ms, 0 if not started.
stopTime integer Unix ms, 0 if not finished.
createdBy string Principal that created the task. API-token callers appear as token=<token-name>.
done boolean Terminal state reached. Poll until true.

A successful deployment ends at status: "SUCCESS" with progress: 1.0. Note that done: true only means the subtask stopped; done: true with status: "ERROR" is a completed failure. Check status, not just done.

TLS note: LEM installations commonly use a self-signed certificate. Either install the CA in your client trust store or disable certificate verification when calling these endpoints directly.

Response

Status: 200 OK

[
    {
        "id": "30da9432-9d9b-48ac-b91b-9062633f59d1",
        "taskId": "f67436eb-1a20-45cb-ab23-3ef8831074bd",
        "num": 0,
        "deviceId": "73rw480yh5ca3p8z3pfmt3g8y",
        "devicePrettyName": "VM",
        "type": "DIGITAL_TWINS_MODEL_DEPLOY",
        "params": {
            "modelIds": [
                "87647a08-d8ea-46f7-a8d6-0984936f0a16"
            ]
        },
        "plannedExecTime": 0,
        "progress": 1.0,
        "status": "SUCCESS",
        "msg": null,
        "startTime": 1787942679000,
        "stopTime": 1787942680000,
        "context": null,
        "createdOn": 1787942676000,
        "updatedOn": 1787942680000,
        "createdBy": "token=api-tests",
        "updatedBy": "token=api-tests",
        "companyName": "companyautotest-preset",
        "projectId": "eknmwmp700amjhime0fudn60w",
        "done": true
    }
]

Get Deployed DigitalTwin Models

GET {{LEM_URL}}/api/v1/dt2/deployed-models?companyName={{company_name}}

Get Deployed DigitalTwin Models

Returns the Digital Twin models currently deployed to edge devices. Use this to confirm a deployment landed, or to audit which models are live on which devices.

Endpoint

GET {{LEM_URL}}/api/v1/dt2/deployed-models?companyName={{company_name}}

Query parameters

All are optional and combine as filters. With none supplied, the response covers everything the token can see.

Parameter Type Description
companyName string Restrict to one company.
deviceId string Restrict to one edge device.
modelId string Restrict to one Digital Twin model UUID.
isOnline boolean Filter by whether the hosting device is currently online.
isModifiable boolean Filter by whether the deployed copy can be edited on the edge.

Response

200 OK -- application/json. An array of deployed-model records.

Field Type Description
id string Model UUID. Matches the ID from Get DigitalTwin Models.
name string Model name.
companyName string Owning company.
deviceId string Edge device hosting the model.
devicePrettyName string Device display name.
version integer Model version deployed.
origin string Where the deployed copy came from, e.g. external for a model pushed from LEM.
modifiable boolean Whether the copy can be edited on the edge.
projectId string Project that owns the device.
projectName string Project display name.
online boolean Whether the hosting device is currently online.
createdOn integer Unix ms of first deployment.
updatedOn integer Unix ms of last update. null if never updated since deployment.

An empty array means nothing is deployed for the given filters.

TLS note: LEM installations commonly use a self-signed certificate. Either install the CA in your client trust store or disable certificate verification when calling these endpoints directly.

Response

Status: 200 OK

[
    {
        "id": "87647a08-d8ea-46f7-a8d6-0984936f0a16",
        "name": "apidocs-dt-deploy",
        "companyName": "companyautotest-preset",
        "deviceId": "73rw480yh5ca3p8z3pfmt3g8y",
        "version": 0,
        "origin": "external",
        "modifiable": true,
        "createdOn": 1787942680000,
        "updatedOn": null,
        "projectId": "eknmwmp700amjhime0fudn60w",
        "projectName": "AutoTestProject",
        "devicePrettyName": "VM",
        "online": true
    }
]

Get DigitalTwin Models

GET {{LEM_URL}}/api/v1/dt2/models/{{company_name}}

Get DigitalTwin Models

Lists every digital twin model defined for one company.

Endpoint

GET {{LEM_URL}}/api/v1/dt2/models/{{company_name}}

Authentication

X-AuthToken header set to your LEM admin API token (X-AuthToken: {{LEM_AdminApiToken}}). Tokens are generated in the LEM Admin Console under Settings > Tokens.

Path parameters

Location Name Required Description
Path {{company_name}} Yes Company slug.

Response

200 OK -- application/json. Array of model objects.

Field Type Description
ID string Model UUID. Use as {{LEM_DT_Model_ID}} in subsequent calls.
Name string Display name.
CompanyName string Owning company (echo of path parameter).
Description string Free-form description.
Assets string Asset category (free-form grouping; default ASSET).
hasImage boolean Whether an image is attached.
ImagePreviewUrl string URL to a thumbnail of the model's image, or null.
ImageUrl string URL to the full-size image, or null.
RootNodeID string UUID of the model's root hierarchy node.
Version integer Schema version (increments on save).
[
  {
    "hasImage": false,
    "ID": "6e2976a8-1bd8-44c7-959d-27f18c006881",
    "Name": "api-test",
    "CompanyName": "solutions",
    "Description": "Test DT model",
    "Assets": "ASSET",
    "ImagePreviewUrl": null,
    "ImageUrl": null,
    "RootNodeID": "5c48fd61-2237-42bc-b262-daf8cf79bfe0",
    "Version": 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

[
    {
        "hasImage": false,
        "ID": "6e2976a8-1bd8-44c7-959d-27f18c006881",
        "Name": "api-test",
        "CompanyName": "solutions",
        "Description": "Test DT model",
        "Assets": "ASSET",
        "ImagePreviewUrl": null,
        "ImageUrl": null,
        "RootNodeID": "5c48fd61-2237-42bc-b262-daf8cf79bfe0",
        "Version": 0
    }
]

Create DigitalTwin Model

POST {{LEM_URL}}/api/v1/dt2/model/{{company_name}}

Create DigitalTwin Model

Creates a new digital twin model inside one company. The new model starts empty -- populate attributes and hierarchy via Digital Twin Model Details > Save Changes to DigitalTwin Model.

Endpoint

POST {{LEM_URL}}/api/v1/dt2/model/{{company_name}}
Content-Type: application/json

Authentication

X-AuthToken header set to your LEM admin API token (X-AuthToken: {{LEM_AdminApiToken}}). Tokens are generated in the LEM Admin Console under Settings > Tokens.

Path parameters

Location Name Required Description
Path {{company_name}} Yes Owning company slug.

Request body

{
  "ID": null,
  "Name": "api-test",
  "Description": "Test DT model",
  "Assets": "ASSET"
}
Field Type Required Description
ID string? No Pass null to let the server generate a UUID. Provide a UUID to use a specific one.
Name string Yes Display name. Must be unique within the company.
Description string No Free-form description.
Assets string No Asset category (default ASSET).

Response

200 OK -- application/json. Returns the newly created model with its server-assigned ID and RootNodeID.

{
  "hasImage": false,
  "ID": "6e2976a8-1bd8-44c7-959d-27f18c006881",
  "Name": "api-test",
  "CompanyName": "solutions",
  "Description": "Test DT model",
  "Assets": "ASSET",
  "ImagePreviewUrl": null,
  "ImageUrl": null,
  "RootNodeID": "5c48fd61-2237-42bc-b262-daf8cf79bfe0",
  "Version": 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.

Request Body

{
    "Assets": "ASSET",
    "Description": "Test DT model",
    "ID": null,
    "Name": "api-test"
}

Response

Status: 200 OK

{
    "hasImage": false,
    "ID": "6e2976a8-1bd8-44c7-959d-27f18c006881",
    "Name": "api-test",
    "CompanyName": "solutions",
    "Description": "Test DT model",
    "Assets": "ASSET",
    "ImagePreviewUrl": null,
    "ImageUrl": null,
    "RootNodeID": "5c48fd61-2237-42bc-b262-daf8cf79bfe0",
    "Version": 0
}

View this page as Markdown