MiravoMiravo

Admin API

Route groups, the authentication boundary, request behavior, and runtime semantics of Miravo's admin HTTP API.

Open Api Document

GET
/api/openapi.json

Generated OpenAPI document for the Miravo admin API.

Response Body

Generated OpenAPI document for the Miravo admin API.

application/json
  1. response
[key: string]?unknown
curl -X GET 'https://example.com/api/openapi.json'
{  "property1": null,  "property2": null}

Health

GET
/api/healthz

Liveness probe for the Miravo admin server.

Response Body

Liveness probe for the Miravo admin server.

application/json
  1. response
status*string
Value in"ok""fail"
factoryState*string
Value in"idle""running""paused""stopped"
tickCount*integer
Range0 <= value
mqttEnabled*boolean
mqttConnected*boolean|null
opcuaEnabled*boolean
opcuaConnected*boolean|null
modbusEnabled*boolean
modbusConnected*boolean|null
stalled*boolean
reason?string
factoryName?string
Length1 <= length
processId?string
Length1 <= length
curl -X GET 'https://example.com/api/healthz'
{  "status": "ok",  "factoryState": "idle",  "tickCount": 0,  "mqttEnabled": true,  "mqttConnected": true,  "opcuaEnabled": true,  "opcuaConnected": true,  "modbusEnabled": true,  "modbusConnected": true,  "stalled": true,  "reason": "string",  "factoryName": "string",  "processId": "string"}

Readiness

GET
/api/readyz

Readiness probe for the Miravo admin server.

Response Body

Readiness probe for the Miravo admin server.

application/json
  1. response
status*string
Value in"ok""fail"
factoryState*string
Value in"idle""running""paused""stopped"
tickCount*integer
Range0 <= value
mqttEnabled*boolean
mqttConnected*boolean|null
opcuaEnabled*boolean
opcuaConnected*boolean|null
modbusEnabled*boolean
modbusConnected*boolean|null
stalled*boolean
reason?string
factoryName?string
Length1 <= length
processId?string
Length1 <= length
curl -X GET 'https://example.com/api/readyz'
{  "status": "ok",  "factoryState": "idle",  "tickCount": 0,  "mqttEnabled": true,  "mqttConnected": true,  "opcuaEnabled": true,  "opcuaConnected": true,  "modbusEnabled": true,  "modbusConnected": true,  "stalled": true,  "reason": "string",  "factoryName": "string",  "processId": "string"}

Metrics

GET
/api/metrics

Engine metrics snapshot.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

Engine metrics snapshot.

application/json
  1. response
factoryName?string
Length1 <= length
core*
fleet*
adapters*array<>
curl -X GET 'https://example.com/api/metrics'
{  "factoryName": "string",  "core": {    "state": "idle",    "tickCount": 0,    "simulationTimeSeconds": 0,    "pauseAtSimulationSeconds": 1,    "assetCount": 0,    "memberValueCount": 0,    "quarantinedAssetCount": 0,    "engineErrorsCount": 0,    "lastEngineError": {      "context": "string",      "message": "string"    },    "tickOverrunsCount": 0,    "circuitBreakerTripsCount": 0,    "uptimeMs": 0,    "actualTicksPerSecond": 0  },  "fleet": {    "modelBreakdown": [      {        "model": "string",        "count": 0      }    ],    "lifecycleBreakdown": {      "property1": 0,      "property2": 0    },    "activeFaultCount": 0,    "faultBreakdown": [      {        "fault": "string",        "count": 0      }    ]  },  "adapters": [    {      "name": "string",      "metrics": {        "connected": true,        "messagesPublished": 0,        "messagesAttempted": 0,        "messagesFiltered": 0,        "errorsCount": 0,        "rejectedWrites": 0,        "lastPublishMs": 0,        "health": {          "state": "healthy",          "pendingWorkCount": 0,          "completedLastTick": 0        },        "clients": {          "active": 0,          "subscriptions": 0,          "reads": 0,          "writes": 0        }      }    }  ]}

State

