API · archived
Microsoft
Microsoft is disabling Exchange Web Services (EWS) in Exchange Online in a phased rollout: from 10 October 2026 every worldwide tenant with EWS enabled must maintain an AppID allow list (EWSAllowedAppIDs) or its EWS apps are blocked, and EWS is fully disabled in April 2027. Developers must migrate to Microsoft Graph.
left 10 Oct 2026
Quick answers
- Is it true that Microsoft begins disabling Exchange Web Services (EWS) in Exchange Online — allow-list enforced worldwide from 10 October 2026, fully disabled April 2027?
- Yes — and the date has already passed (10 Oct 2026). If your app calls Exchange Web Services (EWS) against Exchange Online or Microsoft 365 mailboxes, it is now being turned off — but not as the single hard cutover on 1 October that the 2023 announcement implied.
- When did it take effect?
- 10 Oct 2026 (already passed). Verified against the vendor's own announcement.
- What should I use instead?
- Microsoft's direction is unchanged: move Exchange Online access to Microsoft Graph, which it has recommended since it froze EWS feature work in 2018.
What this means for you
If your app calls Exchange Web Services (EWS) against Exchange Online or Microsoft 365 mailboxes, it is now being turned off — but not as the single hard cutover on 1 October that the 2023 announcement implied. The shutdown is phased and runs through April 2027. The near-term mechanism is an allow list: from early October 2026, setting `EWSEnabled = True` on a tenant is no longer enough on its own — an AppID allow list (`EWSAllowedAppIDs`) must name the apps permitted to use EWS, and anything not on it is refused. Microsoft recorded which worldwide tenants had EWS enabled with no allow list on 2 October, auto-populated a list on 8–9 October from AppIDs seen in the previous 60 days for those tenants, and from 10 October 2026 turns on the cloud setting enforcing the allow-list requirement for all tenants in the worldwide (WW) cloud. EWS is then fully disabled in April 2027. The scope is unchanged — Microsoft 365 / Exchange Online only; EWS on Exchange Server on-premises is not affected. The one scope change Microsoft made earlier (after the January 2024 Midnight Blizzard incident) is that the effort now also removes EWS from Microsoft's own apps (Outlook, Office, Teams, Dynamics 365), not just third-party ones.
Where to go
Microsoft's direction is unchanged: move Exchange Online access to Microsoft Graph, which it has recommended since it froze EWS feature work in 2018. Two things to do now. First, the immediate operational step for admins: if your tenant legitimately still needs EWS past 10 October, make sure every app that uses it is in the `EWSAllowedAppIDs` list — relying on Microsoft's auto-populated list (seeded only from the prior 60 days of usage, and only for tenants captured on 2 October) is risky for anything that runs infrequently. Second, the real fix: inventory every app and script that calls EWS against Exchange Online (the EWS Usage Reports and EWS Analyzer tooling Microsoft shipped in 2025 can help), then re-implement against Microsoft Graph. Microsoft publishes a parity-gap roadmap with target dates (most gaps — archive import/export, user-configuration objects, contact lists, non-draft MIME, report-message — are slated for Q3–Q4 CY2026) and names capabilities that will never come to Graph (generic Public Folder CRUD, generic Microsoft 365 Group mailbox CRUD, Discovery Mailbox access). Confirm Graph coverage for your workload before committing to a cutover, but do not wait for every gap to close — full disablement is April 2027.
- Microsoft Graph — Microsoft's recommended API for programmatic access to Exchange Online mail, calendar, contacts, and folders
Microsoft is disabling Exchange Web Services (EWS) for Exchange Online — and the mechanics turned out to be more gradual than its original announcement implied. The 2023 blog said Microsoft would “start blocking EWS requests” on 1 October 2026, and we, like many, read that as a single hard cutover on that day. The current official process is a phased disablement that runs through April 2027, with worldwide enforcement of a new allow-list requirement beginning 10 October 2026.
Correction (2 October 2026). This entry originally gave 1 October 2026 as a hard block date and was marked passed on that day. Microsoft’s current primary sources describe a phased rollout, not a one-day block. We’ve corrected the date to 10 October 2026 (worldwide allow-list enforcement) and rewritten the entry below. A reader first flagged the discrepancy; we confirmed it against Microsoft’s own documentation before changing anything.
How the shutdown actually works
EWS is being turned off through an allow list, then a full disablement:
- Early October 2026 — Setting
EWSEnabled = Trueon a tenant is no longer sufficient by itself. An AppID allow list,EWSAllowedAppIDs, must name every app permitted to call EWS; anything not listed is refused. - 2 October 2026 (end of day, Pacific) — Microsoft recorded which worldwide tenants had EWS enabled with no allow list.
- 8–9 October 2026 (end of day, Pacific) — For those captured tenants, Microsoft auto-created an
EWSAllowedAppIDslist seeded with the AppIDs seen in the previous 60 days. - 10 October 2026 — Microsoft turns on the cloud setting enforcing the allow-list requirement for all tenants in the worldwide (WW) cloud. This is the date unlisted apps start being blocked.
- April 2027 — EWS is fully disabled.
The auto-populated list is a backstop, not a safety net: it only covers tenants captured on 2 October, and only apps that happened to run in the prior 60 days. Anything that runs monthly, quarterly, or on-demand can fall outside it.
Who this affects
Any app that talks to Exchange Online or Microsoft 365 mailboxes over EWS — directly, through the EWS Managed API, or via the EWS SDKs for .NET and Java. In practice that is a long tail: mailbox backup and archiving tools, tenant-to-tenant migration utilities, email-signature managers, calendar and CRM connectors, and in-house line-of-business scripts. After the January 2024 Midnight Blizzard security incident, Microsoft widened the scope from third-party apps to include its own products (Outlook, Office, Teams, Dynamics 365), which it is migrating off EWS in parallel.
The scope boundary is unchanged: this applies only to Microsoft 365 and Exchange Online. EWS on Exchange Server on-premises is not affected and stays supported. On-prem-only integrations do not need to move.
What to do
- Immediate (admins): if your tenant still needs EWS past 10 October, confirm every app that uses it is in
EWSAllowedAppIDs. Don’t rely on Microsoft’s auto-seeded list for infrequently-run apps. - Inventory every app, service, and script that calls EWS against Exchange Online. Microsoft’s EWS Usage Reports and EWS Analyzer (shipped 2025) surface the footprint.
- Migrate to Microsoft Graph. Map each EWS operation to its Graph equivalent and permissions. Microsoft’s parity-gap roadmap targets most remaining gaps (archive import/export, user-configuration objects, contact lists, non-draft MIME, report-message) for Q3–Q4 CY2026, and lists capabilities that won’t come to Graph — generic Public Folder CRUD, generic Microsoft 365 Group mailbox CRUD, and Discovery Mailbox access — which need a different approach.
- Don’t wait for every gap. EWS is fully disabled in April 2027; migrate and validate app-by-app between now and then.
Entry changelog
- — last reviewed.
- — Date reached. Worldwide allow-list enforcement is live today: Microsoft turns on the cloud setting requiring `EWSAllowedAppIDs` to be present when `EWSEnabled = True` for all tenants in the WW cloud, so unlisted apps start being refused. Confirmed against the Exchange Team blog "EWS Deprecation Is Here" (post 4561431), whose timeline table carries "Starting October 10 — Microsoft turns on the cloud setting to require EWSAllowedAppIDs...". Status set to passed. The retirement is not finished — EWS is fully disabled in April 2027 — but today's dated milestone has arrived; the entry stays live as the migration record.
- — Correction and update. This entry previously stated EWS would be "blocked" in a single cutover on 1 October 2026 (sunsetDate 2026-10-01, status passed) — the framing from Microsoft's original 2023 announcement, which was the only primary source available when the entry was written. Microsoft's current official process, confirmed against the server-rendered Microsoft Learn deprecation doc (updated 4 Sep 2026) and the Exchange Team blog "EWS Deprecation Is Here" (post 4561431), is a phased disablement, not a 1 October block: an AppID allow list (EWSAllowedAppIDs) becomes mandatory, Microsoft recorded affected worldwide tenants on 2 October and auto-seeded lists on 8–9 October, enforcement of the allow-list requirement turns on for all WW-cloud tenants on 10 October 2026, and EWS is fully disabled in April 2027. sunsetDate corrected to 2026-10-10 (WW enforcement; the point unlisted apps start being refused), status returned to confirmed, title/body/impact/migration rewritten, source updated to the current primary. A reader report (r/sysadmin) first flagged the "delayed to 10 October" discrepancy; it was treated as an unverified tip and confirmed against Microsoft's primary sources before this edit (Constitution §3.4, §4.17). No detect: fingerprint — EWS code can't reveal whether it targets Exchange Online (affected) or on-premises Exchange Server (not affected).
- — Date reached (as understood at the time). Marked passed on the strength of the 2023 announcement's "we will start blocking EWS requests on October 1, 2026." Superseded by the 2026-10-02 correction above, which establishes the phased 10 October / April 2027 timeline.
- — Entry created from Microsoft's 2023 Exchange Team blog announcing the retirement of EWS in Exchange Online, the non-Microsoft-app scope, the Exchange-Online-only scope (no change to Exchange Server on-premises), the EWS SDKs for .NET and Java, and the Microsoft Graph migration path. No detect: fingerprint — EWS code cannot reveal whether it targets Exchange Online (affected) or Exchange Server on-premises (not affected).
Put this countdown in your README
Building on Microsoft? Drop this badge into a project’s README or docs — it shows the days left and
refreshes on its own every night from this page.
[](https://lastcall.dev/entries/exchange-web-services-exchange-online-retirement) Spot an error or a changed date? Tell us and it’s corrected the same night.