Get Object’s State Triggers

Request

HTTP Request

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

Permissions

objectPermissions & (modify-objects | manage-objects)

Path parameters

Parameter Type Description

id

String
required

The ID or discovery ID of the object whose state triggers must be retrieved.

Request body

The request body is empty.

Response

Returns an array of object’s state triggers. See the State Trigger model for more information.

If the specified object doesn’t have state triggers, this request will return the following response with the code 404:

{
    "code": "ResourceNotFound",
    "message": "Entity not found: StateTriggers(65cf231fbf5d2f1729457d1b, Object(65cf231fbf5d2f1729457d17))"
}

Example

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

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

curl -X GET $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/state-triggers";
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 objectId = <...>
let path = "/node/api/objects/" + objectId + "/state-triggers";
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 = <...>
object_id = <...>
url = "https://" + saymon_hostname + "/node/api/objects/" + \
    object_id + "/state-triggers"

response = requests.request("GET", url, auth=(login, password))
print(response.text)

Response

[
    {
        "type": "e-mail",
        "payload": {
            "to": "duty_operator@example.com",
            "cc": "duty_operator@example.com"
        },
        "states": [
            3,
            4,
            5
        ]
    },
    {
        "type": "script",
        "payload": {
            "execPath": "./reboot.sh",
            "execArgs": [
                ""
            ]
        },
        "states": [
            5
        ]
    },
    ...
]