Litmus Edge 4.4.x - System: Activation
List Installed License/s
GET {{edgeUrl}}/lic/v2/licenses
List Installed License/s
Returns every license currently installed on the device with its status, expiry, and trial/core flags.
Endpoint
GET {{edgeUrl}}/lic/v2/licenses
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
200 OK -- application/json. Array of license objects.
| Field | Type | Description |
|---|---|---|
name |
string | License product key (e.g. litmusedge-scale-nl). |
key |
string | Activation key (masked once installed). |
status |
string | OK, Expired, Invalid, ... |
expiryDate |
string | Expiry timestamp (UTC). |
expiryDays |
integer | Days remaining until expiry. |
isTrial |
boolean | true for evaluation licenses. |
isCore |
boolean | true for the device's primary license. |
[
{
"name": "litmusedge-scale-nl",
"key": "xxxx-xxxx-xxxx-xxxx",
"status": "OK",
"expiryDate": "2024-04-25 00:00:00 +0000 UTC",
"expiryDays": 270,
"isTrial": false,
"isCore": 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.
Response
Status: 200 OK
[
{
"name": "litmusedge-scale-nl",
"key": "xxxx-xxxx-xxxx-xxxx",
"status": "OK",
"expiryDate": "2024-04-25 00:00:00 +0000 UTC",
"expiryDays": 270,
"isTrial": false,
"isCore": true
}
]
Online License Activation
POST {{edgeUrl}}/lic/v2/activation/online
Online License Activation
Activates the device against the LE licensing portal using an activation key. Requires outbound HTTPS access from the device to the licensing service.
For air-gapped deployments, use the Generate Offline License Request flow instead.
Endpoint
POST {{edgeUrl}}/lic/v2/activation/online
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{
"key": "{{online_license_activation}}"
}
| Field | Type | Required | Description |
|---|---|---|---|
key |
string | Yes | Activation key in the format XXXX-XXXX-XXXX-XXXX. |
Response
200 OK on success. The installed license appears in List Installed License/s.
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
{
"key": "{{online_license_activation}}"
}
Response
Status: 204 No Content
Generate Offline License Request
GET {{edgeUrl}}/lic/v2/activation/offline?key={{offline_license_activation}}
Generate Offline License Request
Generates an offline license request blob that can be uploaded to the LE licensing portal (in a separate online session) to produce the matching offline activation key. Use for devices with no outbound internet access.
Endpoint
GET {{edgeUrl}}/lic/v2/activation/offline?key={{offline_license_activation}}
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
key |
string | Yes | Activation key issued by the licensing portal. |
Response
200 OK -- application/json
| Field | Type | Description |
|---|---|---|
request |
string | Opaque base64 blob. Paste verbatim into the licensing portal's "offline activation" form. |
{ "request": "{your offline license activation request will appear here}" }
After receiving the offline license file from the portal, install it via a separate POST flow exposed by the LE UI.
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
{
"request": "{your offline license activation request will appear here}"
}
Delete a License
DELETE {{edgeUrl}}/lic/v2/licenses/{key}
Delete a License
Removes a license by its activation key. Features unlocked solely by the deleted license stop working immediately. The core/primary license should not be removed except as part of a re-activation flow.
Endpoint
DELETE {{edgeUrl}}/lic/v2/licenses/{key}
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Path parameters
| Location | Name | Required | Description |
|---|---|---|---|
| Path | {key} |
Yes | Activation key (from List Installed License/s > key). |
Response
200 OK 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.
List Features Currently in Use
GET {{edgeUrl}}/lic/v2/features
List Features Currently in Use
Returns each licensed feature (marketplace, analytics, devices, backup, ...) with its current count and expiry. count: -1 means the feature is unmetered.
Endpoint
GET {{edgeUrl}}/lic/v2/features
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
200 OK -- application/json
| Field | Type | Description |
|---|---|---|
name |
string | Feature key (marketplace, analytics, devices, tags, backup, ...). |
desc |
string | Human-readable description. |
count |
integer | Current usage count. -1 for unmetered features. |
expires |
string | Expiry timestamp. |
limited |
boolean | true if there is a hard limit beyond the count. |
[
{ "name": "marketplace", "desc": "Marketplace", "count": -1, "expires": "2024-04-25T00:00:00Z", "limited": false },
{ "name": "analytics", "desc": "Analytics", "count": -1, "expires": "2024-04-25T00:00:00Z", "limited": 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
[
{
"name": "marketplace",
"desc": "Marketplace",
"count": -1,
"expires": "2024-04-25T00:00:00Z",
"limited": false
},
{
"name": "analytics",
"desc": "Analytics",
"count": -1,
"expires": "2024-04-25T00:00:00Z",
"limited": false
},
{
"name": "devices",
"desc": "Devices",
"count": -1,
"expires": "2024-04-25T00:00:00Z",
"limited": false
},
{
"name": "backup",
"desc": "Backup",
"count": -1,
"expires": "2024-04-25T00:00:00Z",
"limited": false
},
{
"name": "core",
"desc": "Core",
"count": -1,
"expires": "2024-04-25T00:00:00Z",
"limited": false
},
{
"name": "updates",
"desc": "Software updates",
"count": -1,
"expires": "2024-04-25T00:00:00Z",
"limited": false
},
{
"name": "tags",
"desc": "Tags",
"count": -1,
"expires": "2024-04-25T00:00:00Z",
"limited": true
},
{
"name": "dt",
"desc": "Digtial twins",
"count": -1,
"expires": "2024-04-25T00:00:00Z",
"limited": false
},
{
"name": "opcua",
"desc": "OPCUA",
"count": -1,
"expires": "2024-04-25T00:00:00Z",
"limited": false
}
]
Get Product Info
GET {{edgeUrl}}/lic/v2/info
Get Product Info
Returns the product identity bundle: product name, version, product ID, and the license product ID. Use this when filing support tickets to confirm which SKU is deployed.
Endpoint
GET {{edgeUrl}}/lic/v2/info
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
200 OK -- application/json
| Field | Type | Description |
|---|---|---|
productName |
string | Product name (e.g. Litmus Edge). |
productVersion |
string | Product version. |
productId |
string | SKU identifier (e.g. litmusedge-std). |
productLicenseId |
string | License-system identifier. |
{
"productName": "Litmus Edge",
"productVersion": "3.5.6",
"productId": "litmusedge-std",
"productLicenseId": "litmusedge"
}
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
{
"productName": "Litmus Edge",
"productVersion": "3.5.6",
"productId": "litmusedge-std",
"productLicenseId": "litmusedge"
}
License Server Configured Limits
GET {{edgeUrl}}/lic/v2/limits
License Server Configured Limits
Returns the effective / hard / user limits per feature, plus reservation values when the license server enforces reserved quotas. Used to detect when feature usage is approaching its cap.
Endpoint
GET {{edgeUrl}}/lic/v2/limits
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
200 OK -- application/json. Array of {feature, limits, reservations} objects.
| Field | Type | Description |
|---|---|---|
feature |
string | Feature key. |
limits.effective |
integer | Current usable limit (after applying any administrative overrides). |
limits.hard |
integer | License-imposed ceiling that cannot be exceeded. |
limits.user |
integer | Operator-set soft limit (may be lower than the hard limit). |
reservations.* |
integer | Same three counters for any reserved-quota allocations. |
[
{
"feature": "tags",
"limits": { "effective": 500, "hard": 500, "user": 500 },
"reservations": { "effective": 500, "hard": 500, "user": 500 }
}
]
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
[
{
"feature": "tags",
"limits": {
"effective": 500,
"hard": 500,
"user": 500
},
"reservations": {
"effective": 500,
"hard": 500,
"user": 500
}
},
{
"feature": "tags",
"limits": {
"effective": 500,
"hard": 500,
"user": 500
},
"reservations": {
"effective": 500,
"hard": 500,
"user": 500
}
},
{
"feature": "tags",
"limits": {
"effective": 500,
"hard": 500,
"user": 500
},
"reservations": {
"effective": 500,
"hard": 500,
"user": 500
}
}
]
Get Trial License State
GET {{edgeUrl}}/lic/v2/licenses/trial
Get Trial License State
State of the device's built-in trial license: when it started and ended, how many times it has been reset, and which features it grants. The web UI reads it on the License page.
Endpoint
GET {{edgeUrl}}/lic/v2/licenses/trial
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Parameters
None.
Response
200 OK -- application/json.
| Field | Type | Description |
|---|---|---|
startedTs |
integer | Trial start, Unix seconds. |
endedTs |
integer | Trial end, Unix seconds. |
lastResetTs |
integer | Last trial reset, Unix seconds. |
resetCounter |
integer | Number of trial resets. |
productionkey |
string | Key of the license the trial is tied to. Treat it as a secret. |
features |
string[] | Features the trial grants (core, devices, tags, analytics, opcua, dt, marketplace, backup, nwutil, updates). |
{
"startedTs": 1752520864,
"endedTs": 1752520864,
"productionkey": "<redacted>",
"lastResetTs": 1752520864,
"resetCounter": 0,
"features": ["opcua", "marketplace", "dt", "backup", "nwutil", "tags", "analytics", "core", "updates", "devices"]
}
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
{
"startedTs": 1752520864,
"endedTs": 1752520864,
"productionkey": "<redacted>",
"lastResetTs": 1752520864,
"resetCounter": 0,
"features": [
"dt",
"backup",
"nwutil",
"tags",
"analytics",
"core",
"updates",
"devices",
"opcua",
"marketplace"
]
}
Get Offline Activation Info
GET {{edgeUrl}}/lic/v2/activation/offline/info
Get Offline Activation Info
What a user needs to activate this device offline: its host ID and the activation portal URL. The web UI shows both in the offline activation dialog.
Endpoint
GET {{edgeUrl}}/lic/v2/activation/offline/info
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Parameters
None.
Response
200 OK -- application/json.
| Field | Type | Description |
|---|---|---|
hostid |
string | Host ID that identifies this device to the license system. |
activationUrl |
string | Portal where the offline activation is completed. |
{ "hostid": "<device-host-id>", "activationUrl": "https://litmus.activate.id" }
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
{
"hostid": "<device-host-id>",
"activationUrl": "https://litmus.activate.id"
}
Get License Server
GET {{edgeUrl}}/lic/v2/server
The license server this device is configured to reach, as serverURL in host:port form.
Worth checking first when activation fails: a licensing problem is frequently a reachability problem with this address rather than anything wrong with the key.
When no license server is configured the endpoint answers 404 Not Found with {"error":{"Msg":"license server is not configured","MsgCode":""}}. That is the normal state for a device activated with a key rather than through a license server.
Response
Status: 200 OK
{"serverURL":"license-server.example.com:443"}
License Server Status
GET {{edgeUrl}}/lic/v2/server/status
License Server Status
Streams whether the configured license server is reachable. The License page uses it for the server status badge; Get License Server returns the server configuration.
Endpoint
GET wss://{{edgeHost}}/lic/v2/server/status
WebSocket. Open wss://{{edgeHost}}/lic/v2/server/status with a WebSocket client; a plain HTTP GET does not stream. After importing this item, convert it to a Postman WebSocket request.
Authentication
HTTP Basic Auth on the WebSocket upgrade request. Username is your API token, password is empty. A token in the query string is not accepted.
An Origin header is not required by this service.
Messages
The current state arrives right after the upgrade; later frames follow when it changes.
| Field | Type | Description |
|---|---|---|
serverStatus |
string | Up or Down. Down is also reported when no license server is configured. |
Errors
| Response | When it happens |
|---|---|
401 Unauthorized on the upgrade |
Missing or invalid Authorization header. |
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
{"serverStatus":"Down"}
Show Registration Status
GET {{edgeUrl}}/dm/cloud
Show Registration Status
Returns whether the device is currently registered with LE Manager (the cloud / on-prem management server) and, if so, which company, project, and model it is enrolled under. activatedAt returns the sentinel 0001-01-01T00:00:00Z when the device is not registered.
Endpoint
GET {{edgeUrl}}/dm/cloud
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
200 OK -- application/json
| Field | Type | Description |
|---|---|---|
activatedAt |
string | Registration timestamp (UTC). Sentinel 0001-01-01T00:00:00Z if not registered. |
companyID / companyName |
string | LE Manager organization identifiers. |
projectID / projectName |
string | Project the device belongs to. |
modelID / modelName |
string | Device model classification on LE Manager. |
deviceID |
string | LE Manager-issued device UUID. |
status |
string | Overall status (OK, ...). |
statusCode |
string | Machine-readable status code; empty on healthy registration. |
{
"activatedAt": "0001-01-01T00:00:00Z",
"companyID": "",
"companyName": "solutions",
"deviceID": "1a5wiavluwxuhwai5leb1v0hc",
"modelID": "6vuut3v2qm36fv7smna42ckj3",
"modelName": "LoopEdge",
"projectID": "462j1mq70mph31wa100t1yuxa",
"projectName": "apiProject",
"status": "OK",
"statusCode": ""
}
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
{
"activatedAt": "0001-01-01T00:00:00Z",
"companyID": "",
"companyName": "solutions",
"deviceID": "1a5wiavluwxuhwai5leb1v0hc",
"modelID": "6vuut3v2qm36fv7smna42ckj3",
"modelName": "LoopEdge",
"projectID": "462j1mq70mph31wa100t1yuxa",
"projectName": "apiProject",
"status": "OK",
"statusCode": ""
}
Register With Cloud
POST {{edgeUrl}}/dm/cloud
Register With Cloud
Registers the device with LE Manager using a registration code the operator obtained from the LE Manager UI. After this call returns successfully, Show Registration Status > activatedAt is set.
Endpoint
POST {{edgeUrl}}/dm/cloud
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{
"code": "H3LIB-QTM6B-7PVNA-4KSAZ-B04QL"
}
| Field | Type | Required | Description |
|---|---|---|---|
code |
string | Yes | Hyphen-separated registration code from LE Manager. |
Response
200 OK 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.
Request Body
{
"code": "H3LIB-QTM6B-7PVNA-4KSAZ-B04QL"
}
De-Register with Cloud
DELETE {{edgeUrl}}/dm/cloud
De-Register with Cloud
Removes the device's LE Manager registration. After this call the device operates standalone; LE Manager will mark the device offline on its next reconciliation cycle.
Endpoint
DELETE {{edgeUrl}}/dm/cloud
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
200 OK 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.
Show Backup Interval
GET {{edgeUrl}}/dm/cloud/backupInterval
Show Backup Interval
Returns the cadence (in minutes) at which the device pushes its backup to LE Manager.
Endpoint
GET {{edgeUrl}}/dm/cloud/backupInterval
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
200 OK -- application/json
{ "interval": 5 }
| Field | Type | Description |
|---|---|---|
interval |
integer | Backup interval in minutes. |
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
{
"interval": 5
}
Set Backup Interval
PUT {{edgeUrl}}/dm/cloud/backupInterval
Set Backup Interval
Updates the cadence (in minutes) at which the device pushes its backup to LE Manager. Set to 0 to disable scheduled backups.
Endpoint
PUT {{edgeUrl}}/dm/cloud/backupInterval
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "interval": 5 }
| Field | Type | Required | Description |
|---|---|---|---|
interval |
integer | Yes | Backup interval in minutes (0 disables). |
Response
200 OK 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.
Request Body
{
"interval": 5
}
Response
Status: 204 No Content
Show Cloud URL
GET {{edgeUrl}}/dm/cloud/url
Show Cloud URL
Returns the LE Manager URL the device is configured to talk to. Use to verify before / after Set Cloud URL.
Endpoint
GET {{edgeUrl}}/dm/cloud/url
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
200 OK -- application/json
{ "url": "https://10.17.3.103" }
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://10.17.3.103"
}
Set Cloud URL
POST {{edgeUrl}}/dm/cloud/url
Set Cloud URL
Proposes a new LE Manager URL. The change is two-step: this call returns transaction metadata + the remote server's certificate; the operator then either confirms (Thrust Remote Server and Complete Cloud URL Transaction) or declines (Decline Set URL Request).
This trust-on-first-use flow prevents an attacker who can briefly DNS-hijack the device from silently re-pointing it to a malicious LE Manager.
Endpoint
POST {{edgeUrl}}/dm/cloud/url
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Request body
{ "url": "https://10.17.3.103" }
Response
200 OK -- application/json
| Field | Type | Description |
|---|---|---|
certIssuer |
string | Issuer DN of the remote server's TLS certificate. |
certSubject |
string | Subject DN. |
certNotBefore / certNotAfter |
string | Certificate validity window. |
certValidationErrors |
array | Any TLS validation issues (null for a clean cert). |
tx |
string | Transaction UUID. Pass to Thrust... or Decline Set URL Request. |
{
"certIssuer": "CN=Litmus Edge Manager CA 23072022027",
"certNotAfter": "2043-07-15 20:31:16 +0000 UTC",
"certNotBefore": "2023-07-21 20:30:46 +0000 UTC",
"certSubject": "CN=10.17.3.103",
"certValidationErrors": null,
"tx": "57051cea-94da-44b9-812a-fa8c746718aa"
}
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
{
"url": "https://10.17.3.103"
}
Response
Status: 200 OK
{
"certIssuer": "CN=Litmus Edge Manager CA 23072022027",
"certNotAfter": "2043-07-15 20:31:16 +0000 UTC",
"certNotBefore": "2023-07-21 20:30:46 +0000 UTC",
"certSubject": "CN=10.17.3.103",
"certValidationErrors": null,
"tx": "57051cea-94da-44b9-812a-fa8c746718aa"
}
Reset Cloud URL to Default
PUT {{edgeUrl}}/dm/cloud/url/resetToDefault
Reset Cloud URL to Default
Resets the LE Manager URL to the factory default. Useful to recover from a misconfigured override.
Endpoint
PUT {{edgeUrl}}/dm/cloud/url/resetToDefault
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Response
200 OK 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.
Thrust Remote Server and Complete Cloud URL Transaction
PUT {{edgeUrl}}/dm/cloud/url/{tx}/confirm
Trust Remote Server and Complete Cloud URL Transaction
Confirms a pending Set Cloud URL transaction. The device records the remote server's certificate fingerprint as trusted, then switches to the new URL.
(The Postman item's spelling -- "Thrust" -- is a typo; the underlying operation is "Trust".)
Endpoint
PUT {{edgeUrl}}/dm/cloud/url/{tx}/confirm
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Path parameters
| Location | Name | Required | Description |
|---|---|---|---|
| Path | {tx} |
Yes | Transaction UUID returned by Set Cloud URL. |
Response
200 OK 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.
Decline Set URL Request
DELETE {{edgeUrl}}/dm/cloud/url/{tx}/decline
Decline Set URL Request
Cancels a pending Set Cloud URL transaction. The previously configured URL is retained.
Endpoint
DELETE {{edgeUrl}}/dm/cloud/url/{tx}/decline
Authentication
HTTP Basic Auth. Username is your API token, password is empty. Tokens are managed under System > Access Control > Tokens.
Path parameters
| Location | Name | Required | Description |
|---|---|---|---|
| Path | {tx} |
Yes | Transaction UUID returned by Set Cloud URL. |
Response
200 OK 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.