Skip to content

Get All State History

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

HTTP Request

GET /node/api/state-history

Path parameters

No parameters required.

Query parameters

Parameter Type Description
from Integer
optional
A lower-bound timestamp for state history records.
to Integer
optional
An upper-bound timestamp for state history records.
limit String
optional
The maximum number of records to be retrieved. Count starts from 0. Default value is 10.
skip String
optional
The number of the first records to be skipped. Default value is 0.

Request body

The request body is empty.

Response

Warning

If you don't specify the limit in the query parameters, the request will return the first 11 records.

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

login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/state-history

curl -X GET $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/state-history";
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";
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"

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"
    },
    ...
]

See Also