Microsoft Purview audit search activity
| Operation | Description | Sample | Rule |
|---|---|---|---|
| any | Catch-all for M365-AuditSearch rules matching the RecordType but no specific Operation. | N | N |
| Audit | Audit Search Completed activity in Microsoft Purview audit search, recorded in the Unified Audit Log (observed in first-party capture). | Y | N |
| Audit | Audit Search Created activity in Microsoft Purview audit search, recorded in the Unified Audit Log (observed in first-party capture). | Y | N |
any: Microsoft Purview audit search activity (catch-all)
#Description
Catch-all for M365-AuditSearch rules matching the RecordType but no specific Operation.
AuditSearchCompleted
#Description
Audit Search Completed activity in Microsoft Purview audit search, recorded in the Unified Audit Log (observed in first-party capture).
Example Audit Record #
{
"CompletionStatus": "Succeeded",
"CreationTime": "2026-07-02T15:15:00Z",
"Id": "3e5c1e82-0a17-45f3-b74f-af143fc45320",
"IsInternalServiceRequest": "false",
"Operation": "AuditSearchCompleted",
"OrganizationId": "00000000-0000-0000-0000-000000000001",
"RecordType": 295,
"ResultsCount": 138,
"SearchFilters": {
"SearchName": "dw-harness-collect",
"Id": "62478f84-2f3c-40e5-ae42-0d01ffa18e9d",
"RequestType": "AuditSearch",
"StartDateUtc": "2026-06-29T15:12:35Z",
"EndDateUtc": "2026-07-02T15:12:35Z",
"RecordType": null,
"RecordTypes": [],
"Workload": null,
"Workloads": [],
"WorkloadsToInclude": [],
"WorkloadsToExclude": [],
"ScopedWorkloadSearchEnabled": true,
"Operations": null,
"Users": null,
"ObjectIds": null,
"RecordIds": [],
"UserKeys": [],
"UserTypes": [],
"IsGraphSearch": true,
"ExportRequest": null,
"IPAddresses": null,
"SiteIds": null,
"AssociatedAdminUnits": null,
"FreeText": null,
"ResultSize": 0,
"TimeoutInSeconds": 86400,
"ScopedAdminWithoutAdminUnits": false
},
"SearchJobId": "62478f84-2f3c-40e5-ae42-0d01ffa18e9d",
"SearchJobName": "dw-harness-collect",
"SearchSource": "User",
"UserId": "adminuser@example.onmicrosoft.com",
"UserKey": "10000000AAAAAAAA",
"UserType": 0,
"Version": 1,
"Workload": "SecurityComplianceCenter"
}
AuditSearchCreated
#Description
Audit Search Created activity in Microsoft Purview audit search, recorded in the Unified Audit Log (observed in first-party capture).
Example Audit Record #
{
"CompletionStatus": "Queued",
"CreationTime": "2026-07-02T15:12:39Z",
"Id": "953baeea-d58d-494a-9f0f-d1bc26ceabbb",
"IsInternalServiceRequest": "false",
"Operation": "AuditSearchCreated",
"OrganizationId": "00000000-0000-0000-0000-000000000001",
"RecordType": 295,
"ResultsCount": 0,
"SearchFilters": {
"SearchName": "dw-harness-collect",
"Id": "62478f84-2f3c-40e5-ae42-0d01ffa18e9d",
"RequestType": "AuditSearch",
"StartDateUtc": "2026-06-29T15:12:35Z",
"EndDateUtc": "2026-07-02T15:12:35Z",
"RecordType": null,
"RecordTypes": [],
"Workload": null,
"Workloads": [],
"WorkloadsToInclude": [],
"WorkloadsToExclude": [],
"ScopedWorkloadSearchEnabled": true,
"Operations": null,
"Users": null,
"ObjectIds": null,
"RecordIds": [],
"UserKeys": [],
"UserTypes": [],
"IsGraphSearch": true,
"ExportRequest": null,
"IPAddresses": null,
"SiteIds": null,
"AssociatedAdminUnits": null,
"FreeText": null,
"ResultSize": 0,
"TimeoutInSeconds": 86400,
"ScopedAdminWithoutAdminUnits": false
},
"SearchJobId": "62478f84-2f3c-40e5-ae42-0d01ffa18e9d",
"SearchJobName": "dw-harness-collect",
"SearchSource": "User",
"UserId": "adminuser@example.onmicrosoft.com",
"UserKey": "10000000AAAAAAAA",
"UserType": 0,
"Version": 1,
"Workload": "SecurityComplianceCenter"
}
References #
M365 audit records use different field names on each surface #
The same Unified Audit Log record uses different field names on each surface. A query built for one surface can silently miss on another. These pages document the Management Activity API JSON names, the same names Search-UnifiedAuditLog and the Office 365 Management Activity API return.
- Purview CSV export flattens each record to four columns (
CreationDate,UserIds,Operations,AuditData). The API field names live only inside theAuditDataJSON blob. Expand it withConvertFrom-Json. The wrapper columns are renamed too:CreationDatenotCreationTime,UserIdsnotUserId,OperationsnotOperation. - Sentinel's
OfficeActivitytable renames several fields and turns two integer enum columns into strings. The table below maps them.
| API JSON (event pages) | OfficeActivity column | Note |
|---|---|---|
Id | OfficeId | Renamed. |
Workload | OfficeWorkload | Renamed. |
ObjectId | OfficeObjectId | Renamed. |
CreationTime | TimeGenerated | Renamed. OfficeActivity has no CreationTime column. |
SiteUrl | Site_Url | Renamed (SharePoint family). |
RecordType | RecordType | Same name; the Int32 enum becomes its string enum name. |
UserType | UserType | Same name; the Int32 enum becomes a string. |
ClientIP | ClientIP, Client_IPAddress | Both columns present on OfficeActivity. |
Scope | (none) | No OfficeActivity equivalent under any name. Recover it from the API JSON or the Purview AuditData blob. |
Operation, UserId, ResultStatus, UserKey, AppAccessContext, OrganizationId | same names | Unchanged. No _s / _d suffixes (a native table, not a custom log). |
Mapping verified against the OfficeActivity table reference, the Management Activity API schema, and the Purview audit-record export format.