Get All State History

This request is deprecated in favor of Get State History Log. It inherits all existing functionality and adds more filter options.

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

A lower-bound timestamp for state history records.

to

Integer

An upper-bound timestamp for state history records.

limit

String

The maximum number of records to be retrieved. Count starts from 0. Default value is 10.

skip

String

The number of the first records to be skipped. Default value is 0.

Request body

The request body is empty.

Response

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

  • Bash

  • JavaScript

  • NodeJS

  • Python

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