PurviewDeep dive

Purview retention, records and audit errors: policy statuses, holds and audit search

Quick reference for Purview retention and label policy statuses, Teams and SharePoint retention messages, records and disposition, mailbox holds and audit search errors.

Retention problems rarely arrive as a numbered error. You get a status line in a policy's details pane, a mailbox property, a system message in Teams or an audit search that returns nothing. This quick reference collects the retention, records, hold and audit messages and statuses Microsoft documents, with the meaning, usual cause and first check for each.

Codes in this quick reference

  • We're still processing your policy (PolicySyncTimeout): policy sync didn't finish in timePurview portal (policy details pane)
  • We couldn't find this location (FailedToOpenContainer): a location in the policy no longer existsPurview portal (policy details pane)
  • The location is ambiguous (MultipleInactiveRecipientsError): more than one object matches a locationPurview portal (policy details pane)
  • The site is locked (SiteInReadOnlyOrNotAccessible): site locked by an admin or an automated processPurview portal (policy details pane)
  • The location is out of storage (SiteOutOfQuota): not enough storage to apply the policyPurview portal (policy details pane)
  • We can't process your policy (ActiveDirectorySyncError): policy didn't sync with Microsoft Entra IDPurview portal (policy details pane)
  • Something went wrong (PolicyNotifyError): unspecified error in the policy notification pipelinePurview portal (policy details pane)
  • We ran into a problem (InternalError): unspecified policy sync and distribution errorPurview portal (policy details pane)

+ 49 more codes in the tables below.

How this guide is organized: How to read these codes → Retention and label policy statuses → Teams, SharePoint and OneDrive → Records, labels and disposition → Mailbox holds → Audit log search → How to verify a fixFlow diagram of the article's sections in reading order: 1. How to read these codes. 2. Retention and label policy statuses. 3. Teams, SharePoint and OneDrive. 4. Records, labels and disposition (2 parts: Records and labels; Disposition and events). 5. Mailbox holds. 6. Audit log search. 7. How to verify a fix. Toolbox: New-RetentionComplianceRule, New-AppRetentionComplianceRule, Enable-ComplianceTagStorage, Records Management › Disposition, DistributionStatus.1How to read thesecodes2Retention and labelpolicy statuses3Teams, SharePointand OneDrive4Records, labels anddispositionRecords and labelsDisposition and events5Mailbox holds6Audit log search7How to verify a fixTOOLBOXNew-RetentionComplianceRuleNew-AppRetentionComplianceRuleEnable-ComplianceTagStorageRecords Management › DispositionDistributionStatusHow this guide is organized: How to read these codes → Retention and label policy statuses → Teams, SharePoint and OneDrive → Records, labels and disposition → Mailbox holds → Audit log search → How to verify a fixFlow diagram of the article's sections in reading order: 1. How to read these codes. 2. Retention and label policy statuses. 3. Teams, SharePoint and OneDrive. 4. Records, labels and disposition (2 parts: Records and labels; Disposition and events). 5. Mailbox holds. 6. Audit log search. 7. How to verify a fix. Toolbox: New-RetentionComplianceRule, New-AppRetentionComplianceRule, Enable-ComplianceTagStorage, Records Management › Disposition, DistributionStatus.1How to read these codes2Retention and label policy statuses3Teams, SharePoint and OneDrive4Records, labels and dispositionRecords and labelsDisposition and events5Mailbox holds6Audit log search7How to verify a fixTOOLBOXNew-RetentionComplianceRuleNew-AppRetentionComplianceRuleEnable-ComplianceTagStorageRecords Management › DispositionDistributionStatus
At a glance: how this guide is organized · 2 steps · 5 key settings and tools

How to read these codes#

