curl --request GET \
--url https://api.nebius.cloud/audit/v2/audit-events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.nebius.cloud/audit/v2/audit-events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.nebius.cloud/audit/v2/audit-events', 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://api.nebius.cloud/audit/v2/audit-events",
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://api.nebius.cloud/audit/v2/audit-events"
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://api.nebius.cloud/audit/v2/audit-events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nebius.cloud/audit/v2/audit-events")
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{
"items": [
{
"action": "<string>",
"authentication": {
"authenticated": true,
"authenticationType": "AUTHENTICATION_TYPE_UNSPECIFIED",
"federation": {
"id": "<string>",
"name": "<string>"
},
"staticKeyCredential": {
"id": "<string>"
},
"subject": {
"name": "<string>",
"serviceAccountId": "<string>",
"tenantUserId": "<string>"
},
"tokenCredential": {
"maskedToken": "<string>"
}
},
"authorization": {
"authorized": true
},
"eventVersion": "<string>",
"id": "<string>",
"projectRegion": {
"name": "<string>"
},
"request": {
"clientIp": "<string>",
"idempotencyId": "<string>",
"ja3Fingerprint": "<string>",
"parameters": {},
"requestId": "<string>",
"traceId": "<string>",
"userAgent": "<string>"
},
"resource": {
"hierarchy": [
{
"id": "<string>",
"name": "<string>",
"type": "<string>"
}
],
"metadata": {
"id": "<string>",
"name": "<string>",
"type": "<string>"
},
"state": {
"current": {},
"previous": {}
}
},
"response": {
"errorMessage": "<string>",
"payload": {},
"statusCode": "OK"
},
"service": {
"name": "<string>"
},
"source": "<string>",
"specVersion": "<string>",
"status": "RESPONSE_STATUS_UNSPECIFIED",
"time": "2023-11-07T05:31:56Z",
"type": "<string>"
}
],
"nextPageToken": "<string>"
}List
curl --request GET \
--url https://api.nebius.cloud/audit/v2/audit-events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.nebius.cloud/audit/v2/audit-events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.nebius.cloud/audit/v2/audit-events', 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://api.nebius.cloud/audit/v2/audit-events",
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://api.nebius.cloud/audit/v2/audit-events"
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://api.nebius.cloud/audit/v2/audit-events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nebius.cloud/audit/v2/audit-events")
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{
"items": [
{
"action": "<string>",
"authentication": {
"authenticated": true,
"authenticationType": "AUTHENTICATION_TYPE_UNSPECIFIED",
"federation": {
"id": "<string>",
"name": "<string>"
},
"staticKeyCredential": {
"id": "<string>"
},
"subject": {
"name": "<string>",
"serviceAccountId": "<string>",
"tenantUserId": "<string>"
},
"tokenCredential": {
"maskedToken": "<string>"
}
},
"authorization": {
"authorized": true
},
"eventVersion": "<string>",
"id": "<string>",
"projectRegion": {
"name": "<string>"
},
"request": {
"clientIp": "<string>",
"idempotencyId": "<string>",
"ja3Fingerprint": "<string>",
"parameters": {},
"requestId": "<string>",
"traceId": "<string>",
"userAgent": "<string>"
},
"resource": {
"hierarchy": [
{
"id": "<string>",
"name": "<string>",
"type": "<string>"
}
],
"metadata": {
"id": "<string>",
"name": "<string>",
"type": "<string>"
},
"state": {
"current": {},
"previous": {}
}
},
"response": {
"errorMessage": "<string>",
"payload": {},
"statusCode": "OK"
},
"service": {
"name": "<string>"
},
"source": "<string>",
"specVersion": "<string>",
"status": "RESPONSE_STATUS_UNSPECIFIED",
"time": "2023-11-07T05:31:56Z",
"type": "<string>"
}
],
"nextPageToken": "<string>"
}Authorizations
The Authorization header expects a Bearer token.
Query Parameters
A tenant id must be provided
Example: service.name = 'iam' AND resource.hierarchy.id:'container-e0t' AND regex(resource.metadata.name, '^.test.$')
Supported filters: "=" - equals "!=" - not equals ":" - contains regex - regular expression
Fields that can be used for filtering: action authentication.static_key_credential.id authentication.subject.name authentication.subject.service_account_id authentication.subject.tenant_user_id authentication.token_credential.masked_token project_region.name resource.hierarchy.id resource.hierarchy.name resource.metadata.id resource.metadata.name resource.metadata.type service.name type status
Type of audit event to filter by.
- EVENT_TYPE_UNSPECIFIED: Unspecified event type.
- CONTROL_PLANE: Control plane events.
- DATA_PLANE: Data plane events (S3).
EVENT_TYPE_UNSPECIFIED, CONTROL_PLANE, DATA_PLANE Region to retrieve audit logs (e.g. eu-north2, us-central1, eu-west1) See https://docs.nebius.com/overview/regions Default: eu-north1
During a transition period (until 13-08-2026), events are written to both eu-north1 and their origin region. After that, events are only stored in their origin region, and this field becomes required.
Was this page helpful?