GET
/api/state

Engine state snapshot.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

Engine state snapshot.

application/json
  1. response
lines?array<>
factoryName?string
Length1 <= length
models*array<>
assets*array<>
config*
availableAdapters?array<>
curl -X GET 'https://example.com/api/state'
{  "lines": [    {      "line": "string",      "stations": [        {          "id": "string",          "state": "string",          "good": 0,          "scrap": 0        }      ],      "buffers": [        {          "after": "string",          "level": 0,          "capacity": 1        }      ]    }  ],  "factoryName": "string",  "models": [    {      "name": "string",      "memberCount": 0,      "faultCount": 0,      "faultNames": [        "string"      ],      "hasLifecycle": true    }  ],  "assets": [    {      "id": "string",      "model": "string",      "browsePath": [        "string"      ],      "lifecycleStage": "string",      "operatingHours": 0,      "activeFaults": [        "string"      ],      "isQuarantined": true,      "production": {        "property1": 0,        "property2": 0      }    }  ],  "config": {    "seed": 0,    "tickIntervalMs": 1,    "timeMultiplier": 1,    "adapters": [      "string"    ],    "template": {      "name": "string",      "path": "string"    }  },  "availableAdapters": [    {      "name": "string",      "enabled": true,      "pending": true,      "endpoint": "string",      "boundPort": 1,      "config": {        "property1": null,        "property2": null      }    }  ]}

Bootstrap

GET
/api/bootstrap

Console bootstrap payload.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

Console bootstrap payload.

application/json
  1. response
authenticated*false
Value infalse
curl -X GET 'https://example.com/api/bootstrap'
{  "authenticated": false}

Commands

POST
/api/commands

Execute an engine command.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
correlationId?string
type*"spawn"
Value in"spawn"
model*string
Length1 <= length
count*integer
Range0 < value <= 10000
assetName?string
Length1 <= length
assetPrefix?string
Length1 <= length
protocolScope?array<>
Items1 <= items
dryRun?boolean

Response Body

Execute an engine command.

application/json
  1. response
success*boolean
command*string
correlationId?string
message*string
data?unknown
error?string
curl -X POST 'https://example.com/api/commands' \  -H 'Content-Type: application/json' \  -d '{  "type": "spawn",  "model": "string",  "count": 1}'
{  "success": true,  "command": "string",  "correlationId": "string",  "message": "string",  "data": null,  "error": "string"}

Shutdown

POST
/api/shutdown

Request graceful shutdown.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
reason?string
Length1 <= length

Response Body

Request graceful shutdown.

application/json
  1. response
status*"shutting_down"
Value in"shutting_down"
curl -X POST 'https://example.com/api/shutdown' \  -H 'Content-Type: application/json' \  -d '{}'
{  "status": "shutting_down"}

Asset Detail

GET
/api/assets/{id}

Inspect a running asset.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

id*string
Length1 <= length

Response Body

Inspect a running asset.

application/json
  1. response
id*string
Length1 <= length
assetType*string
Length1 <= length
browsePath*array<>
lifecycleStage*string
Length1 <= length
operatingHours*number
Range0 <= value
activeFaults*array<>
isQuarantined*boolean
parameters*
inputs*
members*
methods*
curl -X GET 'https://example.com/api/assets/string'
{  "id": "string",  "assetType": "string",  "browsePath": [    "string"  ],  "lifecycleStage": "string",  "operatingHours": 0,  "activeFaults": [    "string"  ],  "isQuarantined": true,  "parameters": {    "property1": {      "value": 0,      "type": "string",      "unit": "string"    },    "property2": {      "value": 0,      "type": "string",      "unit": "string"    }  },  "inputs": {    "property1": {      "value": 0,      "default": 0,      "unit": "string",      "binding": {        "asset": "string",        "member": "string"      }    },    "property2": {      "value": 0,      "default": 0,      "unit": "string",      "binding": {        "asset": "string",        "member": "string"      }    }  },  "members": {    "property1": {      "value": 0,      "quality": "good",      "timestamp": 0,      "meta": {        "kind": "string",        "dataType": "string",        "access": "string",        "unit": "string",        "euRange": [          0,          0        ]      }    },    "property2": {      "value": 0,      "quality": "good",      "timestamp": 0,      "meta": {        "kind": "string",        "dataType": "string",        "access": "string",        "unit": "string",        "euRange": [          0,          0        ]      }    }  },  "methods": {    "property1": {      "description": "string",      "inputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ],      "outputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ]    },    "property2": {      "description": "string",      "inputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ],      "outputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ]    }  }}

