{"id":7063107,"date":"2026-09-21T13:49:00","date_gmt":"2026-09-21T13:49:00","guid":{"rendered":"https:\/\/peraltafinancing.com\/uncategorized\/how-to-safely-clear-the-sharepoint-preservation-hold-library-to-reclaim-storage-space\/"},"modified":"2026-09-21T13:49:00","modified_gmt":"2026-09-21T13:49:00","slug":"how-to-safely-clear-the-sharepoint-preservation-hold-library-to-reclaim-storage-space","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=7063107","title":{"rendered":"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div id=\"\">\n<h2 class=\"wp-block-heading\">Introduction: When SharePoint Retention Becomes a Storage Problem<\/h2>\n<p class=\"wp-block-paragraph\">I recently ran into a SharePoint storage problem that took me a little while to get to the bottom of.<\/p>\n<p class=\"wp-block-paragraph\">We had deleted a significant amount of data from a SharePoint site and the recycle bins had been emptied, but the storage usage wasn\u2019t dropping the way I expected.<\/p>\n<p class=\"wp-block-paragraph\">That immediately made me start looking at where the storage was actually going.<\/p>\n<p class=\"wp-block-paragraph\">That\u2019s when I found the <strong>Preservation Hold Library (PHL)<\/strong>.<\/p>\n<p class=\"wp-block-paragraph\">If you\u2019ve never dealt with it before, the Preservation Hold Library is a hidden SharePoint system library that Microsoft 365 uses to retain content when retention policies or other compliance requirements apply.<\/p>\n<p class=\"wp-block-paragraph\">And it can get surprisingly large.<\/p>\n<p class=\"wp-block-paragraph\">In our case, the PHL had grown to <strong>around 800 GB on a site using approximately 1.2 TB of storage<\/strong>.<\/p>\n<p class=\"wp-block-paragraph\">That explained why deleting files from the normal SharePoint libraries wasn\u2019t having the effect I expected. A large amount of the data wasn\u2019t actually disappearing. SharePoint was retaining it because of the retention configuration.<\/p>\n<p class=\"wp-block-paragraph\">This article walks through how I found the problem, how I measured the Preservation Hold Library, how I worked out why the data was being retained, and the PowerShell approach I used to deal with it.<\/p>\n<p class=\"wp-block-paragraph\">This is not theory. This is a <strong>field-tested solution<\/strong> for IT professionals responsible for SharePoint storage, compliance, and Microsoft 365 governance.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">What Is the Preservation Hold Library (PHL)?<\/h2>\n<p class=\"wp-block-paragraph\">The <strong>Preservation Hold Library<\/strong> is a hidden system library created automatically when:<\/p>\n<ul class=\"wp-block-list\">\n<li>A retention policy applies to a SharePoint site<\/li>\n<li>A retention label with \u201cretain\u201d behavior is used<\/li>\n<li>Legal hold or eDiscovery retention is enforced<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">When users delete files under retention, SharePoint does <strong>not<\/strong> actually remove them. Instead:<\/p>\n<ul class=\"wp-block-list\">\n<li>The content is copied into the Preservation Hold Library<\/li>\n<li>The file is retained until the retention period expires<\/li>\n<li>The user believes the file is gone, but storage continues to be consumed<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">This design ensures compliance\u2014but it comes with a cost.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">Why Can the Preservation Hold Library Become So Large?<\/h2>\n<p class=\"wp-block-paragraph\">The PHL can become surprisingly large on busy SharePoint sites.<\/p>\n<p class=\"wp-block-paragraph\">Everyday collaboration can create a significant amount of retained data because users constantly:<\/p>\n<ul class=\"wp-block-list\">\n<li>Create files<\/li>\n<li>Modify files<\/li>\n<li>Replace documents<\/li>\n<li>Delete documents<\/li>\n<li>Move files<\/li>\n<li>Upload new versions<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">When retention applies, some of that activity can result in content being preserved.<\/p>\n<p class=\"wp-block-paragraph\">The problem becomes particularly noticeable when a site has been subject to retention for a long period or has experienced a large amount of file churn.<\/p>\n<p class=\"wp-block-paragraph\">Other situations that can contribute include:<\/p>\n<ul class=\"wp-block-list\">\n<li>Large migration projects<\/li>\n<li>Temporary project data<\/li>\n<li>Retention policies applied broadly across a tenant<\/li>\n<li>Retention policies being changed or removed<\/li>\n<li>Large amounts of document versioning<\/li>\n<li>Sites that have been heavily used for years<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">The result can be a SharePoint site where users have apparently cleaned everything up, while a large amount of retained data remains behind the scenes.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">Important Warning: This Is a Permanent Action<\/h2>\n<p class=\"wp-block-paragraph\">Before going any further, this must be crystal clear:<\/p>\n<p class=\"wp-block-paragraph\">Important \u2013  <strong>Deleting content from the Preservation Hold Library permanently removes retained data and bypasses the recycle bin.<\/strong><\/p>\n<p class=\"wp-block-paragraph\">You should <strong>only proceed if<\/strong>:<\/p>\n<ul class=\"wp-block-list\">\n<li>The retention policy has been removed or expired<\/li>\n<li>Legal, compliance, and records teams have approved the deletion<\/li>\n<li>You understand the regulatory implications for your organization<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">In regulated industries (finance, health, government), this step should be documented and approved formally.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">Why Microsoft Doesn\u2019t Provide a \u201cClean Up\u201d Button<\/h2>\n<p class=\"wp-block-paragraph\">A common question I get is:<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>\u201cWhy isn\u2019t there a Microsoft-supported way to clean this up?\u201d<\/em><\/p>\n<\/blockquote>\n<p class=\"wp-block-paragraph\">The answer is risk.<\/p>\n<p class=\"wp-block-paragraph\">Microsoft deliberately avoids providing UI-based deletion tools for retained data because:<\/p>\n<ul class=\"wp-block-list\">\n<li>Retention is often tied to legal obligations<\/li>\n<li>Accidental deletion could invalidate legal holds<\/li>\n<li>Automation could conflict with eDiscovery processes<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">That leaves experienced IT admins with <strong>PowerShell<\/strong> as the only viable option.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2 class=\"wp-block-heading\">The Approach: Using PnP.PowerShell<\/h2>\n<p class=\"wp-block-paragraph\">The <strong>PnP.PowerShell<\/strong> module provides the necessary control to:<\/p>\n<ul class=\"wp-block-list\">\n<li>Access hidden SharePoint system libraries<\/li>\n<li>Enumerate large numbers of list items<\/li>\n<li>Permanently delete items without recycling<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">This script is designed to:<\/p>\n<ul class=\"wp-block-list\">\n<li>Process items in batches<\/li>\n<li>Provide clear warnings<\/li>\n<li>Require explicit confirmation<\/li>\n<li>Permanently delete items (Recycle Bin bypassed)<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Before deleting anything, <strong>prove that the Preservation Hold Library is the problem<\/strong>.<\/p>\n<p class=\"wp-block-paragraph\">This is an important diagnostic step because SharePoint storage can also be consumed by:<\/p>\n<ul class=\"wp-block-list\">\n<li>Document versions<\/li>\n<li>Recycle bins<\/li>\n<li>Teams files<\/li>\n<li>Site Assets<\/li>\n<li>Large media files<\/li>\n<li>Other SharePoint libraries<\/li>\n<li>Archived project data<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Don\u2019t assume the PHL is responsible just because the site has a retention policy.<\/p>\n<h2 class=\"wp-block-heading\">Check the site\u2019s storage<\/h2>\n<p class=\"wp-block-paragraph\">Start in the <strong>SharePoint admin centre<\/strong> and review the storage used by the affected site.<\/p>\n<p class=\"wp-block-paragraph\">Record the current storage figure.<\/p>\n<p class=\"wp-block-paragraph\">For example:<\/p>\n<pre class=\"wp-block-code\"><code>Site storage: 1.20 TB<\/code><\/pre>\n<p class=\"wp-block-paragraph\">You can then compare this with the size of the Preservation Hold Library.<\/p>\n<h2 class=\"wp-block-heading\">Measure the Preservation Hold Library<\/h2>\n<p class=\"wp-block-paragraph\">Connect to the affected SharePoint site using PnP.PowerShell and run:<\/p>\n<pre class=\"wp-block-code\"><code>Get-PnPFolderStorageMetric -List \"PreservationHoldLibrary\"<\/code><\/pre>\n<p class=\"wp-block-paragraph\">This provides storage information for the library.<\/p>\n<p class=\"wp-block-paragraph\">For example, you might discover:<\/p>\n<pre class=\"wp-block-code\"><code>Site storage:                 1.20 TB\nPreservation Hold Library:    800 GB<\/code><\/pre>\n<p class=\"wp-block-paragraph\">At that point you have a much stronger indication that retention data is contributing significantly to the storage problem.<\/p>\n<p class=\"wp-block-paragraph\">If your investigation resulted in hundreds of gigabytes or terabytes being identified, put those figures in the article. Real numbers demonstrate the scale of the problem far better than simply saying the library had \u201cgrown out of control.\u201d<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">The Preservation Hold Library is hidden from normal SharePoint navigation.<\/p>\n<p class=\"wp-block-paragraph\">If you have appropriate administrative permissions, you can access it directly using:<\/p>\n<pre class=\"wp-block-code\"><code>https:\/\/tenant.sharepoint.com\/sites\/SiteName\/PreservationHoldLibrary<\/code><\/pre>\n<p class=\"wp-block-paragraph\">Replace <code>tenant<\/code> and <code>SiteName<\/code> with the appropriate values for your environment.<\/p>\n<p class=\"wp-block-paragraph\">This is useful for confirming that the library exists and understanding the type and volume of content being retained.<\/p>\n<p class=\"wp-block-paragraph\">You should still treat this as a <strong>system compliance location<\/strong>, not as a normal document library.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">Finding a large PHL is only half the investigation.<\/p>\n<p class=\"wp-block-paragraph\">The next question is:<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>What retention policy or hold is causing this content to be retained?<\/strong><\/p>\n<\/blockquote>\n<p class=\"wp-block-paragraph\">Before removing anything, check Microsoft Purview for policies and holds affecting the SharePoint site.<\/p>\n<p class=\"wp-block-paragraph\">Look for:<\/p>\n<ul class=\"wp-block-list\">\n<li>Retention policies<\/li>\n<li>Retention labels<\/li>\n<li>eDiscovery holds<\/li>\n<li>Other compliance controls affecting the site<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">A site may be affected by more than one retention mechanism, so don\u2019t assume that removing a single policy automatically makes all retained content eligible for deletion.<\/p>\n<p class=\"wp-block-paragraph\">This is also where you need to involve your compliance, records or legal teams where appropriate.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">If the retention requirement has ended, the preferred approach is normally to remove the site from the applicable retention scope and allow Microsoft 365\u2019s retention processing to handle the expired content.<\/p>\n<p class=\"wp-block-paragraph\">This is considerably safer than immediately trying to delete the contents of the Preservation Hold Library yourself.<\/p>\n<p class=\"wp-block-paragraph\">It is also important to set expectations.<\/p>\n<p class=\"wp-block-paragraph\"><strong>The storage will not necessarily drop immediately.<\/strong><\/p>\n<p class=\"wp-block-paragraph\">Retention processing happens in the background, and Microsoft documents that cleanup can take time after content becomes eligible.<\/p>\n<p class=\"wp-block-paragraph\">That means removing a retention policy today does not necessarily mean that hundreds of gigabytes of storage will disappear tomorrow.<\/p>\n<p class=\"wp-block-paragraph\">If the content is legitimately no longer required, allow the Microsoft 365 retention process to complete before considering more aggressive administrative action.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">There are situations where an administrator may need to investigate the PHL further after the retention requirement has ended.<\/p>\n<p class=\"wp-block-paragraph\">For example:<\/p>\n<ul class=\"wp-block-list\">\n<li>The applicable retention policy has been removed<\/li>\n<li>The site is no longer subject to a hold<\/li>\n<li>Compliance has confirmed that the content can be removed<\/li>\n<li>The normal retention processing period has passed<\/li>\n<li>Storage remains unexpectedly high<\/li>\n<li>You have documented approval for the proposed action<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">At this point, PowerShell can be useful for inspecting and administering SharePoint content.<\/p>\n<p class=\"wp-block-paragraph\">However, this is where it is important to understand the distinction between <strong>what PowerShell can technically attempt<\/strong> and <strong>what Microsoft recommends as the normal retention workflow<\/strong>.<\/p>\n<p class=\"wp-block-paragraph\">The Preservation Hold Library is a compliance mechanism. It should not be treated as an ordinary SharePoint library that can simply be emptied whenever storage gets high.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">There is another important consideration before running any PowerShell against SharePoint.<\/p>\n<p class=\"wp-block-paragraph\">If you find older PnP.PowerShell examples online, you will often see:<\/p>\n<pre class=\"wp-block-code\"><code>Connect-PnPOnline -Url $SiteUrl -Interactive<\/code><\/pre>\n<p class=\"wp-block-paragraph\">On current versions of PnP.PowerShell, interactive authentication requires an Entra ID application registration unless you have configured a default client ID.<\/p>\n<p class=\"wp-block-paragraph\">This means that simply copying an old script and running it can result in an authentication error before the script even reaches SharePoint.<\/p>\n<h2 class=\"wp-block-heading\">Install PnP.PowerShell<\/h2>\n<p class=\"wp-block-paragraph\">If required:<\/p>\n<pre class=\"wp-block-code\"><code>Install-Module PnP.PowerShell -Scope CurrentUser<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Register an Entra application<\/h2>\n<p class=\"wp-block-paragraph\">PnP.PowerShell provides a command for registering an application for interactive login:<\/p>\n<pre class=\"wp-block-code\"><code>Register-PnPEntraIDAppForInteractiveLogin `\n    -ApplicationName \"PnP SharePoint Admin\" `\n    -Tenant \"tenant.onmicrosoft.com\"<\/code><\/pre>\n<p class=\"wp-block-paragraph\">Alternatively, you can register the application yourself through Microsoft Entra ID and configure the required SharePoint permissions according to your organization\u2019s security requirements.<\/p>\n<p class=\"wp-block-paragraph\">Once you have the application\/client ID, connect using:<\/p>\n<pre class=\"wp-block-code\"><code>Connect-PnPOnline `\n    -Url $SiteUrl `\n    -Interactive `\n    -ClientId \"YOUR-ENTRA-APP-CLIENT-ID\"<\/code><\/pre>\n<p class=\"wp-block-paragraph\">Replace <code>YOUR-ENTRA-APP-CLIENT-ID<\/code> with the client ID of your Entra application.<\/p>\n<p class=\"wp-block-paragraph\"><strong>Test this connection before attempting any cleanup.<\/strong><\/p>\n<p class=\"wp-block-paragraph\">If authentication does not work, there is no point troubleshooting the deletion script.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">Once connected, start by measuring the library:<\/p>\n<pre class=\"wp-block-code\"><code>$LibraryName = \"PreservationHoldLibrary\"\n\nGet-PnPFolderStorageMetric -List $LibraryName<\/code><\/pre>\n<p class=\"wp-block-paragraph\">You can also enumerate the library\u2019s contents:<\/p>\n<pre class=\"wp-block-code\"><code>Get-PnPListItem `\n    -List $LibraryName `\n    -PageSize 500 `\n    -ScriptBlock {\n        param($items)\n        $items.Context.ExecuteQuery()\n    } |\n    Select-Object Id, FileSystemObjectType<\/code><\/pre>\n<p class=\"wp-block-paragraph\">The important detail here is how <code>-PageSize<\/code> works.<\/p>\n<p class=\"wp-block-paragraph\"><code>-PageSize 500<\/code> means that PnP retrieves the underlying SharePoint results in pages of up to 500 items. It does <strong>not<\/strong> mean that <code>Get-PnPListItem<\/code> returns only 500 items and then stops.<\/p>\n<p class=\"wp-block-paragraph\">The <code>-ScriptBlock<\/code> allows processing to occur as each page is retrieved.<\/p>\n<p class=\"wp-block-paragraph\">This approach is much more appropriate when dealing with a library containing a large number of items because you avoid repeatedly requesting the entire library just to process another batch.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">If your organization has explicitly approved direct administrative cleanup, the following script provides a controlled way to process the library.<\/p>\n<p class=\"wp-block-paragraph\">It:<\/p>\n<ul class=\"wp-block-list\">\n<li>Connects using the current PnP authentication method<\/li>\n<li>Measures the PHL before starting<\/li>\n<li>Requires explicit confirmation<\/li>\n<li>Processes SharePoint results in pages<\/li>\n<li>Permanently deletes items rather than recycling them<\/li>\n<li>Counts successful and failed operations<\/li>\n<li>Reports progress while it runs<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>$SiteUrl = \"https:\/\/tenant.sharepoint.com\/sites\/SiteName\"\n$ClientId = \"YOUR-ENTRA-APP-CLIENT-ID\"\n$LibraryName = \"PreservationHoldLibrary\"\n$PageSize = 500\n\nConnect-PnPOnline `\n    -Url $SiteUrl `\n    -Interactive `\n    -ClientId $ClientId `\n    -ErrorAction Stop\n\nWrite-Host \"Connected to $SiteUrl\" -ForegroundColor Green\n\n# Display current storage metrics\nWrite-Host \"`nCurrent Preservation Hold Library storage:\" -ForegroundColor Cyan\n\n$metric = Get-PnPFolderStorageMetric -List $LibraryName\n\n$metric | Format-List\n\nWrite-Host \"\"\nWrite-Host \"WARNING: This is a destructive operation.\" -ForegroundColor Red\nWrite-Host \"Only continue if all retention, legal and compliance requirements have been cleared.\" -ForegroundColor Yellow\n\n$confirm = Read-Host \"Type DELETE to continue\"\n\nif ($confirm -ne \"DELETE\") {\n    Write-Host \"Operation cancelled.\" -ForegroundColor Yellow\n    Disconnect-PnPOnline\n    exit\n}\n\n$deleted = 0\n$failed = 0\n\nGet-PnPListItem `\n    -List $LibraryName `\n    -PageSize $PageSize `\n    -ScriptBlock {\n        param($items)\n        $items.Context.ExecuteQuery()\n    } |\n    ForEach-Object {\n\n        try {\n\n            Remove-PnPListItem `\n                -List $LibraryName `\n                -Identity $_.Id `\n                -Force `\n                -Recycle:$false `\n                -ErrorAction Stop\n\n            $deleted++\n\n            if (($deleted % 100) -eq 0) {\n                Write-Host \"Processed $deleted items...\" -ForegroundColor Gray\n            }\n        }\n        catch {\n\n            $failed++\n\n            Write-Host `\n                \"Failed to delete item $($_.Id): $($_.Exception.Message)\" `\n                -ForegroundColor Red\n        }\n    }\n\nWrite-Host \"\"\nWrite-Host \"Processing complete.\" -ForegroundColor Green\nWrite-Host \"Deleted: $deleted\"\nWrite-Host \"Failed:  $failed\"\n\nDisconnect-PnPOnline<\/code><\/pre>\n<h2 class=\"wp-block-heading\">What the script is doing<\/h2>\n<p class=\"wp-block-paragraph\">The script deliberately processes the library as a stream of paged results rather than repeatedly querying the entire library.<\/p>\n<p class=\"wp-block-paragraph\">The important part is:<\/p>\n<pre class=\"wp-block-code\"><code>Get-PnPListItem `\n    -List $LibraryName `\n    -PageSize $PageSize `\n    -ScriptBlock {\n        param($items)\n        $items.Context.ExecuteQuery()\n    }<\/code><\/pre>\n<p class=\"wp-block-paragraph\">Each returned item is then passed to:<\/p>\n<pre class=\"wp-block-code\"><code>Remove-PnPListItem `\n    -List $LibraryName `\n    -Identity $_.Id `\n    -Force `\n    -Recycle:$false<\/code><\/pre>\n<p class=\"wp-block-paragraph\">The <code>-Recycle:$false<\/code> parameter requests permanent deletion instead of sending the item to the SharePoint recycle bin.<\/p>\n<p class=\"wp-block-paragraph\">However, <strong>this does not override Microsoft\u2019s retention protections<\/strong>.<\/p>\n<p class=\"wp-block-paragraph\">If SharePoint determines that content must still be retained, deletion can fail.<\/p>\n<p class=\"wp-block-paragraph\">That is why the compliance and retention investigation must happen before this script is considered.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">Save the script as:<\/p>\n<pre class=\"wp-block-code\"><code>Clear-PreservationHoldLibrary.ps1<\/code><\/pre>\n<p class=\"wp-block-paragraph\">Open PowerShell using an account with the appropriate SharePoint permissions.<\/p>\n<p class=\"wp-block-paragraph\">Then run:<\/p>\n<pre class=\"wp-block-code\"><code>.\\Clear-PreservationHoldLibrary.ps1<\/code><\/pre>\n<p class=\"wp-block-paragraph\">The script will connect to the SharePoint site, display the current PHL storage metrics and ask you to type:<\/p>\n<pre class=\"wp-block-code\"><code>DELETE<\/code><\/pre>\n<p class=\"wp-block-paragraph\">before processing the library.<\/p>\n<p class=\"wp-block-paragraph\">Do not automate that confirmation away in a production environment unless your change-control process specifically requires it.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">Large SharePoint libraries can contain thousands or even hundreds of thousands of items.<\/p>\n<p class=\"wp-block-paragraph\">If you encounter throttling or transient failures:<\/p>\n<ul class=\"wp-block-list\">\n<li>Reduce the page size<\/li>\n<li>Consider running the operation during quieter periods<\/li>\n<li>Monitor the number of failed operations<\/li>\n<li>Investigate repeated failures rather than simply rerunning the script blindly<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">For example, you can reduce:<\/p>\n<pre class=\"wp-block-code\"><code>$PageSize = 500<\/code><\/pre>\n<p class=\"wp-block-paragraph\">to:<\/p>\n<pre class=\"wp-block-code\"><code>$PageSize = 200<\/code><\/pre>\n<p class=\"wp-block-paragraph\">The page size controls how results are retrieved. It is not a guarantee that exactly that number of files will be deleted in each operation.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">Don\u2019t finish the job when the PowerShell window says \u201cProcessing complete.\u201d<\/p>\n<p class=\"wp-block-paragraph\">Measure the environment again.<\/p>\n<p class=\"wp-block-paragraph\">Check:<\/p>\n<ol start=\"1\" class=\"wp-block-list\">\n<li>SharePoint site storage<\/li>\n<li>Preservation Hold Library storage<\/li>\n<li>Item count<\/li>\n<li>Recycle bin contents where applicable<\/li>\n<li>Any remaining retention or hold configuration<\/li>\n<\/ol>\n<p class=\"wp-block-paragraph\">For example:<\/p>\n<pre class=\"wp-block-code\"><code>Get-PnPFolderStorageMetric -List \"Preservation Hold Library\"<\/code><\/pre>\n<p class=\"wp-block-paragraph\">Record the result.<\/p>\n<p class=\"wp-block-paragraph\">Also remember that SharePoint storage reporting can take time to catch up with changes.<\/p>\n<p class=\"wp-block-paragraph\">Keep before-and-after measurements so you can demonstrate exactly what changed.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">Treat the removal of retained content with the same level of care you would apply to deleting backups or other critical business data.<\/p>\n<p class=\"wp-block-paragraph\">Record:<\/p>\n<ul class=\"wp-block-list\">\n<li>The affected SharePoint site<\/li>\n<li>The original storage consumption<\/li>\n<li>PHL storage consumption<\/li>\n<li>The retention policy or hold that caused the retention<\/li>\n<li>The reason the content was eligible for removal<\/li>\n<li>Compliance\/records approval<\/li>\n<li>Date and time of the change<\/li>\n<li>Number of items processed<\/li>\n<li>Number of failed deletions<\/li>\n<li>Storage consumption after cleanup<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">This gives you an audit trail if the decision is questioned later.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">Do <strong>not<\/strong> attempt direct cleanup if:<\/p>\n<ul class=\"wp-block-list\">\n<li>A retention policy still applies<\/li>\n<li>Retention labels are still protecting the content<\/li>\n<li>An eDiscovery or legal hold is active<\/li>\n<li>Litigation or regulatory requirements are ongoing<\/li>\n<li>You are unsure why the content exists<\/li>\n<li>Compliance or records teams have not approved the action<\/li>\n<li>You have not confirmed that the PHL is actually responsible for the storage problem<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">The Preservation Hold Library is a <strong>compliance mechanism<\/strong>, not a second recycle bin.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<p class=\"wp-block-paragraph\">The Preservation Hold Library is one of those SharePoint features that works exactly as Microsoft designed it, but can still catch IT teams completely off guard.<\/p>\n<p class=\"wp-block-paragraph\">The important lesson is that a SharePoint storage problem should be <strong>diagnosed before it is treated<\/strong>.<\/p>\n<p class=\"wp-block-paragraph\">First, identify where the storage is being consumed.<\/p>\n<p class=\"wp-block-paragraph\">Then determine whether the Preservation Hold Library is responsible.<\/p>\n<p class=\"wp-block-paragraph\">Next, establish which retention policy, label or hold is causing the content to be retained.<\/p>\n<p class=\"wp-block-paragraph\">If the retention requirement has ended, the safest approach is generally to allow Microsoft\u2019s normal retention processing to perform the cleanup.<\/p>\n<p class=\"wp-block-paragraph\">Only after the retention state has been properly investigated and the appropriate approvals obtained should you consider direct administrative intervention.<\/p>\n<p class=\"wp-block-paragraph\">In my case, the investigation showed that 800GB of storage was tied up in the Preservation Hold Library. After the appropriate retention requirements were cleared and the cleanup process was completed, 800GB of storage was recovered.<\/p>\n<p class=\"wp-block-paragraph\">Those numbers tell the real story.<\/p>\n<p class=\"wp-block-paragraph\">SharePoint retention is doing its job. The challenge for administrators is understanding what it is retaining, where that data is stored, and when it is legitimately safe for that data to disappear.<\/p>\n<p class=\"wp-block-paragraph\"><strong>Compliance first. Cleanup second.<\/strong><\/p>\n<div class=\"saboxplugin-wrap\" itemtype=\"http:\/\/schema.org\/Person\" itemscope=\"\" itemprop=\"author\">\n<div class=\"saboxplugin-tab\">\n<div class=\"saboxplugin-gravatar\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/supertechman.com.au\/wp-content\/uploads\/2026\/01\/Headshot2.webp\" width=\"100\" height=\"100\" alt=\"\" itemprop=\"image\"\/><\/div>\n<div class=\"saboxplugin-desc\">\n<div itemprop=\"description\">\n<p>From my early days on the helpdesk through roles as a service desk manager, systems administrator, and network engineer, I\u2019ve spent more than 25 years in the IT world. As I transition into cyber security, my goal is to make tech a little less confusing by sharing what I\u2019ve learned and helping others wherever I can.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<nav class=\"navigation post-navigation\" aria-label=\"Posts\">\n<h2 class=\"screen-reader-text\">Post navigation<\/h2>\n<\/nav><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Introduction: When SharePoint Retention Becomes a Storage Problem I recently ran into a SharePoint storage problem that took me a little while to get to the bottom of. We had deleted a significant amount of data from a SharePoint site and the recycle bins had been emptied, but the storage usage wasn\u2019t dropping the way [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7063108,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[224899],"tags":[2312,3094,5129,15051,3908,23149,77841,1467,909],"dealstore":[],"offerexpiration":[],"class_list":["post-7063107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-365-and-azure","tag-clear","tag-hold","tag-library","tag-preservation","tag-reclaim","tag-safely","tag-sharepoint","tag-space","tag-storage"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space - Som2ny Network<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fivemor.com\/?p=7063107\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"Introduction: When SharePoint Retention Becomes a Storage Problem I recently ran into a SharePoint storage problem that took me a little while to get to the bottom of. We had deleted a significant amount of data from a SharePoint site and the recycle bins had been emptied, but the storage usage wasn\u2019t dropping the way [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=7063107\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-21T13:49:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=7063107#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=7063107\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space\",\"datePublished\":\"2026-09-21T13:49:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=7063107\"},\"wordCount\":2279,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=7063107#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp\",\"keywords\":[\"Clear\",\"Hold\",\"Library\",\"Preservation\",\"Reclaim\",\"Safely\",\"SharePoint\",\"Space\",\"Storage\"],\"articleSection\":[\"Microsoft 365 and Azure\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=7063107#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=7063107\",\"url\":\"https:\/\/fivemor.com\/?p=7063107\",\"name\":\"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=7063107#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=7063107#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp\",\"datePublished\":\"2026-09-21T13:49:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=7063107#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=7063107\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=7063107#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=7063107#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space - Som2ny Network","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fivemor.com\/?p=7063107","og_locale":"en_US","og_type":"article","og_title":"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space - Som2ny Network","og_description":"Introduction: When SharePoint Retention Becomes a Storage Problem I recently ran into a SharePoint storage problem that took me a little while to get to the bottom of. We had deleted a significant amount of data from a SharePoint site and the recycle bins had been emptied, but the storage usage wasn\u2019t dropping the way [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=7063107","og_site_name":"Som2ny Network","article_published_time":"2026-09-21T13:49:00+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp","type":"image\/webp"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=7063107#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=7063107"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space","datePublished":"2026-09-21T13:49:00+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=7063107"},"wordCount":2279,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=7063107#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp","keywords":["Clear","Hold","Library","Preservation","Reclaim","Safely","SharePoint","Space","Storage"],"articleSection":["Microsoft 365 and Azure"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=7063107#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=7063107","url":"https:\/\/fivemor.com\/?p=7063107","name":"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=7063107#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=7063107#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp","datePublished":"2026-09-21T13:49:00+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=7063107#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=7063107"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=7063107#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/09\/Clear-the-SharePoint-Preservation-Hold-Library.webp.webp","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=7063107#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"How to Safely Clear the SharePoint Preservation Hold Library to Reclaim Storage Space"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/7063107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7063107"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/7063107\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/7063108"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7063107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7063107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7063107"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=7063107"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=7063107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}