curl --request GET \
--url https://console.advinservers.com/api/v1/client/audit-logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/audit-logs"
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/audit-logs', 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/audit-logs",
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/audit-logs"
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/audit-logs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/audit-logs")
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,
"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",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
"method": "PATCH",
"path": "/api/v1/client/servers/ecc6f4f1/state",
"is_staff": false,
"created_at": "2026-09-14T15:58:21.000000Z",
"server": {
"uuid": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"uuid_short": "ecc6f4f1",
"name": "lambda-core",
"hostname": "lambda-core.blackmesa.example.com",
"windows": false,
"template_name": "Ubuntu 24.04",
"template_icon_url": "https://img.icons8.com/color/48/ubuntu.png"
},
"actor": {
"name": "Barney Calhoun",
"email": "barney.calhoun@blackmesa.example.com",
"gravatar_url": "https://www.gravatar.com/avatar/52fe79725661c25ad4a3f683abc54c3a?s=64&d=404"
},
"resource": {
"type": "server",
"id": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"name": "lambda-core"
}
}
],
"first_page_url": "https://vps.advinservers.com/api/v1/client/audit-logs?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://vps.advinservers.com/api/v1/client/audit-logs?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://vps.advinservers.com/api/v1/client/audit-logs?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/audit-logs",
"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": "Too Many Attempts."
}List account activity
Overview
Lists activity in the current team, newest first. API keys cannot read personal account events such as sign-ins, sessions, billing details or API key creation. Support activity is omitted. Filter by filter[action], filter[ip_address] or filter[*] for text search. Search a server’s short ID with filter[*]; filter[server_id] requires an internal numeric ID. Sort with sort=created_at or sort=-created_at. per_page defaults to 25 and is limited to 1 to 100. server is null for events without a server, and actor is null for automatic events.
Permissions
Requires the account permission audit.read (View account audit log).
curl --request GET \
--url https://console.advinservers.com/api/v1/client/audit-logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/audit-logs"
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/audit-logs', 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/audit-logs",
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/audit-logs"
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/audit-logs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/audit-logs")
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,
"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",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
"method": "PATCH",
"path": "/api/v1/client/servers/ecc6f4f1/state",
"is_staff": false,
"created_at": "2026-09-14T15:58:21.000000Z",
"server": {
"uuid": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"uuid_short": "ecc6f4f1",
"name": "lambda-core",
"hostname": "lambda-core.blackmesa.example.com",
"windows": false,
"template_name": "Ubuntu 24.04",
"template_icon_url": "https://img.icons8.com/color/48/ubuntu.png"
},
"actor": {
"name": "Barney Calhoun",
"email": "barney.calhoun@blackmesa.example.com",
"gravatar_url": "https://www.gravatar.com/avatar/52fe79725661c25ad4a3f683abc54c3a?s=64&d=404"
},
"resource": {
"type": "server",
"id": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"name": "lambda-core"
}
}
],
"first_page_url": "https://vps.advinservers.com/api/v1/client/audit-logs?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://vps.advinservers.com/api/v1/client/audit-logs?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://vps.advinservers.com/api/v1/client/audit-logs?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/audit-logs",
"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": "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.
Query Parameters
Filter records by action.
"resize_disk"
Filter records by ip address.
"Ip address"
Filter records by server id.
"Server id"
Search the records for this text.
"Search"
The field to sort by, prefixed with - for descending order.
created_at, -created_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,
"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",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
"method": "PATCH",
"path": "/api/v1/client/servers/ecc6f4f1/state",
"is_staff": false,
"created_at": "2026-09-14T15:58:21.000000Z",
"server": {
"uuid": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"uuid_short": "ecc6f4f1",
"name": "lambda-core",
"hostname": "lambda-core.blackmesa.example.com",
"windows": false,
"template_name": "Ubuntu 24.04",
"template_icon_url": "https://img.icons8.com/color/48/ubuntu.png"
},
"actor": {
"name": "Barney Calhoun",
"email": "barney.calhoun@blackmesa.example.com",
"gravatar_url": "https://www.gravatar.com/avatar/52fe79725661c25ad4a3f683abc54c3a?s=64&d=404"
},
"resource": {
"type": "server",
"id": "ecc6f4f1-c89b-4dce-a20b-a330641c5b0b",
"name": "lambda-core"
}
}
]
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.