Where to read a retention, hold or audit problem firstWhere does the problem show up? if Policy status: Does DistributionStatus report errors, not only warnings? if Warnings only: Nothing to fix (Warnings can be ignored); if Errors: Fix every error, then retry (Read DistributionResults; policies with errors aren't supported); if Mailbox holds: Does InPlaceHolds on the mailbox list any holds? if Empty: Check the org config and Policy lookup (Org-wide policies and newer locations don't stamp the mailbox); if Yes, GUIDs: Look up each GUID by its prefix (UniH: eDiscovery hold; mbx or skp: a retention policy for the mailbox); if Audit search: Check auditing in Exchange Online (In Security & Compliance PowerShell the value always reads False)Where does the problem showup?Does DistributionStatus reporterrors, not only warnings?OKNothing to fixWarnings can beignoredWarnings onlyFIXFix every error,then retryReadDistributionResults;policies with errorsaren't supportedErrorsPolicy statusDoes InPlaceHolds on themailbox list any holds?NOTECheck the orgconfig and PolicylookupOrg-wide policiesand newer locationsdon't stamp themailboxEmptyFIXLook up eachGUID by its prefixUniH: eDiscoveryhold; mbx or skp: aretention policy forthe mailboxYes, GUIDsMailbox holdsFIXCheck auditing inExchange OnlineIn Security &CompliancePowerShell the valuealways reads FalseAudit searchWhere to read a retention, hold or audit problem firstWhere does the problem show up? if Policy status: Does DistributionStatus report errors, not only warnings? if Warnings only: Nothing to fix (Warnings can be ignored); if Errors: Fix every error, then retry (Read DistributionResults; policies with errors aren't supported); if Mailbox holds: Does InPlaceHolds on the mailbox list any holds? if Empty: Check the org config and Policy lookup (Org-wide policies and newer locations don't stamp the mailbox); if Yes, GUIDs: Look up each GUID by its prefix (UniH: eDiscovery hold; mbx or skp: a retention policy for the mailbox); if Audit search: Check auditing in Exchange Online (In Security & Compliance PowerShell the value always reads False)Where does the problem show up?Policy statusDoes DistributionStatus report errors, notonly warnings?Warnings onlyOKNothing to fixWarnings can be ignoredErrorsFIXFix every error, then retryRead DistributionResults; policies with errorsaren't supportedMailbox holdsDoes InPlaceHolds on the mailbox list anyholds?EmptyNOTECheck the org config and Policy lookupOrg-wide policies and newer locations don'tstamp the mailboxYes, GUIDsFIXLook up each GUID by its prefixUniH: eDiscovery hold; mbx or skp: a retentionpolicy for the mailboxAudit searchFIXCheck auditing in Exchange OnlineIn Security & Compliance PowerShell the value alwaysreads False
Figure 1 · Decision tree Where to read a retention, hold or audit problem first. Start from where the problem shows up. Policy status is read in the details pane and with -DistributionDetail; holds and audit settings in Exchange Online PowerShell.
  • Policy status shows in the Status section of a retention or label policy under Data Lifecycle Management or Records Management. Select the policy name, not its checkbox, or the details pane won't open.
  • Distribution details come from Security & Compliance PowerShell. Act on DistributionResults only when DistributionStatus reports errors; warnings can be ignored. Microsoft doesn't support policies that keep errors, so fix every one.
  • Holds are mailbox and organization properties in Exchange Online PowerShell.
  • Audit settings must be read in Exchange Online PowerShell.
PowerShell
Connect-IPPSSession
Get-RetentionCompliancePolicy -Identity "<policy>" -DistributionDetail | Format-List DistributionStatus
Get-RetentionCompliancePolicy -Identity "<policy>" -DistributionDetail |
  Select-Object -ExpandProperty DistributionResults
# Teams private channels, Viva Engage, and the newer Teams chats and Copilot locations
Get-AppRetentionCompliancePolicy -Identity "<policy>" -DistributionDetail |
  Select-Object -ExpandProperty DistributionResults

Retention and label policy statuses#

These appear in a policy's Status section. Retry means selecting Retry in the details pane or running Set-RetentionCompliancePolicy -Identity "<policy>" -RetryDistribution.

Code or messageMeaningUsual causeFirst check
We're still processing your policy
PolicySyncTimeout
Policy sync timed outService-side sync delayRetry
We couldn't find this location
FailedToOpenContainer
A location in the policy doesn't existSite, mailbox or group deleted after it was addedRemove the location (required in the next update), then retry
The location is ambiguous
MultipleInactiveRecipientsError
More than one object matches a locationDuplicate matches for one locationRemove the duplicate, then retry
The site is locked
SiteInReadOnlyOrNotAccessible
The policy can't update the siteAdmin lock, or a temporary lock during an automated processUnlock the site, then retry
The location is out of storage
SiteOutOfQuota
Not enough storage to apply the policySite at its quotaRaise the quota or delete items, then retry
We can't process your policy
ActiveDirectorySyncError
Policy didn't sync with Microsoft Entra IDService-side sync failureRetry
Something went wrong
PolicyNotifyError
Error in the notification pipelineUnspecified, service-sideRetry
We ran into a problem
InternalError
Unspecified sync or distribution errorService-sideRetry; open a support case if it persists
Settings not foundThe retention policy has no rulesPolicy saved without a ruleAdd one with New-RetentionComplianceRule or New-AppRetentionComplianceRule
You can't apply a hold here
RecipientTypeNotAllowed
A location was rejected when added (portal, or PowerShell)The policy doesn't support that mailbox typeRemove that location and save again
PendingDeletionPolicy deletion didn't completeUnspecified error while deletingRemove-RetentionCompliancePolicy -Identity "<policy>" -ForceDeletion
DistributionStatus : PendingSync and distribution still runningA recent create or editWait until it's no longer Pending before the next change; batch location changes into one command