Model Detail

GET
/api/models/{name}

Inspect a registered model schema.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

name*string
Length1 <= length

Response Body

Inspect a registered model schema.

application/json
  1. response
name*string
Length1 <= length
description*string|null
parameters*
inputs?
members*
methods*
faults*array<>
lifecycle*|null
curl -X GET 'https://example.com/api/models/string'
{  "name": "string",  "description": "string",  "parameters": {    "property1": {      "type": "string",      "default": 0,      "unit": "string"    },    "property2": {      "type": "string",      "default": 0,      "unit": "string"    }  },  "inputs": {    "property1": {      "default": 0,      "unit": "string",      "description": "string"    },    "property2": {      "default": 0,      "unit": "string",      "description": "string"    }  },  "members": {    "property1": {      "kind": "string",      "dataType": "string",      "access": "string",      "unit": "string",      "euRange": [        0,        0      ],      "default": 0    },    "property2": {      "kind": "string",      "dataType": "string",      "access": "string",      "unit": "string",      "euRange": [        0,        0      ],      "default": 0    }  },  "methods": {    "property1": {      "description": "string",      "inputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ],      "outputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ]    },    "property2": {      "description": "string",      "inputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ],      "outputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ]    }  },  "faults": [    "string"  ],  "lifecycle": {    "stages": [      "string"    ],    "totalHours": 0  }}

Events

GET
/api/events

Read paginated event log entries.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Query Parameters

type?string
Value in"fault:triggered""fault:cleared""lifecycle:changed""asset:maintenance""asset:created""asset:removed""template:loaded""template:unloaded""engine:state-changed""engine:error""integration:resource""integration:operation"
assetId?string
Length1 <= length
limit?integer
Range0 < value <= 1000
cursor?|
Range0 <= value

Response Body

Read paginated event log entries.

application/json
  1. response
events*array<||||||||||>
nextCursor*|
Range0 <= value
hasMore*boolean
curl -X GET 'https://example.com/api/events'
{  "events": [    {      "id": 0,      "type": "fault:triggered",      "assetId": "string",      "fault": "string",      "effects": {        "property1": null,        "property2": null      },      "tick": 0,      "simulationTime": 0,      "timestamp": 0    }  ],  "nextCursor": 0,  "hasMore": true}

Catalog Models

GET
/api/catalog/models

List catalog models.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

List catalog models.

application/json
  1. response
[index: integer]?
curl -X GET 'https://example.com/api/catalog/models'
[  {    "name": "string",    "description": "string",    "memberCount": 0,    "methodCount": 0,    "faultCount": 0,    "hasLifecycle": true,    "lifecycleStageCount": 0,    "source": "string"  }]

Catalog Model Le Dt

GET
/api/catalog/models/{name}/le-dt.json

Download LE Digital Twin JSON for a catalog model.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

name*string
Length1 <= length

Response Body

Download LE Digital Twin JSON for a catalog model.

application/json
  1. response
[key: string]?unknown
curl -X GET 'https://example.com/api/catalog/models/string/le-dt.json'
{  "property1": null,  "property2": null}

Catalog Model Yaml

GET
/api/catalog/models/{name}/yaml

Read raw YAML for a catalog model.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

name*string
Length1 <= length

Response Body

Read raw YAML for a catalog model.

response?stringtext/yaml
curl -X GET 'https://example.com/api/catalog/models/string/yaml'
"name: value\n"

Catalog Model Detail

GET
/api/catalog/models/{name}

Read catalog model schema.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

