Get State History Log
Returns all state history records for both objects and links. Note that this request returns the state history of only those entities that you have permissions to access.
Request
Query parameters
Parameter | Type | Description | ||
---|---|---|---|---|
from |
Integer |
A lower-bound timestamp for state history records as Unix timestamp in milliseconds. |
||
to |
Integer |
An upper-bound timestamp for state history records as Unix timestamp in milliseconds. |
||
limit |
String |
The maximum number of records to be retrieved. Count starts from |
||
skip |
String |
The number of the first records to be skipped. Default value is |
||
inverse |
Boolean |
|
||
downsample |
Boolean |
|
||
stateId |
String | Array<String> |
State ID or a list of state IDs with which to filter the history log. |
||
classId |
String | Array<String> |
Class ID or a list of class IDs with which to filter the history log. Request will return records of state changes of entities that belong to a class specified in this list.
|
||
tagId |
String | Array<String> |
Tag ID or a list of tag IDs with which to filter the history log. Request will return records of state changes of entities that have a tag specified in this list.
|
||
entityId |
String | Array<String> |
Entity ID or a list of entity IDs with which to filter the history log. Request will return records of state changes of entities specified in this list. |
||
entityType |
Integer |
Filter the history log by the entity type. |
||
entityName |
String |
Filter the history log by the entity’s name (or a part of it).
|
Response
Returns an array of state records that fit the criteria specified in the query parameters. See the State History model for more information.
Example
Request
-
Bash
-
JavaScript
-
NodeJS
-
Python
login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/state-history-log
curl -X GET $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/state-history-log";
let auth = "Basic " + btoa(login + ":" + password);
let headers = new Headers();
headers.append("Authorization", auth);
let requestOptions = {
method: "GET",
headers: headers
};
fetch(saymonHostname + path, requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));
const http = require("http");
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/state-history-log";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");
let options = {
"method": "GET",
"hostname": saymonHostname,
"headers": {
"Authorization": auth
},
"path": path
};
let req = http.request(options, function (res) {
let chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
let body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
req.end();
import requests
login = <...>
password = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/state-history-log"
response = requests.request("GET", url, auth=(login, password))
print(response.text)
Response
[
{
"entityId": 1,
"entityType": 1,
"stateId": 1,
"timestamp": 1579267920651,
"entityName": "ROOT",
"entityClass": 1,
"skip": 0,
"id": "5e21b750308c3c66d64e071a"
},
{
"entityId": "5e21b85b308c3c66d64e07c8",
"entityType": 1,
"stateId": 1,
"timestamp": 1579268187090,
"entityName": "SAYMON Agent",
"entityClass": 2,
"skip": 2,
"id": "5e21b85b308c3c66d64e07cd"
},
...
]