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

  • Bash

  • JavaScript

  • NodeJS

  • Python

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