Get Object's State History

GET /node/api/objects/:id/state-history

Returns object's state history.

Permissions: objectPermissions.

Request parameters

Path parameters

Parameter

Type

Description

id

string

required

The ID of an object for which state history should be retrieved.

Query parameters

Parameter

Type

Description

from

string

optional

A lower-bound timestamp for an object's state history.

to

string

optional

An upper-bound timestamp for an object's state history.

skip

string

optional

The number of the first records to be skipped.

limit

string

optional

The maximum number of records to be retrieved.

Response description

...

Examples

Request examples

The code examples below show how to get the first 5 records of the object's state history for 24 hour (26.01.20 12.00 PM - 27.01.20 12.00 PM):

Bash
NodeJS
Python
Bash
login=<your_login>
password=<your_password>
saymon_hostname=<your_saymon_hostname>
object_id=<your_object_id>
url=https://$saymon_hostname/node/api/objects/$object_id/state-history
curl -X GET $url -u $login:$password -G \
--data-urlencode "from=1580029200000" \
--data-urlencode "to=1580115600000" \
--data-urlencode "limit=5"
NodeJS
const http = require("http");
const querystring = require("querystring");
let login = <your_login>
let password = <your_password>
let saymon_hostname = <your_saymon_hostname>
let object_id = <your_object_id>
let query_params = querystring.stringify({
"from" : "1580029200000",
"to" : "1580115600000",
"limit" : "5"
});
let path = "/node/api/objects/" + object_id + "/state-history" +
"?" + query_params;
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");
let options = {
"method": "GET",
"hostname": saymon_hostname,
"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();
Python
import requests
login = <your_login>
password = <your_password>
saymon_hostname = <your_saymon_hostname>
object_id = <your_object_id>
url = "https://" + saymon_hostname + "/node/api/objects/" + \
object_id + "/state-history"
params = {
"from": "1580029200000",
"to": "1580115600000",
"limit": "5"
}
response = requests.request("GET", url, auth=(login, password), params=params)
print(response.text)

Response example

[
{
"stateId": 1,
"timestamp": 1585301115993,
"id": "5e7dc67bc50bdc08abbf16b9"
},
{
"stateId": 3,
"reason": {
"branch": "...",
"data": "..."
},
"timestamp": 1585301127083,
"id": "5e7dc687c50bdc08abbf1728"
},
...
]