Microsoft 365 endpoint publication contract
Microsoft's edit ·
Microsoft's commit message in MicrosoftDocs/microsoft-365-docs · commit 1c41675 · +47 −46 lines · also on GitHub
11
---
2
−title: "Office 365 IP Address and URL web service"
2
+title: "Microsoft 365 IP Address and URL web service"
33
ms.author: kvice
44
author: kelleyvice-msft
55
manager: scotv
6
−ms.date: 12/05/2022
6
+ms.date: 01/19/2024
77
audience: ITPro
88
ms.topic: conceptual
99
ms.service: microsoft-365-enterprise
⋯ 3 unchanged lines
1313
- Ent_O365
1414
- Strat_O365_Enterprise
1515
- m365initiative-coredeploy
16
+- must-keep
1617
f1.keywords:
1718
- CSH
1819
ms.custom:
⋯ 4 unchanged lines
2324
- MET150
2425
- MOE150
2526
- BCS160
26
−description: Learn how to use the Office 365 IP Address and URL web service to help you better identify and differentiate Office 365 network traffic.
27
+description: Learn how to use the Microsoft 365 IP Address and URL web service to help you better identify and differentiate Microsoft 365 network traffic.
2728
---
2829
29
−# Office 365 IP Address and URL web service
30
+# Microsoft 365 IP Address and URL web service
3031
31
−The Office 365 IP Address and URL web service helps you better identify and differentiate Office 365 network traffic, making it easier for you to evaluate, configure, and stay up to date with changes. This REST-based web service replaces the previous XML downloadable files, which were phased out on October 2, 2018.
32
+The Microsoft 365 IP Address and URL web service helps you better identify and differentiate Microsoft 365 network traffic, making it easier for you to evaluate, configure, and stay up to date with changes. This REST-based web service replaces the previous XML downloadable files, which were phased out on October 2, 2018.
3233
33
−As a customer or a network perimeter device vendor, you can build against the web service for Office 365 IP address and FQDN entries. You can access the data directly in a web browser using these URLs:
34
+As a customer or a network perimeter device vendor, you can build against the web service for Microsoft 365 IP address and FQDN entries. You can access the data directly in a web browser using these URLs:
3435
35
−- For the latest version of the Office 365 URLs and IP address ranges, use [https://endpoints.office.com/version](https://endpoints.office.com/version?clientrequestid=b10c5ed1-bad1-445f-b386-b919946339a7).
36
−- For the data on the Office 365 URLs and IP address ranges page for firewalls and proxy servers, use [https://endpoints.office.com/endpoints/worldwide](https://endpoints.office.com/endpoints/worldwide?clientrequestid=b10c5ed1-bad1-445f-b386-b919946339a7).
36
+- For the latest version of the Microsoft 365 URLs and IP address ranges, use [https://endpoints.office.com/version](https://endpoints.office.com/version?clientrequestid=b10c5ed1-bad1-445f-b386-b919946339a7).
37
+- For the data on the Microsoft 365 URLs and IP address ranges page for firewalls and proxy servers, use [https://endpoints.office.com/endpoints/worldwide](https://endpoints.office.com/endpoints/worldwide?clientrequestid=b10c5ed1-bad1-445f-b386-b919946339a7).
3738
- To get all the latest changes since July 2018 when the web service was first available, use [https://endpoints.office.com/changes/worldwide/0000000000](https://endpoints.office.com/changes/worldwide/0000000000?clientrequestid=b10c5ed1-bad1-445f-b386-b919946339a7).
3839
3940
As a customer, you can use this web service to:
4041
41
−- Update your PowerShell scripts to obtain Office 365 endpoint data and modify any formatting for your networking devices.
42
+- Update your PowerShell scripts to obtain Microsoft 365 endpoint data and modify any formatting for your networking devices.
4243
- Use this information to update PAC files deployed to client computers.
4344
4445
As a network perimeter device vendor, you can use this web service to:
⋯ 3 unchanged lines
4849
- Get the current changes.
4950
5051
> [!NOTE]
51
−> If you are using Azure ExpressRoute to connect to Office 365, please review [Azure ExpressRoute for Microsoft 365](azure-expressroute.md) to familiarize yourself with the Office 365 services supported over Azure ExpressRoute. Also review the article [Office 365 URLs and IP address ranges](urls-and-ip-address-ranges.md) to understand which network requests for Office 365 applications require Internet connectivity. This will help to better configure your perimeter security devices.
52
+> If you are using Azure ExpressRoute to connect to Microsoft 365, please review [Azure ExpressRoute for Microsoft 365](azure-expressroute.md) to familiarize yourself with the Microsoft 365 services supported over Azure ExpressRoute. Also review the article [Microsoft 365 URLs and IP address ranges](urls-and-ip-address-ranges.md) to understand which network requests for Microsoft 365 applications require Internet connectivity. This will help to better configure your perimeter security devices.
5253
5354
For more information, see:
5455
⋯ 11 unchanged lines
6667
6768
## Version web method
6869
69
−Microsoft updates the Office 365 IP address and FQDN entries at the beginning of each month. Out-of-band updates are sometimes published due to support incidents, security updates or other operational requirements.
70
+Microsoft updates the Microsoft 365 IP address and FQDN entries at the beginning of each month. Out-of-band updates are sometimes published due to support incidents, security updates or other operational requirements.
7071
71
−The data for each published instance is assigned a version number, and the version web method enables you to check for the latest version of each Office 365 service instance. We recommend that you check the version not more than once an hour.
72
+The data for each published instance is assigned a version number, and the version web method enables you to check for the latest version of each Microsoft 365 service instance. We recommend that you check the version not more than once an hour.
7273
7374
Parameters for the version web method are:
7475
⋯ 3 unchanged lines
7879
7980
The version web method is not rate limited and does not ever return 429 HTTP Response Codes. The response to the version web method does include a cache-control header recommending caching of the data for 1 hour. The result from the version web method can be a single record or an array of records. The elements of each record are:
8081
81
−- instance—The short name of the Office 365 service instance.
82
+- instance—The short name of the Microsoft 365 service instance.
8283
- latest—The latest version for endpoints of the specified instance.
8384
- versions—A list of all previous versions for the specified instance. This element is only included if the _AllVersions_ parameter is true.
8485
⋯ 1 unchanged line
8687
8788
Example 1 request URI: <https://endpoints.office.com/version?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7>
8889
89
−This URI returns the latest version of each Office 365 service instance. Example result:
90
+This URI returns the latest version of each Microsoft 365 service instance. Example result:
9091
9192
```json
9293
[
⋯ 21 unchanged lines
114115
115116
Example 2 request URI: <https://endpoints.office.com/version/Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7>
116117
117
−This URI returns the latest version of the specified Office 365 service instance. Example result:
118
+This URI returns the latest version of the specified Microsoft 365 service instance. Example result:
118119
119120
```json
120121
{
⋯ 13 unchanged lines
134135
135136
Example 4 request URI: <https://endpoints.office.com/version/Worldwide?AllVersions=true&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7>
136137
137
−This URI shows all prior versions that have been published for the Office 365 worldwide service instance. Example result:
138
+This URI shows all prior versions that have been published for the Microsoft 365 worldwide service instance. Example result:
138139
139140
```json
140141
{
⋯ 27 unchanged lines
168169
169170
## Endpoints web method
170171
171
−The endpoints web method returns all records for IP address ranges and URLs that make up the Office 365 service. The latest data from the endpoints web method should always be used for network device configuration. Microsoft provides advance notice 30 days prior to publishing new additions to give you time to update access control lists and proxy server bypass lists. We recommend that you only call the endpoints web method again when the version web method indicates that a new version of the data is available.
172
+The endpoints web method returns all records for IP address ranges and URLs that make up the Microsoft 365 service. The latest data from the endpoints web method should always be used for network device configuration. Microsoft provides advance notice 30 days prior to publishing new additions to give you time to update access control lists and proxy server bypass lists. We recommend that you only call the endpoints web method again when the version web method indicates that a new version of the data is available.
172173
173174
Parameters for the endpoints web method are:
174175
175176
- **ServiceAreas=\<Common \| Exchange \| SharePoint \| Skype\>** —A comma-separated list of service areas. Valid items are _Common_, _Exchange_, _SharePoint_, and _Skype_. Because _Common_ service area items are a prerequisite for all other service areas, the web service always includes them. If you do not include this parameter, all service areas are returned.
176
−- **TenantName=\<tenant_name\>** —Your Office 365 tenant name. The web service takes your provided name and inserts it in parts of URLs that include the tenant name. If you don't provide a tenant name, those parts of URLs have the wildcard character (\*).
177
+- **TenantName=\<tenant_name\>** —Your Microsoft 365 tenant name. The web service takes your provided name and inserts it in parts of URLs that include the tenant name. If you don't provide a tenant name, those parts of URLs have the wildcard character (\*).
177178
- **NoIPv6=\<true \| false\>** —Set the value to _true_ to exclude IPv6 addresses from the output if you don't use IPv6 in your network.
178179
- **Instance=\<Worldwide \| China \| USGovDoD \| USGovGCCHigh\>** —This required parameter specifies the instance from which to return the endpoints. Valid instances are: _Worldwide_, _China_, _USGovDoD_, and _USGovGCCHigh_.
179180
⋯ 9 unchanged lines
189190
- ips —The IP address ranges associated with this endpoint set as associated with the listed TCP or UDP ports. A JSON array of IP address ranges. Omitted if blank.
190191
- category—The connectivity category for the endpoint set. Valid values are _Optimize_, _Allow_, and _Default_. If you search the endpoints web method output for the category of a specific IP address or URL, it is possible that your query will return multiple categories. In such a case, follow the recommendation for the highest priority category. For example, if the endpoint appears in both _Optimize_ and _Allow_, you should follow the requirements for _Optimize_. Required.
191192
- expressRoute — _True_ if this endpoint set is routed over ExpressRoute, _False_ if not.
192
−- required — _True_ if this endpoint set is required to have connectivity for Office 365 to be supported. _False_ if this endpoint set is optional.
193
−- notes—For optional endpoints, this text describes Office 365 functionality that would be unavailable if IP addresses or URLs in this endpoint set cannot be accessed at the network layer. Omitted if blank.
193
+- required — _True_ if this endpoint set is required to have connectivity for Microsoft 365 to be supported. _False_ if this endpoint set is optional.
194
+- notes—For optional endpoints, this text describes Microsoft 365 functionality that would be unavailable if IP addresses or URLs in this endpoint set cannot be accessed at the network layer. Omitted if blank.
194195
195196
### Endpoints web method examples
196197
197198
Example 1 request URI: <https://endpoints.office.com/endpoints/Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7>
198199
199
−This URI obtains all endpoints for the Office 365 worldwide instance for all workloads. Example result that shows an excerpt of the output:
200
+This URI obtains all endpoints for the Microsoft 365 worldwide instance for all workloads. Example result that shows an excerpt of the output:
200201
201202
```json
202203
[
⋯ 27 unchanged lines
230231
231232
Example 2 request URI: [https://endpoints.office.com/endpoints/Worldwide?ServiceAreas=Exchange&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7](https://endpoints.office.com/endpoints/Worldwide?ServiceAreas=Exchange&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7)
232233
233
−This example obtains endpoints for the Office 365 Worldwide instance for Exchange Online and dependencies only.
234
+This example obtains endpoints for the Microsoft 365 Worldwide instance for Exchange Online and dependencies only.
234235
235236
The output, for example, 2 is similar to example 1 except that the results would not include endpoints for SharePoint Online or Skype for Business Online.
236237
⋯ 1 unchanged line
238239
239240
The changes web method returns the most recent updates that have been published, typically the previous month's changes to IP address ranges and URLs.
240241
241
−The most critical changes to endpoints data are new URLs and IP addresses. Failure to add an IP address to a firewall access control list or a URL to a proxy server bypass list can cause an outage for Office 365 users behind that network device. Notwithstanding operational requirements, new endpoints are published to the web service 30 days in advance of the date the endpoints are provisioned for use to give you time to update access control lists and proxy server bypass lists.
242
+The most critical changes to endpoints data are new URLs and IP addresses. Failure to add an IP address to a firewall access control list or a URL to a proxy server bypass list can cause an outage for Microsoft 365 users behind that network device. Notwithstanding operational requirements, new endpoints are published to the web service 30 days in advance of the date the endpoints are provisioned for use to give you time to update access control lists and proxy server bypass lists.
242243
243244
The required parameter for the changes web method is:
244245
⋯ 7 unchanged lines
252253
- endpointSetId—The ID of the endpoint set record that is changed.
253254
- disposition—Describes what the change did to the endpoint set record. Values are _change_, _add_, or _remove_.
254255
- impact—Not all changes will be equally important to every environment. This element describes the expected impact to an enterprise network perimeter environment as a result of this change. This element is included only in change records of version **2018112800** and later. Options for the impact are:
255
− — AddedIp – An IP address was added to Office 365 and will be live on the service soon. This represents a change you need to take on a firewall or other layer 3 network perimeter device. If you don't add this before we start using it, you may experience an outage.
256
− — AddedUrl – A URL was added to Office 365 and will be live on the service soon. This represents a change you need to take on a proxy server or URL parsing network perimeter device. If you don't add this URL before we start using it, you may experience an outage.
256
+ — AddedIp – An IP address was added to Microsoft 365 and will be live on the service soon. This represents a change you need to take on a firewall or other layer 3 network perimeter device. If you don't add this before we start using it, you may experience an outage.
257
+ — AddedUrl – A URL was added to Microsoft 365 and will be live on the service soon. This represents a change you need to take on a proxy server or URL parsing network perimeter device. If you don't add this URL before we start using it, you may experience an outage.
257258
— AddedIpAndUrl—Both an IP address and a URL were added. This represents a change you need to take on either a firewall layer 3 device or a proxy server or URL parsing device. If you don't add this IP/URL pair before we start using it, you may experience an outage.
258
− — RemovedIpOrUrl – At least one IP address or URL was removed from Office 365. Remove the network endpoints from your perimeter devices, but there's no deadline for you to do this.
259
+ — RemovedIpOrUrl – At least one IP address or URL was removed from Microsoft 365. Remove the network endpoints from your perimeter devices, but there's no deadline for you to do this.
259260
— ChangedIsExpressRoute – The ExpressRoute support attribute was changed. If you use ExpressRoute, you might need to take action depending on your configuration.
260261
— MovedIpOrUrl – We moved an IP address or Url between this endpoint set and another one. Generally no action is required.
261
− — RemovedDuplicateIpOrUrl – We removed a duplicate IP address or Url but it's still published for Office 365. Generally no action is required.
262
+ — RemovedDuplicateIpOrUrl – We removed a duplicate IP address or Url but it's still published for Microsoft 365. Generally no action is required.
262263
— OtherNonPriorityChanges – We changed something less critical than all of the other options, such as the contents of a note field.
263264
- version—The version of the published endpoint set in which the change was introduced. Version numbers are of the format _YYYYMMDDNN_, where _NN_ is a natural number incremented if there are multiple versions required to be published on a single day.
264265
- previous—A substructure detailing previous values of changed elements on the endpoint set. This will not be included for newly added endpoint sets. Includes _ExpressRoute_, _serviceArea_, _category_, _required_, _tcpPorts_, _udpPorts_, and _notes_.
⋯ 10 unchanged lines
275276
276277
Example 1 request URI: <https://endpoints.office.com/changes/worldwide/0000000000?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7>
277278
278
−This requests all previous changes to the Office 365 worldwide service instance. Example result:
279
+This requests all previous changes to the Microsoft 365 worldwide service instance. Example result:
279280
280281
```json
281282
[
⋯ 31 unchanged lines
313314
314315
Example 2 request URI: <https://endpoints.office.com/changes/worldwide/2018062700?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7>
315316
316
−This requests changes since the specified version to the Office 365 Worldwide instance. In this case, the version specified is the latest. Example result:
317
+This requests changes since the specified version to the Microsoft 365 Worldwide instance. In this case, the version specified is the latest. Example result:
317318
318319
```json
319320
[
⋯ 28 unchanged lines
348349
349350
The script does the following:
350351
351
−- Checks the version number of the current Office 365 Worldwide instance endpoints by calling the web service REST API.
352
+- Checks the version number of the current Microsoft 365 Worldwide instance endpoints by calling the web service REST API.
352353
- Checks for a current version file at _$Env:TEMP\O365_endpoints_latestversion.txt_. The path of the global variable **$Env:TEMP** is usually _C:\Users\\<username\>\AppData\Local\Temp_.
353354
- If this is the first time the script has been run, the script returns the current version and all current IP addresses and URLs, writes the endpoints version to the file _$Env:TEMP\O365_endpoints_latestversion.txt_ and the endpoints data output to the file _$Env:TEMP\O365_endpoints_data.txt_. You can modify the path and/or name of the output file by editing these lines:
354355
⋯ 24 unchanged lines
379380
v1.1 8/6/2019
380381
381382
DESCRIPTION
382
−This script calls the REST API of the Office 365 IP and URL Web Service (Worldwide instance)
383
+This script calls the REST API of the Microsoft 365 IP and URL Web Service (Worldwide instance)
383384
and checks to see if there has been a new update since the version stored in an existing
384385
$Env:TEMP\O365_endpoints_latestversion.txt file in your user directory's temp folder
385386
(usually C:\Users\<username>\AppData\Local\Temp).
⋯ 38 unchanged lines
424425
# call version method to check the latest version, and pull new data if version number is different
425426
$version = Invoke-RestMethod -Uri ($ws + "/version/Worldwide?clientRequestId=" + $clientRequestId)
426427
if ($version.latest -gt $lastVersion) {
427
− Write-Host "New version of Office 365 worldwide commercial service instance endpoints detected"
428
+ Write-Host "New version of Microsoft 365 worldwide commercial service instance endpoints detected"
428429
# write the new version number to the version file
429430
@($clientRequestId, $version.latest) | Out-File $versionpath
430431
# invoke endpoints method to get the new data
⋯ 69 unchanged lines
500501
Write-Output ("IP and URL data written to " + $datapath)
501502
502503
# write output to data file
503
− Write-Output "Office 365 IP and UL Web Service data" | Out-File $datapath
504
+ Write-Output "Microsoft 365 IP and UL Web Service data" | Out-File $datapath
504505
Write-Output "Worldwide instance" | Out-File $datapath -Append
505506
Write-Output "" | Out-File $datapath -Append
506507
Write-Output ("Version: " + $version.latest) | Out-File $datapath -Append
⋯ 8 unchanged lines
515516
($flatUrls.url | Sort-Object -Unique) -join "," | Out-File $datapath -Append
516517
}
517518
else {
518
− Write-Host "Office 365 worldwide commercial service instance endpoints are up-to-date."
519
+ Write-Host "Microsoft 365 worldwide commercial service instance endpoints are up-to-date."
519520
}
520521
```
521522
522523
## Example Python Script
523524
524
−Here is a Python script, tested with Python 3.6.3 on Windows 10, that you can run to see if there are actions you need to take for updated data. This script checks the version number for the Office 365 Worldwide instance endpoints. When there is a change, it downloads the endpoints and filters for the _Allow_ and _Optimize_ category endpoints. It also uses a unique ClientRequestId across multiple calls and saves the latest version found in a temporary file. Call this script once an hour to check for a version update.
525
+Here is a Python script, tested with Python 3.6.3 on Windows 10, that you can run to see if there are actions you need to take for updated data. This script checks the version number for the Microsoft 365 Worldwide instance endpoints. When there is a change, it downloads the endpoints and filters for the _Allow_ and _Optimize_ category endpoints. It also uses a unique ClientRequestId across multiple calls and saves the latest version found in a temporary file. Call this script once an hour to check for a version update.
525526
526527
```python
527528
import json
⋯ 23 unchanged lines
551552
# call version method to check the latest version, and pull new data if version number is different
552553
version = webApiGet('version', 'Worldwide', clientRequestId)
553554
if version['latest'] > latestVersion:
554
− print('New version of Office 365 worldwide commercial service instance endpoints detected')
555
+ print('New version of Microsoft 365 worldwide commercial service instance endpoints detected')
555556
# write the new version number to the data file
556557
with open(datapath, 'w') as fout:
557558
fout.write(clientRequestId + '\n' + version['latest'])
⋯ 25 unchanged lines
583584
584585
# TODO send mail (e.g. with smtplib/email modules) with new endpoints data
585586
else:
586
− print('Office 365 worldwide commercial service instance endpoints are up-to-date')
587
+ print('Microsoft 365 worldwide commercial service instance endpoints are up-to-date')
587588
```
588589
589590
## Web Service interface versioning
⋯ 8 unchanged lines
598599
599600
You can use a few different methods to get email notifications when changes to the IP addresses and URLs are published to the web service.
600601
601
−- To use a Power Automate solution, see [Use Power Automate to receive an email for changes to Office 365 IP Addresses and URLs](https://techcommunity.microsoft.com/t5/Office-365-Networking/Use-Microsoft-Flow-to-receive-an-email-for-changes-to-Office-365/m-p/240651).
602
+- To use a Power Automate solution, see [Use Power Automate to receive an email for changes to Microsoft 365 IP Addresses and URLs](https://techcommunity.microsoft.com/t5/Office-365-Networking/Use-Microsoft-Flow-to-receive-an-email-for-changes-to-Office-365/m-p/240651).
602603
- To deploy an Azure Logic App using an ARM template, see [Office 365 Update Notification (v1.1)](https://aka.ms/ipurlws-updates-template).
603604
- To write your own notification script using PowerShell, see [Send-MailMessage](/powershell/module/microsoft.powershell.utility/send-mailmessage).
604605
605606
## Exporting a Proxy PAC file
606607
607
−[Get-PacFile](https://www.powershellgallery.com/packages/Get-PacFile) is a PowerShell script that reads the latest network endpoints from the Office 365 IP Address and URL web service and creates a sample PAC file. For information on using Get-PacFile, see [Use a PAC file for direct routing of vital Microsoft 365 traffic](managing-office-365-endpoints.md#use-a-pac-file-for-direct-routing-of-vital-microsoft-365-traffic).
608
+[Get-PacFile](https://www.powershellgallery.com/packages/Get-PacFile) is a PowerShell script that reads the latest network endpoints from the Microsoft 365 IP Address and URL web service and creates a sample PAC file. For information on using Get-PacFile, see [Use a PAC file for direct routing of vital Microsoft 365 traffic](managing-office-365-endpoints.md#use-a-pac-file-for-direct-routing-of-vital-microsoft-365-traffic).
608609
609610
## Related Topics
610611
611
−[Office 365 URLs and IP address ranges](https://support.office.com/article/8548a211-3fe7-47cb-abb1-355ea5aa88a2)
612
+[Microsoft 365 URLs and IP address ranges](https://support.office.com/article/8548a211-3fe7-47cb-abb1-355ea5aa88a2)
612613
613
−[Managing Office 365 endpoints](managing-office-365-endpoints.md)
614
+[Managing Microsoft 365 endpoints](managing-office-365-endpoints.md)
614615
615616
[Office 365 endpoints FAQ](https://support.office.com/article/d4088321-1c89-4b96-9c99-54c75cae2e6d)
616617
617
−[Office 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
618
+[Microsoft 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
618619
619
−[Office 365 network and performance tuning](network-planning-and-performance.md)
620
+[Microsoft 365 network and performance tuning](network-planning-and-performance.md)
620621
621
−[Assessing Office 365 network connectivity](assessing-network-connectivity.md)
622
+[Assessing Microsoft 365 network connectivity](assessing-network-connectivity.md)
622623
623624
[Media Quality and Network Connectivity Performance in Skype for Business Online](https://support.office.com/article/5fe3e01b-34cf-44e0-b897-b0b2a83f0917)
624625
625626
[Optimizing your network for Skype for Business Online](https://support.office.com/article/b363bdca-b00d-4150-96c3-ec7eab5a8a43)
626627
627
−[Office 365 performance tuning using baselines and performance history](performance-tuning-using-baselines-and-history.md)
628
+[Microsoft 365 performance tuning using baselines and performance history](performance-tuning-using-baselines-and-history.md)
628629
629
−[Performance troubleshooting plan for Office 365](performance-troubleshooting-plan.md)
630
+[Performance troubleshooting plan for Microsoft 365](performance-troubleshooting-plan.md)
Microsoft's Markdown source from MicrosoftDocs/microsoft-365-docs, © Microsoft Corporation, under CC BY 4.0. Changed lines with up to 3 unchanged lines around each; ChangeIntel kept this copy 10 Oct 05:34 UTC. The commit date is when the source changed, which can be hours or days before Learn published it.