Adaptive scopes#

Code or messageMeaningUsual causeFirst check
State: Added or RemovedCurrent member, or former member that no longer matchesDaily query runScope details, or Get-AdaptiveScopeMembers -State Added
Scope empty or members missingQuery hasn't populated, or matches nothingNew or edited scope (up to five days), a value typo, or an administrative unit limitValidate with Get-Recipient -Filter or SharePoint search

Teams, SharePoint and OneDrive#

Code or messageMeaningUsual causeFirst check
We've deleted older messages due to your org's retention policyA retention policy deleted older chat messagesYour policy, or the policy of an external participant's organizationPolicy lookup; retained copies can still be in eDiscovery
This message has been deleted because of a Retention PolicyA channel post was deleted by retentionThe post expired; replies still in their period remainAs above; the text can't be customized
File not foundA file shared in a chat or channel no longer existsThe file had its own SharePoint or OneDrive retentionCheck the policies on the file's site or OneDrive
Expired messages still visibleDeletion hasn't reached the app yetTimer jobs and caching: up to seven days after expiryWait; verify with eDiscovery, not the app
Error deleting a library, list or siteDeletion blockedThe container is subject to retentionExpected; change retention only if the requirement allows
Error deleting a labeled fileDeletion blocked; the file stays in placeDeleting content labeled for retention is off (separate settings for SharePoint and OneDrive)Settings › Solution settings › Records Management › Retention Labels
Content still in the Preservation Hold libraryCleanup hasn't removed it yetWeekly timer job with a 30-day minimum (up to 37 days), then up to 93 days in the recycle binsWait; check for other policies or holds
Retention not applied to a siteThe site is skippedThe site isn't indexedMake sure search crawls the site

Records, labels and disposition#

Records and labels#

Code or messageMeaningUsual causeFirst check
Regulatory record option missingHidden by defaultNever enabledSet-RegulatoryComplianceUI -Enabled $true in Security & Compliance PowerShell
Regulatory record label can't be removedBy designNobody, not even a Global Administrator, can remove it; its period can only be extendedUse it only where regulation demands it
Regulatory record label can't be auto-applied or appliedNot supportedAuto-apply policies; documents checked out in SharePointPublish it in a label policy; check the file in
Record can't be edited or deletedRecord restrictionsLocked record; Exchange records always behave as lockedUnlock it in SharePoint or OneDrive to edit; deletion stays blocked
Record can't be moved to another site, OneDrive or mailboxMove across containers blockedRecord that is or was unlocked, or a regulatory recordCopy it, or move it within the same container
Record label can't be changed or removedBlocked for usersOnly a container admin can, and only while the record is lockedAsk the site admin; regulatory labels never change
Record properties can't be editedTenant settingEditing record properties is turned off in Records Management settingsSettings › Solution settings › Records Management › Retention Labels
Auto-apply policy skipped labeled itemsExisting label keptAuto-apply never replaces an existing retention label; with several matching policies you can't control which label winsCheck the current label; allow up to seven days

Disposition and events#

