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
optional
A lower-bound timestamp for audit records.
limit String
optional
The maximum number of audit records to be retrieved.
skip String
optional
The number of the first audit records to be skipped.
to Integer
optional
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