curl --request GET \
--url https://anaconda.com/api/audit-logs \
--header 'Authorization: Bearer <token>' \
--header 'X-API-Version: <x-api-version>' \
--header 'X-Org-Name: <x-org-name>'import requests
url = "https://anaconda.com/api/audit-logs"
headers = {
"X-Org-Name": "<x-org-name>",
"X-API-Version": "<x-api-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Org-Name': '<x-org-name>',
'X-API-Version': '<x-api-version>',
Authorization: 'Bearer <token>'
}
};
fetch('https://anaconda.com/api/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://anaconda.com/api/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>",
"X-API-Version: <x-api-version>",
"X-Org-Name: <x-org-name>"
],
]);
$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://anaconda.com/api/audit-logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Org-Name", "<x-org-name>")
req.Header.Add("X-API-Version", "<x-api-version>")
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://anaconda.com/api/audit-logs")
.header("X-Org-Name", "<x-org-name>")
.header("X-API-Version", "<x-api-version>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://anaconda.com/api/audit-logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Org-Name"] = '<x-org-name>'
request["X-API-Version"] = '<x-api-version>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"action_key": "<string>",
"created_at": "<timestamp>",
"id": "<uuid>",
"message": "<string>",
"org_id": "<uuid>",
"action_verb": "<string>",
"actor_email": "<string>",
"actor_id": "<uuid>",
"actor_type": "<string>",
"meta": {},
"occurred_at": "<timestamp>",
"org_name": "<string>",
"service_name": "<string>",
"target_email": "<string>",
"target_id": "<uuid>",
"target_type": "<string>"
}
],
"total_count": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Get Audit Logs
Retrieve audit logs for your organization with support for search, sorting, pagination, and date filtering.
curl --request GET \
--url https://anaconda.com/api/audit-logs \
--header 'Authorization: Bearer <token>' \
--header 'X-API-Version: <x-api-version>' \
--header 'X-Org-Name: <x-org-name>'import requests
url = "https://anaconda.com/api/audit-logs"
headers = {
"X-Org-Name": "<x-org-name>",
"X-API-Version": "<x-api-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Org-Name': '<x-org-name>',
'X-API-Version': '<x-api-version>',
Authorization: 'Bearer <token>'
}
};
fetch('https://anaconda.com/api/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://anaconda.com/api/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>",
"X-API-Version: <x-api-version>",
"X-Org-Name: <x-org-name>"
],
]);
$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://anaconda.com/api/audit-logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Org-Name", "<x-org-name>")
req.Header.Add("X-API-Version", "<x-api-version>")
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://anaconda.com/api/audit-logs")
.header("X-Org-Name", "<x-org-name>")
.header("X-API-Version", "<x-api-version>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://anaconda.com/api/audit-logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Org-Name"] = '<x-org-name>'
request["X-API-Version"] = '<x-api-version>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"action_key": "<string>",
"created_at": "<timestamp>",
"id": "<uuid>",
"message": "<string>",
"org_id": "<uuid>",
"action_verb": "<string>",
"actor_email": "<string>",
"actor_id": "<uuid>",
"actor_type": "<string>",
"meta": {},
"occurred_at": "<timestamp>",
"org_name": "<string>",
"service_name": "<string>",
"target_email": "<string>",
"target_id": "<uuid>",
"target_type": "<string>"
}
],
"total_count": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer token obtained by authenticating with your organization's service account credentials (client_id and client_secret).
See the Getting started page for the full authentication flow.
Headers
Your organization ID, found in your organization's URL: anaconda.com/app/organizations/<ORG_ID>/.
The API version to use. Set to v1.
Query Parameters
Filter audit logs by field values. Use the format column_name:value1,value2 to match entries where the column contains any of the specified values.
You can pass multiple q parameters to build complex filters. They are combined using the search_operator parameter.
The logical operator used to combine multiple q filters.
Use or to return logs matching any filter. Use and to return only logs matching all filters.
Sort the results by one or more columns. Use the format column_name for ascending order or -column_name for descending order.
For example, -occurred_at sorts by most recent first.
The maximum number of audit log entries to return per page.
1 <= x <= 1000The number of entries to skip before returning results. Use with limit to paginate through large result sets.
x >= 0Only return audit logs that occurred on or after this timestamp. Use ISO 8601 format with timezone.
"<timestamp>"
Only return audit logs that occurred on or before this timestamp. Use ISO 8601 format with timezone.
"<timestamp>"
Response
Request succeeded and a paginated list of audit logs is returned.
Paginated response that wraps a list of audit log entries and the total number of matching records.
Was this page helpful?