curl --request GET \
--url https://console.advinservers.com/api/v1/client/servers/{server}/audit-log \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/audit-log"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://console.advinservers.com/api/v1/client/servers/{server}/audit-log', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/servers/{server}/audit-log",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/servers/{server}/audit-log"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://console.advinservers.com/api/v1/client/servers/{server}/audit-log")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/audit-log")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"current_page": 1,
"data": [
{
"id": 58214,
"server_id": 4821,
"user_id": 1873,
"action": "power_action",
"description": "Server power action: restart",
"metadata": {
"action": "restart",
"resource": {
"type": "server",
"id": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"name": "lambda-core"
}
},
"ip_address": "192.0.2.44",
"created_at": "2026-09-14T15:58:21.000000Z",
"updated_at": "2026-09-14T15:58:21.000000Z",
"user": {
"email": "gordon.freeman@blackmesa.example.com"
}
}
],
"first_page_url": "https://vps.advinservers.com/api/v1/client/servers/ecc6f4f1/audit-log?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://vps.advinservers.com/api/v1/client/servers/ecc6f4f1/audit-log?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://vps.advinservers.com/api/v1/client/servers/ecc6f4f1/audit-log?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"next_page_url": null,
"path": "https://vps.advinservers.com/api/v1/client/servers/ecc6f4f1/audit-log",
"per_page": 50,
"prev_page_url": null,
"to": 1,
"total": 1
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Not found."
}{
"message": "Too Many Attempts."
}List a server's audit log
Overview
Lists server activity, newest first. per_page defaults to 25 and accepts 1 to 100. Sort by created_at or updated_at, with - for descending order. Filter by filter[action], filter[user_id] or filter[user.email]. By default, user contains only an email address. Add ?include=user for full account details. The included user is null when you cannot view that account.
Permissions
Requires the server.read (View servers) permission for the selected team. Resources outside that team return 404.
curl --request GET \
--url https://console.advinservers.com/api/v1/client/servers/{server}/audit-log \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/audit-log"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://console.advinservers.com/api/v1/client/servers/{server}/audit-log', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/servers/{server}/audit-log",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/servers/{server}/audit-log"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://console.advinservers.com/api/v1/client/servers/{server}/audit-log")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/audit-log")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"current_page": 1,
"data": [
{
"id": 58214,
"server_id": 4821,
"user_id": 1873,
"action": "power_action",
"description": "Server power action: restart",
"metadata": {
"action": "restart",
"resource": {
"type": "server",
"id": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"name": "lambda-core"
}
},
"ip_address": "192.0.2.44",
"created_at": "2026-09-14T15:58:21.000000Z",
"updated_at": "2026-09-14T15:58:21.000000Z",
"user": {
"email": "gordon.freeman@blackmesa.example.com"
}
}
],
"first_page_url": "https://vps.advinservers.com/api/v1/client/servers/ecc6f4f1/audit-log?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://vps.advinservers.com/api/v1/client/servers/ecc6f4f1/audit-log?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://vps.advinservers.com/api/v1/client/servers/ecc6f4f1/audit-log?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"next_page_url": null,
"path": "https://vps.advinservers.com/api/v1/client/servers/ecc6f4f1/audit-log",
"per_page": 50,
"prev_page_url": null,
"to": 1,
"total": 1
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Not found."
}{
"message": "Too Many Attempts."
}Authorizations
Your API key, sent as a bearer token. Create one in the control panel under API Keys, give it only the permissions the integration needs, and copy it when it is created. It cannot be shown again. Each key is restricted to one owned team. The key determines the team for every request.
Path Parameters
The server UUID
"ecc6f4f1"
Query Parameters
The maximum number of records to return on one page.
1 <= x <= 10025
Related records to include, with multiple values separated by commas.
"user"
Filter records by user id.
"User id"
Filter records by server id.
"Server id"
Filter records by action.
"resize_disk"
Filter records by user.email.
"gordon.freeman@blackmesa.example.com"
The field to sort by, prefixed with - for descending order.
created_at, -created_at, updated_at, -updated_at ["created_at"]
Response
One page of results, with the rows under data and the paging figures beside them.
Which page this is, counting from 1.
1
The rows on this page.
Show child attributes
Show child attributes
[ { "id": 58214, "server_id": 4821, "user_id": 1873, "action": "power_action", "description": "Server power action: restart", "metadata": { "action": "restart", "resource": { "type": "server", "id": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b", "name": "lambda-core" } }, "ip_address": "192.0.2.44", "created_at": "2026-09-14T15:58:21.000000Z", "updated_at": "2026-09-14T15:58:21.000000Z", "user": { "email": "gordon.freeman@blackmesa.example.com" } } ]
A link to the first page.
The position of the first row on this page in the whole result, or null when the page is empty.
How many pages there are.
A link to the last page.
Pagination links in display order.
Show child attributes
Show child attributes
A link to the next page, or null on the last one.
The base URL used for pagination.
How many rows a page holds.
50
A link to the previous page, or null on the first one.
The position of the last row on this page, or null when the page is empty.
How many rows there are altogether.