Get Object’s Audit Log

Request

HTTP Request

GET /node/api/objects/:id/audit-log

Path parameters

Parameter Type Description

id

String
required

The ID or discovery ID of the object whose audit log must be retrieved.

Query parameters

Parameter Type Description

from

String

A lower-bound timestamp for audit records.

limit

String

The maximum number of records to be retrieved.

skip

String

The number of the first audit records to be skipped.

to

String

An upper-bound timestamp for audit records.

Request body

The request body is empty.

Response

Returns the change log for the specified object. Each change is represented by the previous and the new value of an object’s field, and the type of field that was changed. See the Audit Log model for more information.

Example

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

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

curl -X GET $url -u $login:$password \
    -G --data-urlencode "limit=5"
let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let queryParams = "limit=3";
let path = "/node/api/objects/" + objectId + "/audit-log" + "?" + queryParams;
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 + "/audit-log";
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 + "/audit-log"

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

Response

[
    {
        "entityType": 1,
        "entityId": "5e21b85b308c3c66d64e07df",
        "newBody": [
            {
                "description": "",
                "state": 4,
                "condition": {
                    "_and": [
                        {
                            "memoryType": {
                                "_m": "mem"
                            }
                        },
                        {
                            "percentUsed": {
                                "_gt": "90"
                            }
                        }
                    ]
                }
            }
        ],
        "oldBody": null,
        "userId": "5e21b752308c3c66d64e072c",
        "kind": 6,
        "timestamp": 1582014157369
    },
    ...
]