Code or messageMeaningUsual causeFirst check
Disposition page not availableMissing roleGlobal Administrators don't get Disposition Management by defaultRecords Management role group, or a custom group with Disposition Management
Reviewer can't preview or actMissing permissionsNo Content Explorer Content Viewer role (preview); reviewers added during a review get no rolesAssign the roles
Only your own reviews are listedDefault viewNo records manager security group selectedSettings › Solution settings › Records Management › Disposition; change it later with Enable-ComplianceTagStorage
Mailbox items never reach disposition reviewNot supportedMailbox has less than 10 MB of dataExpected
Approved, but the item still existsPermanent deletion pendingDeletion happens within 15 days of final approvalWait, then check the disposed items
Records DisposedA record was deleted automatically at the end of its periodRecord label without disposition reviewExport the view to CSV as proof; the view depends on auditing being on
Event created, but retention didn't startEvent not applied to some itemsSync takes up to seven days; asset ID or keywords don't match; items labeled after the eventSearch for ComplianceAssetID:<value>; create a new event for later items (events can't be canceled)

Mailbox holds#

Read these in Exchange Online PowerShell with Get-Mailbox <user> | Format-List LitigationHoldEnabled, InPlaceHolds, *HoldApplied* and Get-OrganizationConfig | Select-Object -ExpandProperty InPlaceHolds. Look a GUID up without its prefix and suffix.

Code or messageMeaningUsual causeFirst check
LitigationHoldEnabled : TrueMailbox on Litigation HoldLegal preservation of a personConfirm with legal before removing; a delay hold follows
UniH<GUID>eDiscovery holdHold in an eDiscovery caseGet-CaseHoldPolicy <GUID>, then Get-ComplianceCase with its CaseId
mbx<GUID> or skp<GUID> on the mailboxRetention policy that targets this mailbox (skp: Skype for Business)Policy with specific locationsGet-RetentionCompliancePolicy <GUID> -DistributionDetail
mbx<GUID> or grp<GUID> on the organizationOrganization-wide policy: mbx for mailboxes, public folders and Teams chats; grp for groups and Teams channel messagesPolicy set to all locationsSame lookup
-mbx<GUID>Mailbox excluded from an organization-wide policyExclusionExpected
Suffix :1, :2 or :3Action: delete (or a label policy), retain, retain then deletePolicy settings; label policies always show :1Check each published label
InPlaceHolds emptyNo policy stamped on the mailboxOrganization-wide policies, or newer locations (Teams chats, private channels, Viva Engage, Copilot) that don't stampGet-OrganizationConfig and Policy lookup
ComplianceTagHoldApplied : TrueMailbox treated as on hold; mailbox and archive can't be disabledA retaining label was applied to an item or folder; the flag doesn't reset itselfSet-Mailbox <user> -RemoveComplianceTagHoldApplied -ProvideConsent when no longer needed
DelayHoldApplied : True30-day delay hold on mail after a hold was removedAny hold removed; it stays past 30 days while the account is disabledWait, or Set-Mailbox <user> -RemoveDelayHoldApplied (Legal Hold role)
DelayReleaseHoldApplied : TrueSame, for Teams, Forms and Viva Engage dataAny hold removed-RemoveDelayReleaseHoldApplied; add -InactiveMailbox for inactive mailboxes
Code or messageMeaningUsual causeFirst check
Start recording user and admin activityAuditing is offNot on by default for Business Basic, Standard and Premium or unmanaged trial tenants; or turned offSelect the banner; allow up to 60 minutes, and hours before events appear
UnifiedAuditLogIngestionEnabled : False (Exchange Online PowerShell)Auditing off; searches, the Management Activity API and Microsoft Sentinel get no dataAs aboveSet-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true (Audit Logs role)
The same value in Security & Compliance PowerShellNot meaningful thereThe property always reads False in that sessionCheck in Exchange Online PowerShell
Error for a date range over 180 daysRange too longMore than 180 days selectedShorten it; for a full 180 days, use the current time for the start. A range can't start before auditing was turned on
No results for an operationName not matchedOperation name typed incorrectlyCopy names from Microsoft's audit activities list
Can't start a search; jobs stay Queued or In ProgressJob limits10 parallel jobs per user, one unfiltered; broad searches can take up to 48 hoursWait for or delete a job; narrow dates, users and activities
Export stops at 50,000 rowsExport limit50,000 rows for Audit (Standard), 1,000,000 for Audit (Premium)Split the search, or use Search-UnifiedAuditLog or the Management Activity API
Recent activity missingNot ingested yetTypically 60–90 minutes for core services; no guaranteed timeSearch again later
Older records missingOutside retention180 days for Audit (Standard) (90 for records before 17 October 2023); one year for E5 users' Entra ID, Exchange and SharePoint activityAudit retention policies, or a SIEM for longer needs
Restricted admin misses eventsSearch scoped by administrative unitsSystem activity and some operations need an unrestricted adminUse an unrestricted admin account

How to verify a fix#

  1. Policies: rerun the distribution commands above. DistributionStatus should read Success and the details pane should show no error; see policy distribution errors for the full workflow.
  2. Coverage: Policy lookup for a test user, group or site lists exactly the policies you expect.
  3. Holds: Get-Mailbox shows only the holds you intend. For history, run Export-MailboxDiagnosticLogs <user> -ComponentName HoldTracking and convert the MailboxLog from JSON.
  4. Retention and records: confirm with an eDiscovery search rather than what users see in Teams or SharePoint; see retention not applying and records management in Purview.
  5. Audit: perform a test action and find it in a new search a couple of hours later. Search-UnifiedAuditLog -Operations Set-AdminAuditLogConfig shows who last changed the auditing status; more in searching the audit log.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)