Get audit events¶
GET/
Audit Events API · Audit Events
List audit events.
Parameters¶
| Name | In | Type | Required | Description |
|---|---|---|---|---|
X-Partner-ID | header | string (uuid) | No | Optional partner ID. |
X-Organization-ID | header | string (uuid) | No | Optional organization ID. |
X-Tenant-ID | header | string (uuid) | No | Optional tenant ID. |
startDate | query | string (date-time) | Yes | Start date, no earlier than 90 days. |
endDate | query | string (date-time) | No | Up to this end date. |
originIpAddress | query | string | No | Origin IP Address. Must be at most 128 characters long. |
modifiedBy | query | string (email) | No | Modifier's email. |
modifierAccountId | query | string (uuid) | No | Modifier account id. |
resourceOwnerId | query | string (uuid) | No | Resource owner id. |
pageFromKey | query | string | No | The key of the item from where to fetch a page. |
pageSize | query | integer | No | The size of the page requested. |
fields | query | array of string | No | The fields to return in a partial response. |
Request samples¶
curl -X GET "https://api.central.sophos.com/audit/v1/audit-events?startDate=<startDate>" -H "Authorization: Bearer <access-token>" -H "X-Partner-ID: <partner-id>" -H "X-Organization-ID: <organization-id>" -H "X-Tenant-ID: <tenant-id>"
import requests
response = requests.get(
"https://api.central.sophos.com/audit/v1/audit-events?startDate=<startDate>",
headers={
"Authorization": "Bearer <access-token>",
"X-Partner-ID": "<partner-id>",
"X-Organization-ID": "<organization-id>",
"X-Tenant-ID": "<tenant-id>",
},
)
print(response.json())
$headers = @{
"Authorization" = "Bearer <access-token>"
"X-Partner-ID" = "<partner-id>"
"X-Organization-ID" = "<organization-id>"
"X-Tenant-ID" = "<tenant-id>"
}
Invoke-RestMethod -Method GET -Uri "https://api.central.sophos.com/audit/v1/audit-events?startDate=<startDate>" -Headers $headers
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.central.sophos.com/audit/v1/audit-events?startDate=<startDate>", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer <access-token>")
req.Header.Set("X-Partner-ID", "<partner-id>")
req.Header.Set("X-Organization-ID", "<organization-id>")
req.Header.Set("X-Tenant-ID", "<tenant-id>")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
const response = await fetch("https://api.central.sophos.com/audit/v1/audit-events?startDate=<startDate>", {
method: "GET",
headers: {
"Authorization": "Bearer <access-token>",
"X-Partner-ID": "<partner-id>",
"X-Organization-ID": "<organization-id>",
"X-Tenant-ID": "<tenant-id>",
},
});
const data = await response.json();
console.log(data);
Responses¶
200 — Paged list of audit events for the tenant.¶
Response fields
itemsarray of objectrequiredPage of audit events.
Details of an audit event.
Show child attributesHide child attributes
idstring (uuid)requiredUnique identifier for the audit event.
occurredAtstring (date-time)requiredWhen the event occurred.
modifiedBystring (email)Identifier of the actor that modified the item (for example, an email).
itemTypestringType of item modified in the audit log; corresponds to the Item Type in audit reports.
itemModifiedstringIdentifier of the item that was modified.
descriptionstringDescription of the audit event.
originIpAddressstringIP address associated with the event.
resourceOwnerIdstring (uuid)Identifier of the resource owner; may be empty.
resourceOwnerTypestringType of the resource owner for the audited item.
modifierTypestringCategory of the actor that performed the modification.
modifierAccountIdstring (uuid)Account identifier of the modifier.
modifierAccountTypestringAccount type for the modifier.
pagesobjectrequiredShow child attributesHide child attributes
fromKeystringThe key of the first item in the returned page.
nextKeystringThe key to use when fetching the next page.
sizeintegerrequiredThe size of the page being returned.
maxSizeintegerrequiredThe maximum page size that can be requested.
Errors¶
| Status | Meaning |
|---|---|
400 | Bad request. |
401 | Unauthorized. |
500 | Unexpected error. |
All error responses share the same shape — see the error response object.
Response examples¶
200¶
{
"items": [
{
"id": "4e3b2978-ab6c-4891-9a7d-4d991d8c0fbc",
"occurredAt": "2026-05-20T17:39:24.480Z",
"modifiedBy": "cdb.qa.3@example.com",
"itemType": "AUTHENTICATION",
"itemModified": "cdb.qa.3@example.com",
"description": "SUCCESSFUL_AUTHENTICATION",
"originIpAddress": "195.171.192.19",
"resourceOwnerId": "47fca5ed-3620-4a81-8bd7-e127af39b494",
"resourceOwnerType": "TENANT",
"modifierType": "TENANT_ADMIN",
"modifierAccountId": "5c487584-9cfc-4de1-bd71-dcc0189a1810",
"modifierAccountType": "Customer"
}
],
"pages": {
"fromKey": "58fd4443-3b28-4206-92e8-8e07065e85b7",
"nextKey": "edd7fa83-2733-47b2-b51a-634236cc8a2f",
"size": 100,
"maxSize": 500
}
}
See the guide for a narrative walkthrough of this API.