Symptom
Backups of certain Exchange mailboxes fail consistently after migration from the Exchange Web Services API to the Microsoft Graph API. The error 503 MailboxInfoStale is returned on every Graph mail call. Backups of specific mailboxes fail on every run, while other mailboxes in the same tenant backup normally. The issue usually, but not necessarily, starts just after migration. The affected mailboxes can be opened in Outlook on the web, and can send and receive mail.
Cause
The condition is a stale per-mailbox routing state inside Exchange Online. It is per mailbox, not per tenant, per domain, per mailbox type, or per guest status. Other mailboxes of the same type, in the same tenant, on the same domain, using the same application, and using the same permissions succeed at the same moment.
- No discriminator appears between the affected mailboxes and healthy ones. Account type, product, generation, guest status, routed domain, creation date, tenant and directory are all identical across both groups.
- We cannot say which backend serves an affected mailbox. The error body carries no database or server value, and the response headers we now capture place the affected mailboxes across five Microsoft regions rather than on one shared backend. We cannot support the claim that these mailboxes share a bad database, and the request IDs are stronger evidence than any inference about their infrastructure.
- This is not an
X-AnchorMailboxproblem. Anchoring the request on the mailbox GUID does not route around a stale mailbox record. The issue will not be resolved by further code changes to anchoring.
Solution
No configuration change, code fix or self-service action exists to clear this error. The only route forward is for the customer to raise a Microsoft support case from their own tenant, asking Microsoft to clear the stale backend routing state.
To proceed, follow the steps below.
1. Run the following checks (estimated time: 5 minutes). This will rule out SMTP issues, which is the only cause of this error that the customer can fix themselves. Run the checks in the Exchange Online Management PowerShell module.
Connect-ExchangeOnline $u = "user@domain.tld" # 1. Malformed proxy addresses: the only customer-fixable cause of Exchange 503 Get-Mailbox -Identity $u | Select-Object -ExpandProperty EmailAddresses # 2. Mailbox identity and the backend database it is homed on Get-Mailbox -Identity $u | fl Name,UserPrincipalName,ExchangeGuid,RecipientTypeDetails,IsDirSynced,ExternalDirectoryObjectId,WhenCreated Get-MailboxStatistics -Identity $u | fl DisplayName,Database,LastLogonTime,TotalItemSize # 3. Stalled move request or soft-deleted duplicate Get-MoveRequest -Identity $u -ErrorAction SilentlyContinue Get-Mailbox -SoftDeletedMailbox -Identity $u -ErrorAction SilentlyContinue
The following checks are included:
| Check | Look out for | Action |
EmailAddresses | SMTP without @, unverified domain, two uppercase SMTP: entries | Fix it. This is the one thing the customer can resolve themselves. |
Get-MailboxStatistics | Command errors, or Database differs from the healthy mailboxes | Include in Microsoft support case. |
Get-MoveRequest | Returns anything | Include in Microsoft support case. Mailbox moves are the classic cause of this condition. A stalled move can leave routing stale. |
| Soft-deleted mailbox | A duplicate exists | Include in Microsoft support case. Ask Microsoft to purge the mailbox. |
If all checks come back clean, there is nothing further the customer can do on their side. Proceed to the support case.
2. Gather diagnostic data from CyberSentriq Support. Microsoft closes cases that do not have correlation data. The failing calls are made by CyberSentriq, not by the customer, so the customer cannot capture these headers. Since September 16, 2026 our Exchange service records them on every stale failure, so Support can supply them per mailbox on request.
| Item | Status | Why it matters |
request-id | Required | Microsoft's server-side correlation ID. Without it, they will not investigate. Attach one per affected mailbox. |
client-request-id | Strongly advised | Our side of the same correlation, used to match both ends. |
| Timestamp (UTC) | Strongly advised | Defines the search window in their logs. |
x-ms-ags-diagnostic | Optional | Data centre, ring and scale unit that served the request. |
Ask Support for a list of affected mailboxes with a recent request-id, client-request-id and timestamp for each, and attach the list to the Microsoft case. Do not attach the error body: it contains only the code and the sentence "Mailbox info is stale".
3. You can now log a support case with Microsoft. To do this:
- Sign in to the Microsoft 365 admin center.
- Go to Support > New service request.
- Set the service to Exchange Online and the severity to B at minimum. This is a production impact with no workaround.
- Use this subject line: "503 MailboxInfoStale on Microsoft Graph for specific mailboxes"
Paste the message body below, ensuring that you fill every placeholder.
Hello, A specific set of mailboxes in our tenant cannot be reached through the Microsoft Graph mail API. Every call returns: HTTP 503 - "code": "MailboxInfoStale" Tenant ID: [tenant GUID] Affected mailboxes: [count] (list attached, with Microsoft request ids) Examples: [upn1], [upn2], [upn3] Failing since: [date] [time] UTC, 100% of calls, every attempt These mailboxes are healthy: users can open them in Outlook on the web and send and receive mail normally. They were also backed up successfully over Exchange Web Services on [date] at [time] UTC, roughly two hours before the first Graph failure at [time] UTC the same day. All other mailboxes in the same tenant, same domain and same mailbox type work with the same application and the same permissions, at the same moment. The affected mailboxes have been addressed by SMTP address, by Entra object id, and anchored on the mailbox GUID. All three return the same 503. We have confirmed valid proxy addresses and no pending move requests. The attached file lists, per mailbox, the Microsoft request-id and client-request-id of a failing call and its UTC timestamp. We believe this is stale per-mailbox routing state on the Exchange Online backend. We are asking you to: 1. Trace the attached request ids and tell us why routing is stale for these specific mailboxes. 2. Clear the stale routing state, or rehome the mailboxes onto a healthy database. Business impact: these mailboxes have had no successful backup since [date]. Exchange Web Services retires on 1 October 2026 and is currently the only protocol that demonstrably reaches them, so after that date they cannot be protected at all. Thank you, [name]
4. Attach three things:
- the affected mailboxes with the Microsoft request IDs supplied by CyberSentriq Support
- a comparable set of mailboxes in the same tenant that work normally
- the output of the checks above.
The comparison is what makes the case concrete; the request IDs are what make it traceable.
If the first-line agent responds with a permissions explanation or suggests using X-AnchorMailbox, ask for escalation to the Exchange Online backend team. Graph front-line support does not touch database routing.
See the table below for further responses not to accept as a resolution.
| Response | How to push back |
| "This is an application permissions problem." | The same token and the same permissions succeed against other mailboxes in the same tenant at the same moment. |
"Use X-AnchorMailbox with the mailbox GUID." | Already done, addressed by SMTP, by Entra object ID and anchored on the mailbox GUID. An incorrect anchor returns 400 ErrorIncorrectRoutingHint, not 503. |
| "Recreate the mailbox." | Destroys the user's mailbox and is not demonstrated to fix anything. Ask for the database rehome first. |
| "Wait, it will resolve itself." | There is no open service advisory. The one matching public report has been unresolved since January 2025. |
| "We cannot find the failing requests." | Every affected mailbox has a Microsoft request-id attached, with the matching client-request-id and UTC timestamp. |
| "Send us the full error text." | The response body carries the code and the sentence "Mailbox info is stale." and nothing else. Other error codes on the same API do return a database and a server, so the detail is withheld by the service, not dropped by the caller. |
The sources below may also be useful to the customer as a reference.
| Source | Key contents | Usefulness to customer |
| Microsoft Q&A, January 2025 | Same error, specific mailboxes, multiple customers. Mailboxes healthy in the web interface. Microsoft Support did not recognise it as a known issue. Thread unresolved, no workarounds given. | The closest published match to our occurrence. |
| Microsoft Q&A, May 2024 | Broad outbreak of the same error code, lasted about a day, fixed server-side by Microsoft with no action from the reporter. | Our occurrence is per mailbox and has run for weeks. |
| Microsoft, X-AnchorMailbox error guidance (archived, 2018) | An incorrect anchor used to return 503 MailboxInfoStale and now returns 400 ErrorIncorrectRoutingHint. The mailbox GUID advice sits under handling the 400. | Proof that the anchor approach targets a different failure. |
| Veeam KB4181 | Release notes for Veeam Backup for Microsoft 365 5c. Includes the issue where Exchange backup fails with HTTP 503 when the account has an incorrect SMTP address in its EmailAddresses property. | This is the proxy address check above. |
| Veeam KB4319 | "Unexpected proxy address format" error on mailbox backup. | Related to the same check. |