LitmusEdgeManager 2.31.x API Documentation/Admin Console APIs/Integration - LE, LEM, LUNS API Docs
Kafka Access Control Lists (ACLs)
GET {{LEM_adminURL}}/admin/v1/kafka-auth/acl
Kafka Access Control Lists (ACLs)
Returns the Kafka ACLs configured on LEM's bundled Kafka instance. Each row: (username, topic, operation).
Endpoint
GET {{LEM_adminURL}}/admin/v1/kafka-auth/acl
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
[
{
"username": "admin",
"topic": "lem.mqtt.ea13siviozaattgjd5unuoya7",
"operation": "READ"
},
{
"username": "admin",
"topic": "lem.mqtt.emdlptxsqpdravb1cyzya6ws2",
"operation": "WRITE"
},
{
"username": "admin",
"topic": "lem.mqtt.emdlptxsqpdravb1cyzya6ws2",
"operation": "READ"
},
{
"username": "admin",
"topic": "lem.mqtt.emdlptxsqpdravb1cyzya6ws2",
"operation": "DELETE"
}
]
Kafka Topics
GET {{LEM_adminURL}}/admin/v1/kafka-auth/topic
Kafka Topics
Returns every topic in LEM's bundled Kafka. Topic names follow LEM conventions like lem.mqtt.<projectId>, lem.events.<projectId>.
Endpoint
GET {{LEM_adminURL}}/admin/v1/kafka-auth/topic
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
[
{
"name": "lem.mqtt.cse9ecyxjifs7yhizoqiydyu3"
},
{
"name": "lem.events.llg72k2ip2nnu2yt5lk58l6j"
},
{
"name": "action-log"
},
{
"name": "lem.events.8h0lim73udgl5r8ex4v0d1vr7"
},
{
"name": "lem.events.ea13siviozaattgjd5unuoya7"
},
{
"name": "lem.mqtt.2prp72ljt3e2149umck473xrl"
},
{
"name": "lem.mqtt.462j1mq70mph31wa100t1yuxa"
},
{
"name": "lem.events.6d02e1nglkzlc1tv650o4yy0u"
},
{
"name": "lem.events.cse9ecyxjifs7yhizoqiydyu3"
},
{
"name": "lem.events.detk20ap42y5rcvfsdfe9790"
},
{
"name": "lem.mqtt.detk20ap42y5rcvfsdfe9790"
},
{
"name": "lem.mqtt.6d02e1nglkzlc1tv650o4yy0u"
},
{
"name": "lem.mqtt.8h0lim73udgl5r8ex4v0d1vr7"
},
{
"name": "lem.events.ejthz6njrlve8g9n9k51m3wa2"
},
{
"name": "data.compacted"
},
{
"name": "lem.events.462j1mq70mph31wa100t1yuxa"
},
{
"name": "lem.mqtt.emdlptxsqpdravb1cyzya6ws2"
},
{
"name": "lem.events.2prp72ljt3e2149umck473xrl"
},
{
"name": "lem.mqtt.ejthz6njrlve8g9n9k51m3wa2"
},
{
"name": "lem.mqtt.llg72k2ip2nnu2yt5lk58l6j"
},
{
"name": "lem.events.emdlptxsqpdravb1cyzya6ws2"
},
{
"name": "lem.mqtt.ea13siviozaattgjd5unuoya7"
}
]
Kafka User List
GET {{LEM_adminURL}}/admin/v1/kafka-auth/user
Kafka User List
Returns the Kafka SASL users provisioned on LEM. Use for diagnostics; user creation goes through Kafka's tooling rather than this read endpoint.
Endpoint
GET {{LEM_adminURL}}/admin/v1/kafka-auth/user
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
[
{
"username": "admin"
},
{
"username": "test1"
}
]
Clickhouse Ports
GET {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/interface
Clickhouse Ports
Returns LEM's Clickhouse listener configuration: HTTP, HTTPS, native, MySQL ports with connection strings, current state, and any per-network bindings.
Endpoint
GET {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/interface
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
[
{
"type": "HTTP",
"connectionString": "http://10.17.3.103:8123/clickhouse",
"port": 8123,
"state": false,
"networks": []
},
{
"type": "HTTPS",
"connectionString": "https://10.17.3.103:8543/clickhouse",
"port": 8543,
"state": true,
"networks": []
},
{
"type": "NATIVE",
"connectionString": "jdbc:clickhouse://10.17.3.103:9000",
"port": 9000,
"state": false,
"networks": []
},
{
"type": "MYSQL",
"connectionString": "jdbc:mysql://10.17.3.103:9004",
"port": 9004,
"state": false,
"networks": []
}
]
Enable/Disable Clickhouse Port
POST {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/interface
Enable / Disable Clickhouse Port
Toggles one Clickhouse port's state. state: true enables, false disables. type selects the listener (NATIVE, HTTP, HTTPS, MYSQL).
Endpoint
POST {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/interface
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{
"type": "NATIVE",
"state": false,
"port": 9000,
"networks": []
}
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
{
"type": "NATIVE",
"state": false,
"port": 9000,
"networks": []
}
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}
Clickhouse User List
GET {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/user
Clickhouse User List
Returns the Clickhouse users provisioned on LEM.
Endpoint
GET {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/user
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
[
{
"username": "admin"
}
]
Create Clickhouse User
POST {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/user
Create Clickhouse User
Creates a new Clickhouse user.
Endpoint
POST {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/user
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{
"username": "apiusername",
"password": "<strong-password>",
"isNewUser": null
}
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
{
"username": "apiusername",
"password": "123134rsdf4q221@1W",
"isNewUser": null
}
Response
Status: 201 Created
{
"code": "S",
"message": null,
"messageDetails": null
}
Delete Clickhouse User
DELETE {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/user/apiusername
Delete Clickhouse User
Removes a Clickhouse user. The username goes in the path.
Endpoint
DELETE {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/user/apiusername
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 204 No Content
Clickhouse Access Control Lists (ACLs)
GET {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/acl
Clickhouse Access Control Lists (ACLs)
Returns per-(user, company, project) Clickhouse access grants.
Endpoint
GET {{LEM_adminURL}}/admin/v1/clickhouse-mgmt/acl
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
[
{
"username": "admin",
"projectId": "emdlptxsqpdravb1cyzya6ws2",
"projectName": "kafka",
"companyName": "production"
}
]
Prometheus URL
GET {{LEM_adminURL}}/admin/v1/prometheus
Prometheus URL
Returns LEM's Prometheus server URL, enabled state, and the configured Alert Manager URL.
Endpoint
GET {{LEM_adminURL}}/admin/v1/prometheus
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
{
"serverUrl": "http://10.17.3.103:9090",
"enabled": true,
"alertManagerUrl": null
}
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
{
"serverUrl": "http://10.17.3.103:9090",
"enabled": true,
"alertManagerUrl": null
}
Enable/Disable Prometheus URL
PUT {{LEM_adminURL}}/admin/v1/prometheus/enable?isEnabled=true
Enable / Disable Prometheus URL
Toggles whether Prometheus is exposed on the LEM admin surface. isEnabled=true enables; false disables.
Endpoint
PUT {{LEM_adminURL}}/admin/v1/prometheus/enable?isEnabled=true
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}
Test Alert Manager
POST {{LEM_adminURL}}/admin/v1/prometheus/alert-manager/external-url-validate
Test Alert Manager
Validates that an Alert Manager URL is reachable, without persisting it.
Endpoint
POST {{LEM_adminURL}}/admin/v1/prometheus/alert-manager/external-url-validate
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "alertManagerUrl": "10.0.0.0:1000" }
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
{
"alertManagerUrl": "10.0.0.0:1000"
}
Set Alert Manager URL
POST {{LEM_adminURL}}/admin/v1/prometheus/alert-manager/external-url
Set Alert Manager URL
Configures the external Alert Manager URL. Pair with Test Alert Manager first to validate.
Endpoint
POST {{LEM_adminURL}}/admin/v1/prometheus/alert-manager/external-url
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "alertManagerUrl": "10.10.0.1:1000" }
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
{
"alertManagerUrl": "10.10.0.1:1000"
}
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}
Syslog Settings
GET {{LEM_adminURL}}/admin/v1/config/syslog/settings
Syslog Settings
Returns the configured syslog forwarding target.
Endpoint
GET {{LEM_adminURL}}/admin/v1/config/syslog/settings
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
{ "enabled": false, "host": "10.17.3.103", "port": 514 }
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
{
"enabled": false,
"host": "10.17.3.103",
"port": 514
}
Enable/Disable Logs Forwarding
POST {{LEM_adminURL}}/admin/v1/config/syslog/settings
Enable / Disable Logs Forwarding
Configures syslog forwarding -- the same endpoint both saves the target and toggles enabled flag.
Endpoint
POST {{LEM_adminURL}}/admin/v1/config/syslog/settings
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "enabled": true, "host": "10.17.3.103", "port": 514 }
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
{
"enabled": true,
"host": "10.17.3.103",
"port": 514
}
Response
Status: 201 Created
Syslog Test Message
POST {{LEM_adminURL}}/admin/v1/config/syslog/test
Syslog Test Message
Sends a test message to the configured syslog target.
Endpoint
POST {{LEM_adminURL}}/admin/v1/config/syslog/test
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "message": "Test message" }
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
{
"message": "Test message"
}
Response
Status: 200 OK
Get DigiCert Settings
GET {{LEM_adminURL}}/admin/v1/domain/ssl/digicert/settings
Get DigiCert Settings
Returns the DigiCert IoT API integration settings used by LEM when issuing certificates to managed devices.
Endpoint
GET {{LEM_adminURL}}/admin/v1/domain/ssl/digicert/settings
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
{
"url": "https://one.digicert.com/iot/api/v1",
"profileId": "",
"passcode": null,
"duration": 365
}
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
{
"url": "https://one.digicert.com/iot/api/v1",
"profileId": "",
"passcode": null,
"duration": 365
}
Get Git Schedule Settings
GET {{LEM_adminURL}}/admin/v1/git/schedule
Get Git Schedule Settings
Returns the configured automatic git-sync schedule.
Endpoint
GET {{LEM_adminURL}}/admin/v1/git/schedule
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
{ "enable": true, "periodFrequency": "HOURLY" }
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
{
"enable": true,
"periodFrequency": "HOURLY"
}
Set Git Schedule Settings
POST {{LEM_adminURL}}/admin/v1/git/schedule
Set Git Schedule Settings
Configures the automatic git-sync schedule. periodFrequency is HOURLY, DAILY, ...
Endpoint
POST {{LEM_adminURL}}/admin/v1/git/schedule
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "enable": true, "periodFrequency": "HOURLY" }
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
{
"enable": true,
"periodFrequency": "HOURLY"
}
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}
Delete Git Schedule Settings
DELETE {{LEM_adminURL}}/admin/v1/git/schedule
Delete Git Schedule Settings
Removes the git-sync schedule entirely. Manual syncs still work via Sync Git Template.
Endpoint
DELETE {{LEM_adminURL}}/admin/v1/git/schedule
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}
Get Git Provider Config
GET {{LEM_adminURL}}/admin/v1/git/provider
Get Git Provider Config
Returns the configured git provider type and SSH URL.
Endpoint
GET {{LEM_adminURL}}/admin/v1/git/provider
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
{
"type": "GITHUB",
"sshUrl": "git@github.com:username/repo.git"
}
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
{
"type": "GITHUB",
"sshUrl": "git@github.com:username/repo.git"
}
Create/Update Git Provider Config
POST {{LEM_adminURL}}/admin/v1/git/provider
Create / Update Git Provider Config
Creates or replaces the git provider config. Only one provider is supported at a time -- this overrides any existing.
Endpoint
POST {{LEM_adminURL}}/admin/v1/git/provider
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "type": "GITHUB", "sshUrl": "git@github.com/..." }
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
{
"type": "GITHUB",
"sshUrl": "git@github.com/..."
}
Response
Status: 201 Created
{
"type": "GITHUB",
"sshUrl": "git@github.com:username/repo.git"
}
Delete Git Provider Config
DELETE {{LEM_adminURL}}/admin/v1/git/provider
Delete Git Provider Config
Removes the git provider configuration.
Endpoint
DELETE {{LEM_adminURL}}/admin/v1/git/provider
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
204 No Content on success.
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: 204 No Content
Validate Provider Configuration
POST {{LEM_adminURL}}/admin/v1/git/provider/validate
Validate Provider Configuration
Tests a git provider configuration by attempting to connect (read + write access).
Endpoint
POST {{LEM_adminURL}}/admin/v1/git/provider/validate
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "type": "GITHUB", "sshUrl": "git@github.com/..." }
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
{
"type": "GITHUB",
"sshUrl": "git@github.com/..."
}
Response
Status: 200 OK
{
"code": "S",
"message": "Repository access successful",
"messageDetails": "Successfully validated read and write access to repository at git@github.com:rhysnickerson-litmus/git-integration-test.git"
}
Get Git Provider Public Key
GET {{LEM_adminURL}}/admin/v1/git/provider/public-key?providerType=GITHUB
Get Git Provider Public Key
Returns the SSH public key that LEM uses to authenticate to the git provider. Install this in the git provider's deploy-key settings (or service account) to grant LEM access. providerType is GITHUB, GITLAB, or AZURE_DEVOPS.
Endpoint
GET {{LEM_adminURL}}/admin/v1/git/provider/public-key?providerType=GITHUB
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Request Body
{
"track": true,
"syncOnBackup": true
}
Response
Status: 200 OK
{
"publicKey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICkcU+SRAr7Eg38ymZczzRC53IKRsa87gQVrJPzxeeAC generated-by-admin-api",
"publicKeyFingerprint": "SHA256:vuJwtudKzjRlH/zIoTJ5cBcfkJHLl4+WRyWGgfGP5Zc",
"privateKeyType": "ED25519"
}
Update Git Tracking Settings
PUT {{LEM_adminURL}}/admin/v1/git/tracking/{{project_id}}
Update Git Tracking Settings
Updates per-project git tracking flags: whether to track the project and whether to sync on backup.
Endpoint
PUT {{LEM_adminURL}}/admin/v1/git/tracking/{{project_id}}
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "track": true, "syncOnBackup": true }
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
{
"track": true,
"syncOnBackup": true
}
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}
Sync Git Template
POST {{LEM_adminURL}}/admin/v1/git/tracking/{{project_id}}/sync
Sync Git Template
Triggers a manual git sync for one project. Pair with Get Tracking Overview (Paginated) to observe progress.
Endpoint
POST {{LEM_adminURL}}/admin/v1/git/tracking/{{project_id}}/sync
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{}
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
{}
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}
Get Tracking Overview (Paginated)
GET {{LEM_adminURL}}/admin/v1/git/tracking?companyName=companyName&projectId=projectId
Get Tracking Overview (Paginated)
Returns the paginated git tracking history: per-project sync status, last sync time, devices count, and async task ID.
Endpoint
GET {{LEM_adminURL}}/admin/v1/git/tracking?companyName=companyName&projectId=projectId
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
{
"pageNum": 0,
"pagesCount": 1,
"size": 10,
"totalSize": 1,
"elements": [
{
"projectId": "8apk5dk9k2stgubim64uwqxsr",
"projectName": "ProjectA",
"realCompanyName": "CompanyA",
"companyName": "companya",
"track": true,
"syncOnBackup": true,
"numberOfEdgeDevices": 1,
"numberOfSyncedDevices": 1,
"lastSyncTime": 1767974431273,
"asyncSubtaskId": "83a9c422-675b-4f6f-99ac-d2256e8e2d8c",
"status": "SUCCESS",
"message": null,
"commitHash": "e98702151edafb9d07901c7b79b6bfd65405fd37"
}
]
}
Get AI Assistant Config
GET {{LEM_adminURL}}/admin/v1/ai-assistant-settings
Get AI Assistant Config
Returns the current AI Assistant integration config: base URL, chat / embed model names, embedding-support flag, and any additional API headers. The API key is masked / omitted.
Endpoint
GET {{LEM_adminURL}}/admin/v1/ai-assistant-settings
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
{
"baseUrl": "https://api.openai.com/v1",
"apiKey": null,
"chatModel": "gpt-4.1-mini",
"embedModel": "text-embedding-ada-002",
"isEmbedSupported": true,
"apiHeaders": []
}
Update AI Assistant Config
POST {{LEM_adminURL}}/admin/v1/ai-assistant-settings
Update AI Assistant Config
Updates the AI Assistant config. Run Validate AI Assistant Config first to confirm reachability.
Endpoint
POST {{LEM_adminURL}}/admin/v1/ai-assistant-settings
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{
"baseUrl": "https://api.openai.com/v1",
"apiHeaders": [{ "name": "key", "value": "value", "isProtected": true }],
"apiKey": "password",
"chatModel": "gpt-4.1-mini",
"embedModel": "text-embedding-ada-002",
"isEmbedSupported": true
}
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
{
"baseUrl": "https://api.openai.com/v1",
"apiHeaders": [
{
"name": "key",
"value": "value",
"isProtected": true
}
],
"apiKey": "password",
"chatModel": "gpt-4.1-mini",
"embedModel": "text-embedding-ada-002",
"isEmbedSupported": true
}
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}
Validate AI Assistant Config
POST {{LEM_adminURL}}/admin/v1/ai-assistant-settings/validate
Validate AI Assistant Config
Validates AI Assistant settings without persisting them.
Endpoint
POST {{LEM_adminURL}}/admin/v1/ai-assistant-settings/validate
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
Same shape as Update AI Assistant Config.
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
{
"baseUrl": "https://api.openai.com/v1",
"apiHeaders": [
{
"name": "key",
"value": null,
"isProtected": true
}
],
"apiKey": null,
"chatModel": "gpt-4.1-mini",
"embedModel": "text-embedding-ada-002",
"isEmbedSupported": true
}
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}
Delete AI Assistant API Key
DELETE {{LEM_adminURL}}/admin/v1/ai-assistant-settings/apikey
Delete AI Assistant API Key
Removes the stored API key, leaving the rest of the config intact. Use to rotate secrets without re-entering everything.
Endpoint
DELETE {{LEM_adminURL}}/admin/v1/ai-assistant-settings/apikey
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Errors
| HTTP status | When it happens |
|---|---|
400 Bad Request |
Missing or malformed query/body parameter. |
401 Unauthorized |
Missing or invalid credentials. |
403 Forbidden |
Token lacks permission for this operation. |
404 Not Found |
Target entity does not exist. |
5xx |
Service is unreachable, restarting, or internally errored. Inspect device logs under System > Support. |
TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.
Response
Status: 200 OK
{
"code": "S",
"message": null,
"messageDetails": null
}