name*string
Length1 <= length

Response Body

Read catalog model schema.

application/json
  1. response
name*string
Length1 <= length
description*string|null
parameters*
inputs?
members*
methods*
faults*array<>
lifecycle*|null
curl -X GET 'https://example.com/api/catalog/models/string'
{  "name": "string",  "description": "string",  "parameters": {    "property1": {      "type": "string",      "default": 0,      "unit": "string"    },    "property2": {      "type": "string",      "default": 0,      "unit": "string"    }  },  "inputs": {    "property1": {      "default": 0,      "unit": "string",      "description": "string"    },    "property2": {      "default": 0,      "unit": "string",      "description": "string"    }  },  "members": {    "property1": {      "kind": "string",      "dataType": "string",      "access": "string",      "unit": "string",      "euRange": [        0,        0      ],      "default": 0    },    "property2": {      "kind": "string",      "dataType": "string",      "access": "string",      "unit": "string",      "euRange": [        0,        0      ],      "default": 0    }  },  "methods": {    "property1": {      "description": "string",      "inputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ],      "outputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ]    },    "property2": {      "description": "string",      "inputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ],      "outputArguments": [        {          "name": "string",          "dataType": "string",          "description": "string"        }      ]    }  },  "faults": [    "string"  ],  "lifecycle": {    "stages": [      "string"    ],    "totalHours": 0  }}
GET
/api/catalog/templates/{id}/le-template.json

Download LE template JSON export.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

id*string
Length1 <= length

Query Parameters

host*string
Length1 <= length
protocol?string
Value in"mqtt""opcua""modbus"
modbusPort?integer
Range1 <= value <= 65535
opcuaPort?integer
Range1 <= value <= 65535
mqttPort?integer
Range1 <= value <= 65535

Response Body

Download LE template JSON export.

application/json
  1. response
[key: string]?unknown
curl -X GET 'https://example.com/api/catalog/templates/string/le-template.json?host=string'
{  "property1": null,  "property2": null}
GET
/api/catalog/templates/{id}/le-tags.csv

Download LE tags CSV export.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

id*string
Length1 <= length

Query Parameters

host*string
Length1 <= length
protocol?string
Value in"mqtt""opcua""modbus"
modbusPort?integer
Range1 <= value <= 65535
opcuaPort?integer
Range1 <= value <= 65535
mqttPort?integer
Range1 <= value <= 65535

Response Body

Download LE tags CSV export.

response?stringtext/csv
curl -X GET 'https://example.com/api/catalog/templates/string/le-tags.csv?host=string'
"name,value\nmotor.speed,42\n"

Catalog Template Yaml

GET
/api/catalog/templates/{id}/yaml

Read raw YAML for a catalog template.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

id*string
Length1 <= length

Response Body

Read raw YAML for a catalog template.

response?stringtext/yaml
curl -X GET 'https://example.com/api/catalog/templates/string/yaml'
"name: value\n"

Catalog Template Detail

GET
/api/catalog/templates/{id}

Read catalog template detail.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

id*string
Length1 <= length

Response Body

Read catalog template detail.

application/json
  1. response
id*string
Length1 <= length
name*string
Length1 <= length
description*string|null
category*string
Length1 <= length
models*array<>
assetCount*integer
Range0 <= value
memberCount*integer
Range0 <= value
source*string
Length1 <= length
topology*array<>
namespace?
settings?
curl -X GET 'https://example.com/api/catalog/templates/string'
{  "id": "string",  "name": "string",  "description": "string",  "category": "string",  "models": [    "string"  ],  "assetCount": 0,  "memberCount": 0,  "source": "string",  "topology": [    {      "name": "string",      "lines": [        {          "name": "string",          "assets": [            {              "model": "string",              "count": 0,              "variation": 0,              "parameters": {                "property1": 0,                "property2": 0              },              "protocol_scope": [                "mqtt"              ]            }          ],          "protocol_scope": [            "mqtt"          ]        }      ],      "protocol_scope": [        "mqtt"      ]    }  ],  "namespace": {    "enterprise": "string",    "site": "string",    "prefix": "string"  },  "settings": {    "tickIntervalMs": 1,    "timeMultiplier": 1,    "limits": {      "maxMembersPerModel": 1,      "maxAssetCount": 1    }  }}

Catalog Templates

GET
/api/catalog/templates

List catalog templates.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

List catalog templates.

application/json
  1. response
[index: integer]?
curl -X GET 'https://example.com/api/catalog/templates'
[  {    "id": "string",    "name": "string",    "description": "string",    "category": "string",    "models": [      "string"    ],    "assetCount": 0,    "memberCount": 0,    "source": "string"  }]

Templates

GET
/api/templates

List templates loaded into the factory.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

List templates loaded into the factory.

application/json
  1. response
[index: integer]?
curl -X GET 'https://example.com/api/templates'
[  {    "templateId": "string",    "templateName": "string",    "templatePath": "string",    "entryHash": "string",    "assetIds": [      "string"    ],    "models": [      "string"    ],    "areas": [      {        "name": "string",        "lines": [          "string"        ]      }    ]  }]

Manifest

GET
/api/manifest

Read unified protocol manifest.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

Read unified protocol manifest.

application/json
  1. response
template?string
Length1 <= length
generatedAt*string
Formatdate-time
protocols*
tags*array<>
summary*
curl -X GET 'https://example.com/api/manifest'
{  "template": "string",  "generatedAt": "2019-08-24T14:15:22Z",  "protocols": {    "property1": {      "enabled": true,      "port": 1    },    "property2": {      "enabled": true,      "port": 1    }  },  "tags": [    {      "asset": "string",      "browsePath": "string",      "member": "string",      "model": "string",      "dataType": "string",      "unit": "string",      "euRange": [        0,        0      ],      "access": "string",      "kind": "variable",      "protocols": {        "property1": {          "property1": null,          "property2": null        },        "property2": {          "property1": null,          "property2": null        }      }    }  ],  "summary": {    "totalTags": 0,    "totalAssets": 0,    "enabledProtocols": [      "string"    ]  }}

Auth Login

POST
/api/auth/login

Authenticate and create an admin session.

Request Body

application/json
  1. body
username*string
Length1 <= length
password*string
Length1 <= length

Response Body

Authenticate and create an admin session.

application/json
  1. response
ok*true
Value intrue
changePassword*boolean
curl -X POST 'https://example.com/api/auth/login' \  -H 'Content-Type: application/json' \  -d '{  "username": "string",  "password": "string"}'
{  "ok": true,  "changePassword": true}

Auth Logout

POST
/api/auth/logout

Destroy the current admin session.

Response Body

Destroy the current admin session.

application/json
  1. response
ok*true
Value intrue
curl -X POST 'https://example.com/api/auth/logout'
{  "ok": true}

Auth Password

PUT
/api/auth/password

Change the admin password.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
oldPassword*string
Length1 <= length
newPassword*string
Length6 <= length

Response Body

Change the admin password.

application/json
  1. response
ok*true
Value intrue
curl -X PUT 'https://example.com/api/auth/password' \  -H 'Content-Type: application/json' \  -d '{  "oldPassword": "string",  "newPassword": "string"}'
{  "ok": true}

Auth Status

GET
/api/auth/status

Check the current auth status.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

Check the current auth status.

application/json
  1. response
authenticated*boolean
username?string
curl -X GET 'https://example.com/api/auth/status'
{  "authenticated": true,  "username": "string"}

Runtime Web Socket

GET
/api/ws

Upgrade to the runtime WebSocket stream.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

Upgrade to the runtime WebSocket stream.

curl -X GET 'https://example.com/api/ws'
Empty

Integration Operations

GET
/api/integrations/le/operations

List persisted integration operation summaries, optionally for one template or asset.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Query Parameters

type?string
Value in"apply""cleanup"
targetId?string
Length1 <= length
templateId?string
Length1 <= length
assetId?string
Length1 <= length
limit?integer
Range0 < value <= 500
offset?|
Range0 <= value

Response Body

List persisted integration operation summaries, optionally for one template or asset.

application/json
  1. response
operations*array<>
total*integer
Range0 <= value
hasMore*boolean
curl -X GET 'https://example.com/api/integrations/le/operations'
{  "operations": [    {      "schemaVersion": 1,      "operationId": "string",      "operationType": "apply",      "status": "success",      "factoryName": "string",      "templateId": "string",      "assetId": "string",      "targetId": "string",      "targetLabel": "string",      "hostname": "string",      "scope": [        "string"      ],      "successCount": 0,      "failedCount": 0,      "blockedCount": 0,      "startedAt": 0,      "completedAt": 0,      "durationMs": 0,      "resourceCounts": {        "device": {          "create": 0,          "update": 0,          "replace": 0,          "delete": 0,          "noop": 0,          "failed": 0,          "total": 0        },        "model": {          "create": 0,          "update": 0,          "replace": 0,          "delete": 0,          "noop": 0,          "failed": 0,          "total": 0        },        "asset": {          "create": 0,          "update": 0,          "replace": 0,          "delete": 0,          "noop": 0,          "failed": 0,          "total": 0        },        "param-sync": {          "create": 0,          "update": 0,          "replace": 0,          "delete": 0,          "noop": 0,          "failed": 0,          "total": 0        }      },      "error": "string"    }  ],  "total": 0,  "hasMore": true}

Integration Targets

GET
/api/integrations/le/targets

List saved LE targets.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Response Body

List saved LE targets.

application/json
  1. response
targets*array<>
curl -X GET 'https://example.com/api/integrations/le/targets'
{  "targets": [    {      "id": "string",      "integrationId": "string",      "label": "string",      "hostname": "string",      "apiTokenSet": true,      "sourceHostname": "string",      "exposedPorts": {        "mqtt": 1,        "opcua": 1,        "modbus": 1      },      "lastUsedAt": 0    }  ]}
POST
/api/integrations/le/targets

Create an LE target.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
integrationId?string
Length1 <= length
Default"litmus-edge"
label*string
Length1 <= length
hostname*string
Length1 <= length
apiToken*string
Length1 <= length
sourceHostname*string
Length1 <= length

Response Body

Create an LE target.

application/json
  1. response
id*string
Length1 <= length
integrationId*string
Length1 <= length
label*string
Length1 <= length
hostname*string
Length1 <= length
apiTokenSet*boolean
sourceHostname*string
Length1 <= length
exposedPorts?
lastUsedAt?integer
Range0 <= value
curl -X POST 'https://example.com/api/integrations/le/targets' \  -H 'Content-Type: application/json' \  -d '{  "label": "string",  "hostname": "string",  "apiToken": "string",  "sourceHostname": "string"}'
{  "id": "string",  "integrationId": "string",  "label": "string",  "hostname": "string",  "apiTokenSet": true,  "sourceHostname": "string",  "exposedPorts": {    "mqtt": 1,    "opcua": 1,    "modbus": 1  },  "lastUsedAt": 0}
POST
/api/integrations/le/targets/test

Test LE target connectivity.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
targetId?string
Length1 <= length
hostname*string
Length1 <= length
apiToken?string
Length1 <= length
sourceHostname*string
Length1 <= length

Response Body

Test LE target connectivity.

application/json
  1. response
connected*true
Value intrue
hostname*string
Length1 <= length
sourceHostname*string
Length1 <= length
litmusEdgeVersion?string
Length1 <= length
warning?string
Length1 <= length
curl -X POST 'https://example.com/api/integrations/le/targets/test' \  -H 'Content-Type: application/json' \  -d '{  "hostname": "string",  "sourceHostname": "string"}'
{  "connected": true,  "hostname": "string",  "sourceHostname": "string",  "litmusEdgeVersion": "string",  "warning": "string"}
GET
/api/integrations/le/targets/{id}

Read one LE target.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

id*string
Length1 <= length

Response Body

Read one LE target.

application/json
  1. response
id*string
Length1 <= length
integrationId*string
Length1 <= length
label*string
Length1 <= length
hostname*string
Length1 <= length
apiTokenSet*boolean
sourceHostname*string
Length1 <= length
exposedPorts?
lastUsedAt?integer
Range0 <= value
curl -X GET 'https://example.com/api/integrations/le/targets/string'
{  "id": "string",  "integrationId": "string",  "label": "string",  "hostname": "string",  "apiTokenSet": true,  "sourceHostname": "string",  "exposedPorts": {    "mqtt": 1,    "opcua": 1,    "modbus": 1  },  "lastUsedAt": 0}

Integration Target By Id

PUT
/api/integrations/le/targets/{id}

Update one LE target.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

id*string
Length1 <= length

Request Body

application/json
  1. body
integrationId?string
Length1 <= length
label?string
Length1 <= length
hostname?string
Length1 <= length
apiToken?string
Length1 <= length
sourceHostname?string
Length1 <= length

Response Body

Update one LE target.

application/json
  1. response
id*string
Length1 <= length
integrationId*string
Length1 <= length
label*string
Length1 <= length
hostname*string
Length1 <= length
apiTokenSet*boolean
sourceHostname*string
Length1 <= length
exposedPorts?
lastUsedAt?integer
Range0 <= value
curl -X PUT 'https://example.com/api/integrations/le/targets/string' \  -H 'Content-Type: application/json' \  -d '{}'
{  "id": "string",  "integrationId": "string",  "label": "string",  "hostname": "string",  "apiTokenSet": true,  "sourceHostname": "string",  "exposedPorts": {    "mqtt": 1,    "opcua": 1,    "modbus": 1  },  "lastUsedAt": 0}
DELETE
/api/integrations/le/targets/{id}

Delete one LE target.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

id*string
Length1 <= length

Response Body

Delete one LE target.

application/json
  1. response
message*string
Length1 <= length
curl -X DELETE 'https://example.com/api/integrations/le/targets/string'
{  "message": "string"}

Integration Plan

POST
/api/integrations/le/plan

Preview applying a running template or standalone asset to an LE target.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
targetId*string
Length1 <= length
protocol?string
Value in"mqtt""opcua""modbus"
scope?array<>
ifUnmanaged?string
Value in"fail""skip"
exposedPorts?
templateId*string
Length1 <= length

Response Body

Preview applying a running template or standalone asset to an LE target.

application/json
  1. response
plan*
curl -X POST 'https://example.com/api/integrations/le/plan' \  -H 'Content-Type: application/json' \  -d '{  "targetId": "string",  "templateId": "string"}'
{  "plan": {    "sourceMode": "static",    "targetHost": "string",    "sourceHostname": "string",    "scope": [      "devices"    ],    "filters": {      "area": "string",      "line": "string",      "asset": "string"    },    "entries": [      {        "action": "create",        "resourceType": "device",        "name": "string",        "resourceId": "string",        "protocol": "mqtt",        "endpoint": "string",        "detail": "string",        "blockReason": "string"      }    ]  }}

Integration Apply

POST
/api/integrations/le/apply

Apply a running template or standalone asset to an LE target.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
targetId*string
Length1 <= length
protocol?string
Value in"mqtt""opcua""modbus"
scope?array<>
ifUnmanaged?string
Value in"fail""skip"
exposedPorts?
templateId*string
Length1 <= length

Response Body

Apply a running template or standalone asset to an LE target.

application/json
  1. response
plan*
applied*integer
Range0 <= value
failed*integer
Range0 <= value
error?string
Length1 <= length
curl -X POST 'https://example.com/api/integrations/le/apply' \  -H 'Content-Type: application/json' \  -d '{  "targetId": "string",  "templateId": "string"}'
{  "plan": {    "sourceMode": "static",    "targetHost": "string",    "sourceHostname": "string",    "scope": [      "devices"    ],    "filters": {      "area": "string",      "line": "string",      "asset": "string"    },    "entries": [      {        "action": "create",        "resourceType": "device",        "name": "string",        "resourceId": "string",        "protocol": "mqtt",        "endpoint": "string",        "detail": "string",        "blockReason": "string"      }    ]  },  "applied": 0,  "failed": 0,  "error": "string"}

Integration Cleanup Plan

POST
/api/integrations/le/cleanup/plan

Preview removing what a template or standalone asset of this factory applied to an LE target.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
targetId*string
Length1 <= length
scope?array<>
templateId*string
Length1 <= length

Response Body

Preview removing what a template or standalone asset of this factory applied to an LE target.

application/json
  1. response
plan*
curl -X POST 'https://example.com/api/integrations/le/cleanup/plan' \  -H 'Content-Type: application/json' \  -d '{  "targetId": "string",  "templateId": "string"}'
{  "plan": {    "sourceMode": "static",    "targetHost": "string",    "sourceHostname": "string",    "scope": [      "devices"    ],    "filters": {      "area": "string",      "line": "string",      "asset": "string"    },    "entries": [      {        "action": "create",        "resourceType": "device",        "name": "string",        "resourceId": "string",        "protocol": "mqtt",        "endpoint": "string",        "detail": "string",        "blockReason": "string"      }    ]  }}

Integration Cleanup

POST
/api/integrations/le/cleanup

Remove what a template or standalone asset of this factory applied to an LE target.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
targetId*string
Length1 <= length
scope?array<>
templateId*string
Length1 <= length

Response Body

Remove what a template or standalone asset of this factory applied to an LE target.

application/json
  1. response
plan*
deleted*integer
Range0 <= value
failed*integer
Range0 <= value
error?string
Length1 <= length
curl -X POST 'https://example.com/api/integrations/le/cleanup' \  -H 'Content-Type: application/json' \  -d '{  "targetId": "string",  "templateId": "string"}'
{  "plan": {    "sourceMode": "static",    "targetHost": "string",    "sourceHostname": "string",    "scope": [      "devices"    ],    "filters": {      "area": "string",      "line": "string",      "asset": "string"    },    "entries": [      {        "action": "create",        "resourceType": "device",        "name": "string",        "resourceId": "string",        "protocol": "mqtt",        "endpoint": "string",        "detail": "string",        "blockReason": "string"      }    ]  },  "deleted": 0,  "failed": 0,  "error": "string"}
POST
/api/integrations/le/operations/{operationId}/cancel

Cancel an in-flight streaming LE operation.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Path Parameters

operationId*string
Length1 <= length

Response Body

Cancel an in-flight streaming LE operation.

application/json
  1. response
cancelled*true
Value intrue
curl -X POST 'https://example.com/api/integrations/le/operations/string/cancel'
{  "cancelled": true}

Integration Apply Stream

POST
/api/integrations/le/apply/stream

Stream LE apply progress over SSE.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
targetId*string
Length1 <= length
protocol?string
Value in"mqtt""opcua""modbus"
scope?array<>
ifUnmanaged?string
Value in"fail""skip"
exposedPorts?
templateId*string
Length1 <= length

Response Body

Stream LE apply progress over SSE.

response?stringtext/event-stream
curl -X POST 'https://example.com/api/integrations/le/apply/stream' \  -H 'Content-Type: application/json' \  -d '{  "targetId": "string",  "templateId": "string"}'
"event: started\\ndata: {...}\\n\\n"
POST
/api/integrations/le/cleanup/stream

Stream LE cleanup progress over SSE.

Authorization

cookiemiravo_session<token>

Session cookie returned by POST /api/auth/login.

Request Body

application/json
  1. body
targetId*string
Length1 <= length
scope?array<>
templateId*string
Length1 <= length

Response Body

Stream LE cleanup progress over SSE.

response?stringtext/event-stream
curl -X POST 'https://example.com/api/integrations/le/cleanup/stream' \  -H 'Content-Type: application/json' \  -d '{  "targetId": "string",  "templateId": "string"}'
"event: started\\ndata: {...}\\n\\n"