List Audit Logs
curl --request GET \
--url https://api.bland.ai/v1/audit/logs \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/audit/logs"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/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://api.bland.ai/v1/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: <authorization>"
],
]);
$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.bland.ai/v1/audit/logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/audit/logs")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/audit/logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"events": [
{
"id": "00000000-0000-0000-0000-000000000001",
"org_id": "00000000-0000-0000-0000-000000000100",
"actor_id": "00000000-0000-0000-0000-000000000200",
"event_type": "pathway.published",
"resource_type": "convo_pathway",
"resource_id": "00000000-0000-0000-0000-000000000300",
"metadata": {
"version_number": 3,
"environment": "production"
},
"created_at": "2025-01-15T14:32:00.000Z"
},
{
"id": "00000000-0000-0000-0000-000000000002",
"org_id": "00000000-0000-0000-0000-000000000100",
"actor_id": "00000000-0000-0000-0000-000000000200",
"event_type": "auth.sso_login",
"resource_type": null,
"resource_id": null,
"metadata": {
"provider_id": "okta",
"email": "user@example.com"
},
"created_at": "2025-01-15T14:30:00.000Z"
}
],
"total": 2,
"total_pages": 1,
"current_page": 1,
"page_size": 50
},
"errors": null
}
Organizations
List Audit Logs
Retrieve a paginated, filterable list of audit events for your organization. Designed for SIEM integration and compliance workflows.
GET
/
v1
/
audit
/
logs
List Audit Logs
curl --request GET \
--url https://api.bland.ai/v1/audit/logs \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/audit/logs"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/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://api.bland.ai/v1/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: <authorization>"
],
]);
$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.bland.ai/v1/audit/logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/audit/logs")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/audit/logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"events": [
{
"id": "00000000-0000-0000-0000-000000000001",
"org_id": "00000000-0000-0000-0000-000000000100",
"actor_id": "00000000-0000-0000-0000-000000000200",
"event_type": "pathway.published",
"resource_type": "convo_pathway",
"resource_id": "00000000-0000-0000-0000-000000000300",
"metadata": {
"version_number": 3,
"environment": "production"
},
"created_at": "2025-01-15T14:32:00.000Z"
},
{
"id": "00000000-0000-0000-0000-000000000002",
"org_id": "00000000-0000-0000-0000-000000000100",
"actor_id": "00000000-0000-0000-0000-000000000200",
"event_type": "auth.sso_login",
"resource_type": null,
"resource_id": null,
"metadata": {
"provider_id": "okta",
"email": "user@example.com"
},
"created_at": "2025-01-15T14:30:00.000Z"
}
],
"total": 2,
"total_pages": 1,
"current_page": 1,
"page_size": 50
},
"errors": null
}
Audit logs are an enterprise feature and not yet available for all accounts. To enable audit logging for your organization, contact your Bland representative or reach out to sales.
Overview
Returns a time-ordered log of auditable actions taken within your organization — logins, logouts, pathway changes, knowledge base edits, and more. Results are scoped to your organization and require an admin or owner role.Supported event types
| Event type | Description |
|---|---|
auth.sso_login | User logged in via SSO |
auth.logout | User logged out |
pathway.created | Conversational pathway created |
pathway.updated | Pathway version updated |
pathway.deleted | Pathway deleted |
pathway.published | Pathway version published to an environment |
kb.content_updated | Knowledge base text/markdown content edited |
kb.file_replaced | Knowledge base source file replaced |
kb.urls_replaced | Knowledge base URLs replaced (web scrape) |
kb.version_restored | Knowledge base version restored |
auth.*, pathway.*, kb.*) in your SIEM to group by category.
Headers
string
required
Your API key for authentication.
Query Parameters
string
Filter by exact event type (e.g.
pathway.created, auth.sso_login).string
Filter by the user ID that performed the action.
string
ISO 8601 timestamp. Only return events created after this time.Example:
2025-01-01T00:00:00Zstring
ISO 8601 timestamp. Only return events created before this time.Example:
2025-02-01T00:00:00Znumber
default:"1"
Page number (1-indexed).
number
default:"50"
Results per page. Min
1, max 100.Response
object
array
Array of audit event objects, ordered by
created_at descending (newest first).string
Unique identifier for the audit event.
string
The organization this event belongs to.
string
The user ID that performed the action.
string
The type of event (see supported event types above).
string | null
The type of resource affected (e.g.
convo_pathway, kb). null for events like login/logout that don’t target a specific resource.string | null
The ID of the affected resource.
null when no specific resource is involved.object | null
Additional context about the event. Contents vary by event type — may include fields like
version_id, name, environment, filename, email, etc.string
ISO 8601 timestamp of when the event occurred.
number
Total number of events matching the query.
number
Total number of pages.
number
The current page number.
number
The number of results per page.
null
Always
null on success.{
"data": {
"events": [
{
"id": "00000000-0000-0000-0000-000000000001",
"org_id": "00000000-0000-0000-0000-000000000100",
"actor_id": "00000000-0000-0000-0000-000000000200",
"event_type": "pathway.published",
"resource_type": "convo_pathway",
"resource_id": "00000000-0000-0000-0000-000000000300",
"metadata": {
"version_number": 3,
"environment": "production"
},
"created_at": "2025-01-15T14:32:00.000Z"
},
{
"id": "00000000-0000-0000-0000-000000000002",
"org_id": "00000000-0000-0000-0000-000000000100",
"actor_id": "00000000-0000-0000-0000-000000000200",
"event_type": "auth.sso_login",
"resource_type": null,
"resource_id": null,
"metadata": {
"provider_id": "okta",
"email": "user@example.com"
},
"created_at": "2025-01-15T14:30:00.000Z"
}
],
"total": 2,
"total_pages": 1,
"current_page": 1,
"page_size": 50
},
"errors": null
}
Docs for agents: llms.txt
Was this page helpful?