Skip to content

Get User's Audit Log

Returns user's audit log.

Request

HTTP Request

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

Path parameters

Parameter Type Description
id String
required
The ID of a user whose audit log should be retrieved.

Query parameters

Parameter Type Description
from Integer A lower-bound timestamp for audit records.
limit String The maximum number of audit records to be retrieved.
skip String The number of the first audit records to be skipped.
to Integer An upper-bound timestamp for audit records.

Request body

The request body is empty.

Response

Returns a list of all changes made by a specified user. See the Audit Log model for more information.

Example

Request

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

curl -X GET $url -u $login:$password \
    -G --data-urlencode "limit=5"
let login = <...>
let password = <...>
let saymonHostname = <...>
let userId = <...>
let queryParams = "limit=5"
let path = "/node/api/users/" + userId + "/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 userId = <...>
let path = "/node/api/users/" + userId + "/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 = <...>
user_id = <...>
url = "https://" + saymon_hostname + "/node/api/users/" + \
    user_id + "/audit-log"

params = {
    "limit": "3"
}

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

Response

[
    {
        "entityId": "62d7e58056d203149a08001b",
        "entityType": 1,
        "userId": "62c2f3ce80c8654892764d56",
        "kind": 10,
        "oldBody": {
            "type_id": 8,
            "name": "TaskType",
            "value": "disabled",
            "id": "62f6538fad05cf4924c34fbb",
            "owner_id": "62d7e58056d203149a08001b",
            "owner_type": 1
        },
        "newBody": {
            "type_id": 8,
            "name": "TaskType",
            "value": "mqtt",
            "id": "62f6538fad05cf4924c34fbb",
            "owner_id": "62d7e58056d203149a08001b",
            "owner_type": 1
        },
        "timestamp": 1660658644532
    },
    {
        "entityId": "62d7e58056d203149a08001b",
        "entityType": 1,
        "userId": "62c2f3ce80c8654892764d56",
        "kind": 10,
        "oldBody": null,
        "newBody": {
            "type_id": 8,
            "name": "MqttExpiryPeriodUnit",
            "value": "seconds",
            "id": "62fba3d453500b6617df4d5c"
        },
        "timestamp": 1660658644748
    },
    {
        "entityId": "62d7e58056d203149a08001b",
        "entityType": 1,
        "userId": "62c2f3ce80c8654892764d56",
        "kind": 10,
        "oldBody": null,
        "newBody": {
            "type_id": 8,
            "name": "MqttTopic",
            "value": "Test MQTT",
            "id": "62fba3db53500b6617df4d5e"
        },
        "timestamp": 1660658651350
    }
]

See Also