About this article: AI-assisted writing, reviewed against the cited sources. This is source research, not a lab validation of the procedures. Check the stated versions and your own recovery requirements before making changes.
Microsoft 365 gives you several short recovery windows and a separate compliance system. Its native rollbacks work per library or per OneDrive for 30 days, and none of these is a tenant-wide point-in-time restore. A deleted mail item is recoverable for 14 days by default and at most 30, while unheld calendar items have a 120-day recovery retention window. A deleted SharePoint item has 93 days across two recycle bins. Retention keeps a copy that is reached through compliance tools, and Microsoft says of holds that they are "optimized for export (for example, via eDiscovery), not for mass restore".
If you need to put a tenant back after mass deletion, you need a tool built for it, and a Graph-based tool is bound by throttling limits you can calculate in advance.
The commands below were not run in a lab. Mailbox names and addresses are examples. They are reference material, not a ready-to-run procedure, until a qualified engineer has checked them on a test tenant.
Recommendations and interpretations are editorial unless attributed; source research is not lab validation.
Why it matters
Microsoft's answer to whether its shared responsibility position has changed is "No". The same page separates three things that are often merged:
- A disaster recovery copy "maintains the current state of content, not any historical versions". An encrypted file replicates as an encrypted file.
- Versions "don't scale well" for an administrator-led recovery, and "might also be exhausted" by the version limit.
- Legal holds retain data but are built for export.
The practical failure is finding out during an incident that the data exists but cannot be returned to where users need it, in its original structure, in the time available.
How it works
What each layer holds
| Layer | Holds | Window | Restored by |
|---|---|---|---|
| Recoverable Items\Deletions | Soft-deleted mail | 14 days default, 30 maximum | User, through Recover Deleted Items |
| Recoverable Items\Purges | Items purged by a user or an automated process | Until the deleted item retention period expires, unless on hold | Administrator only |
| Versions and DiscoveryHolds | Copies kept by a hold or retention policy | As the hold or policy says | eDiscovery tools; DiscoveryHolds also by cmdlet, below |
| SubstrateHolds | Teams messages under retention | As the policy says | Searchable with eDiscovery tools |
| SharePoint recycle bins | Deleted files and items | 93 days from the original deletion | User, then site collection administrator |
| Version history | Earlier file versions | Library limits | File users |
| Preservation Hold library | Retained copies | As the policy or label says | Compliance tools, not interactive use |
| Restore your OneDrive | The whole OneDrive at an earlier time | Last 30 days | OneDrive owner |
| Restore this library | One SharePoint or Teams document library at an earlier time | Last 30 days | Site admins |
| Deleted site | Site and contents | 93 days | SharePoint administrator |
| Deleted user and mailbox | Account and soft-deleted mailbox | 30 days | Administrator |
Those windows run independently, so one deleted user can have different deadlines for the account, the mailbox and the OneDrive. The OneDrive retention period for deleted users is configurable from 30 to 3,650 days.
Exchange Online
Deleting a message moves it to Deleted Items. Removing it from there, or pressing Shift+Delete, is a soft delete into Recoverable Items\Deletions. If a user or an automated process then removes it from Deletions, it goes to Purges, where the user cannot reach it. That applies where Litigation Hold or single item recovery is enabled.
Single item recovery is on by default for new Exchange Online mailboxes. It must be enabled before the deletion, so changing it during an incident does not help items already gone. To lengthen the window to the maximum:
Plan mailbox-retention changes separately, with the required privileges, applicable holds and an explicit retention decision. Inspect the current state before changing a live mailbox.
Three limits matter more than the retention period:
Folders are not items. If a user presses Shift+Delete on a user-created folder, or deletes a folder inside Deleted Items, the folder is hard deleted and "can't be recovered even if the mailbox is placed on litigation hold or in-place hold". Its contents go to Recoverable Items\Deletions. You get the messages back without the folder that organised them.
Recoverable Items has its own quota. The default is a 20 GB warning and 30 GB hard limit, raised to 90 GB and 100 GB on hold or under a retention policy. Each folder is limited to 3 million messages. When a mailbox that is not on hold reaches the warning quota, the Managed Folder Assistant purges items oldest first, so a burst of deletion can shorten the real window to less than the configured one. At the hard quota, users cannot delete items and edited versions cannot be kept.
To check, use FolderSize for each folder. Microsoft warns against relying on FolderAndSubfolderSize, which can include internal search folders:
Get-MailboxFolderStatistics -Identity "Sam Example" -FolderScope RecoverableItems
Retention does not cover everything in a mailbox. Contacts, and tasks and calendar items without an end date, are not supported, and retention settings need at least 10 MB of data in the mailbox.
An administrator can find and restore deleted items with Get-RecoverableItems and Restore-RecoverableItems. Both need the Mailbox Import Export role, which is assigned to no role group by default. Assign it before you need it. -SourceFolder accepts DeletedItems, RecoverableItems, PurgedItems or, in the cloud, DiscoveryHoldsItems, hard-deleted items protected by a hold. Test that last one first.
# Look first. This changes nothing.
Get-RecoverableItems -Identity "Sam Example" -SourceFolder PurgedItems -FilterItemType IPM.Note -SubjectContains "FY26 budget"
Restored items return to the original folder if that information is available, otherwise the default folder for the item type. Test on one message and confirm where it lands before running a wider filter.
SharePoint and OneDrive
Recycle bins hold deleted items for 93 days, starting at the original deletion. Deleting from the site recycle bin moves the item to the site collection recycle bin for the remainder of that period, so the second stage does not add time.
Version history depends on library settings. When versions exceed the library limits they are marked for permanent deletion, bypass the recycle bin and can't be recovered from it.
Retention adds a Preservation Hold library, a hidden system location. Microsoft states it is not supported to edit, delete or move those files, and points you to compliance tools such as eDiscovery. The same page sets out limits that decide whether it helps at all:
- Retention "don't apply to organizing structures that include libraries, lists, folders, and Loop workspaces".
- List items are not supported by retention policies, though labels can cover them.
- New content is not copied on its first edit, and all versions need versioning switched on for the site.
A retained copy therefore comes back without its library, folder path or permissions being reconstructed by retention. Users do see an error if they try to delete a library, list or site under retention, which is useful protection against the deletion but says nothing about the content being encrypted in place.
For mass encryption or deletion, a site owner's first tool is Restore this library. It undoes file and folder actions from the last 30 days. Only site admins can start it, and it depends on version history and the recycle bin, so a library with versioning off cannot go back to earlier versions.
Teams
Teams has two separate data paths. Message retention stores copies in hidden mailbox folders, and a deleted message reaches SubstrateHolds after 21 days, where it remains searchable by eDiscovery. The page describes search and permanent deletion. It does not describe putting a message back into a chat.
Code snippets, voice memos, thumbnails, announcement images and reactions aren't retained. Emails and files used with Teams are outside Teams policies altogether, and follow group mailbox and SharePoint or OneDrive locations.
Accounts and containers
A deleted user is restorable for 30 days. After that, permanent deletion starts and cannot be stopped, and neither you nor Microsoft Support can restore the user.
A former employee's mail is kept beyond that by an inactive mailbox. Confirm the hold first, because if it was not applied, the mailbox does not become inactive.
Sites connected to a Microsoft 365 group are a trap: the site is kept 93 days, the other group resources for only 30. Restoring a group-connected site restores the group and its resources. If those have already gone, the path Microsoft gives is Remove-SPODeletedSite, which permanently deletes the site, so treat day 30 as the real deadline for those sites. Deleted sites can be restored in the admin centre or with:
Get-SPODeletedSite
What Microsoft 365 Backup changes
Microsoft 365 Backup is a paid service, listed at $0.15 per GiB per month with free restores on 10 November 2026. The page does not state a currency, so check the price for your agreement before budgeting. It covers SharePoint sites, OneDrive accounts and Exchange mailboxes. Those are the only services its overview lists, so plan on Teams chat not being included.
Key limits from the overview and FAQ:
- The recovery window is configurable: up to 10 years for OneDrive and SharePoint, and up to 2 years for Exchange. The Exchange recovery point row reads "10 minutes for prior 52 weeks", and the page does not explain the difference.
- Full OneDrive and site restores can go to the same or a new URL. Mailbox restores go to the same or a new folder, and return only modified or deleted items.
- Selected files and folders can only be restored from recovery points in the most recent 14 days. Older points support full account or site restore only.
- A full site restore rolls back, "overwriting all content and metadata since that prior point in time".
- User and shared mailboxes are supported. Room and group mailboxes are not.
- Backups are immutable "unless expressly deleted by the Backup tool admin via product offboarding", and the data stays inside the Microsoft 365 trust boundary. It is not a separately controlled off-platform copy. Assess the documented administrator, offboarding and retention safeguards for the failure scenario you need to survive.
Microsoft publishes restore speeds: up to 1,000 average-sized accounts, sites or mailboxes at "a median rate of up to 1-3 TiB per hour", depending on item counts and size. High speeds come from express restore points, not necessarily ad-hoc ones. For mailboxes, it says actual performance ranges between 100 and 500 items per mailbox per minute. Set those vendor medians against the arithmetic below.
Graph API throttling
Third-party backup products commonly read and write through Microsoft Graph. Ask each vendor which interface it uses: Exchange Web Services, the older one, is being disabled tenant by tenant from October 2026, with complete shutdown in 2027. (Notice updated 27 October 2026.) Graph returns HTTP 429 with a Retry-After header. The documented response is to wait that number of seconds and retry. If no header arrives, Microsoft recommends exponential backoff. Immediate retries still count against your limits.
Limits apply concurrently, and the first one reached wins.
| Scope | Published limit |
|---|---|
| Any Graph request, per app across all tenants | 130,000 requests per 10 seconds |
| Outlook, per app and mailbox | 10,000 requests per 10 minutes |
| Outlook, per app and mailbox | Four concurrent requests |
| Outlook, per app and mailbox | 150 MB uploaded per 5 minutes |
| SharePoint, per app per tenant, up to 1,000 licences | 1,250 resource units per minute, 1,200,000 per 24 hours |
| Same, 1,001 to 5,000 licences | 2,500 per minute, 2,400,000 per 24 hours |
| Same, 5,001 to 15,000 licences | 3,750 per minute, 3,600,000 per 24 hours |
| Same, 15,001 to 50,000 licences | 5,000 per minute, 4,800,000 per 24 hours |
| Same, over 50,000 licences | 6,250 per minute, 6,000,000 per 24 hours |
| SharePoint, per app per tenant | 400 GB ingress and 400 GB egress per hour |
| SharePoint, whole tenant, 1,000 licences up to over 50,000 | 18,750, 37,500, 56,250, 75,000 and 93,750 resource units per 5 minutes, in the same bands |
SharePoint costs through Graph are 1 unit for a single item query, a delta with a token, or a file download. Listing children, delta without a token, create, update, delete and upload cost 2. Permission operations cost 5. Each application has its own limit in a tenant, while all applications ultimately share the tenant's resources. Microsoft specifically says not to create separate AppIDs for operations such as backup, because that exhausts the tenant and throttles every application in it.
The arithmetic for a restore is sobering (our arithmetic, at the published ceiling, ignoring every other cost). It assumes ordinary Graph calls, and that choice matters. Mailbox items can also go through an import session that posts to outlook.office365.com, and that page states no throttling limit, so whether 150 MB applies is unsettled. SharePoint has a separate Migration API for bulk writes. Ask each vendor which write path it uses.
- Mailbox restore. 50 GB, taken as 50,000 MB, at 150 MB per 5 minutes is 334 windows, or about 28 hours per mailbox. Parallel mailboxes help, because limits are per app and mailbox, but one large mailbox cannot be hurried.
- Mailbox read. 300,000 items at one request each is 30 windows of 10 minutes, about 5 hours. List and delta calls return pages, so a tool that reads that way needs fewer requests.
- SharePoint restore. One million files at 2 units is 2,000,000 units. A tenant under 1,000 licences gets 1,200,000 per day, so about 1.7 daily quota budgets before permissions are counted. Actual elapsed time depends on window boundaries, other demand and service enforcement.
Batching does not buy capacity. Requests in a batch are evaluated individually. The batch returns 200 while inner requests fail with 429, and SDKs do not automatically retry those inner failures. A backup log that treats the 200 as success has a silent gap.
Change tracking avoids repeat scans. Delta with a token costs 1 unit, but tokens can expire:
- A 410 Gone with a
Locationheader means a full resynchronisation of the target. - For Outlook entities the token's lifetime is not fixed, because old tokens are evicted from a cache. Expiry returns an error such as
syncStateNotFound.
Budget for full rescans, because you do not choose when they happen.
SharePoint adds further behaviours. It may answer 503 as well as 429, both with Retry-After. An application that keeps exceeding limits can be blocked outright.
That SharePoint page contradicts itself on RateLimit headers, saying in one place they give early warning and in another that SharePoint Online does not return or support them. Build on Retry-After alone.
For bulk extraction, Microsoft points to Graph Data Connect, which is not subject to those throttling limits. Its SharePoint guidance frames it as being for broad site analytics, and we did not establish that it returns the file or mail content a backup needs. Either way, your restore path still writes through limited APIs.
What to choose and why
These are our recommendations, in order.
- Write down the recovery target per workload, then compare it with the table above. A 90-day recovery need is not met by a 30-day mailbox window.
- Separate compliance from recovery. Keep retention for records. Do not count it toward restore capability unless you have tested getting content back to users.
- Set the cheap controls now: 30-day deleted item retention, the Mailbox Import Export role in a controlled group, and a deliberate OneDrive deleted-user retention period.
- Choose a backup tool for the restore you need. Ask specifically about folder structure, permissions, list items, Teams chats, group mailboxes and restore destination.
- Calculate the restore time with the limits above for your largest mailbox and largest site.
- Have the tool's logs prove completeness: counts of items read, 429s, retried batch members and full resyncs.
In an incident, order matters:
- Stop the source of change. Disable the compromised account or application.
- Stop retention-driven deletion on the affected content where it would otherwise proceed. Your compliance owner must choose the control.
- Record the deletion time, because each window above counts from a different event.
- Restore a sample and check content, folder path and permissions.
- Restore in priority order, and honour
Retry-Afterthroughout.
Do not start with a full site rollback to the original address. It overwrites everything since the restore point, including good work done after the incident began. The same page offers a new URL, which leaves the live site in place for comparison.
Risks and limits
- Retention policies also delete. A retain-and-delete or delete-only setting is a scheduled deletion, so a mistaken scope is an incident in itself.
- All published throttling limits may change, and Microsoft states actual experience may vary. The rates are published limits; the calculated times are idealised budget equivalents, not maximum restore durations or predictions.
- Some PowerShell references date from 2017. All pages were checked as served on 10 November 2026.
- We did not open sources for restoring a whole Microsoft 365 group, for Planner or for Teams settings. Check those if they are in your scope.
- Nothing here has been run in a lab, and no restore time has been measured.
Sources
Opened 10 November 2026.
- Recoverable Items folder in Exchange Online
- Exchange Online limits
- Recover deleted messages in a user's mailbox
- Enable or disable single item recovery
- Get-RecoverableItems, Restore-RecoverableItems, Get-MailboxFolderStatistics, Set-Mailbox
- Retention for Exchange, SharePoint and OneDrive, Teams
- Inactive mailboxes, Delete or restore user mailboxes, Restore a deleted user
- Restore items in the recycle bin, Restore your OneDrive, Restore deleted sites, Set OneDrive retention for deleted users, Version history limits
- Get-SPODeletedSite, Restore-SPODeletedSite
- Microsoft 365 Backup overview, FAQ
- Microsoft Graph throttling, service limits, delta query
- Avoid getting throttled or blocked in SharePoint Online
- Restore a shared library
- mailbox: createImportSession, SharePoint Migration API overview
- Exchange Online EWS, Your Time is Almost Up
This article was originally published on .