Set Object's State

PUT /node/api/objects/:id/state

Sets object's state.

Permissions: objectPermissions & (modify-objects | manage-objects).

Request parameters

Path parameters

Parameter

Type

Description

id

string

required

The ID of an object whose state should be set.

Response description

The response body contains the updated object in the JSON format.

Examples

Request examples

Bash
JavaScript
NodeJS
Python
Bash
login=<...>
password=<...>
saymon_hostname=<...>
object_id=<...>
url=https://$saymon_hostname/node/api/objects/$object_id/state
curl -X PUT $url -u $login:$password \
-H "Content-Type: application/json" \
-d @- <<EOF
{
"state_id": 4
}
EOF
JavaScript
let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/state";
let auth = "Basic " + btoa(login + ":" + password);
let headers = new Headers();
headers.append("Authorization", auth);
headers.append("Content-Type", "application/json");
let data = JSON.stringify({
"state_id": 4
});
let requestOptions = {
method: "PUT",
headers: headers,
body: data
};
fetch(saymonHostname + path, requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));
NodeJS
const http = require("http");
let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/state";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");
let options = {
"method": "PUT",
"hostname": saymonHostname,
"headers": {
"Authorization": auth,
"Content-Type": "application/json"
},
"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);
});
});
let data = JSON.stringify({
"state_id": 4
});
req.write(data);
req.end();
Python
import requests
login = <...>
password = <...>
saymon_hostname = <...>
object_id = <...>
url = "https://" + saymon_hostname + "/node/api/objects/" + \
object_id + "/state";
body = {
"state_id": 4
}
response = requests.request("PUT", url, json=body, auth=(login, password))
print(response.text)

Response example

{
"entityId": "5e21b85b308c3c66d64e07d2",
"entityType": 1,
"body": {
"id": "5e21b85b308c3c66d64e07d2",
"name": "CPU",
"discovery_id": "192.168.1.82-CPU",
"object_groups": [],
"geoposition": [],
"child_ref_ids": [],
"child_link_ids": [],
"child_ids": [],
"parent_id": "5e21b85b308c3c66d64e07bc",
"weight": 1,
"tags": [],
"last_state_update": 1585045998154,
"updated": 1583916836283,
"created": 1579268187099,
"state_id": 5,
"class_id": 4,
"_stateConditionRefs": [],
"operations": [],
"properties": [],
"client_data": "...",
"manual_state": null,
"owner_id": "5e21b752308c3c66d64e072c"
}
}