Set Object Stat Rules

Sets stat rules for an object with the specified ID.

Request

HTTP Request

PUT /node/api/objects/:object_id/stat-rules

Permissions

objectPermissions & manage-objects

Path parameters

Parameter Type Description

object_id

String
required

The ID of an object whose stat rules should be set.

Body parameters

Body contains an array of stat rules you want to set for the specified object. See the Stat Rule model for a list of all parameters.

Request body

[
    {
        "conditions": [{ "x": 1 }],
        "rules": [{ "type": "extend" }],
        "actions": []
    }
]

Response

Returns an updated array of stat rules. See the Stat Rule model for more information.

Example

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

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

curl -X PUT $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
[
    {
        "conditions": [{ "x": 1 }],
        "rules": [{"type": "extend"}],
        "actions": []
    }
]
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/stat-rules";
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);

let data = JSON.stringify([
    {
        "conditions": [{ "x": 1 }],
        "rules": [{ "type": "extend" }],
        "actions": []
    }
]);

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));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/stat-rules";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "PUT",
    "hostname": saymonHostname,
    "path": path,
    "headers": {
        "Authorization": auth,
        "Content-Type": "application/json"
    }
};

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([
    {
        "conditions": [{ "x": 1 }],
        "rules": [{ "type": "extend" }],
        "actions": []
    }
]);

req.write(data);
req.end();
import requests

login = <...>
password = <...>
object_id = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/objects/" + \
    object_id + "/stat-rules"

body = [
    {
        "conditions": [{"x": 1}],
        "rules": [{"type": "extend"}],
        "actions": []
    }
]

response = requests.request("PUT", url, json=body, auth=(login, password))
print(response.text)

Response

[
    {
        "conditions": [{ "x": 1 }],
        "rules": [{ "type": "extend" }],
        "actions": []
    }
]