Unable to read calendar lists with Graph, server error 500

Jeff McKay 65 Reputation points
2025-06-07T16:34:09.02+00:00

I've got an application that attempts to read calendar data from an outlook.com address. The URL I'm using is:

https://graph.microsoft.com/v1.0/me/calendars?$top=1000&$count=true

I am as certain as I can be that I've got the correct scopes defined. This is what I get back from the token request:

"token_type":   "Bearer",
"scope":    "User.Read Files.ReadWrite.All Mail.ReadWrite Tasks.ReadWrite Calendars.ReadWrite Contacts.ReadWrite Mail.Read",
"expires_in":   3599,
"ext_expires_in":   3599,
"access_token": "EwBYBMl6BAAUBK..."
"refresh_token":    "M.C509_BL2.0..."

I am certain that the GET uses "Content-Type: application/json" and that the auth token is supplied in "Authorization: Bearer EwB...."

The response to the GET is http error 500, internal server error.

The kicker to this is that I do the same call, except "/contactFolders" and that works fine. Mail folders work fine. I have tried various permutations such as specifying "/users/myemailaddress" and getting rid of the parameters. I have tried the beta API. As far as I can tell my outlook.com account has access to calendars. Anyone have a suggestion for me?

One further bit of information - when I use a non-outlook.com address, such as ******@something.onmicrosoft.com, there is no problem.

Microsoft Security | Microsoft Entra | Microsoft Entra ID
0 comments No comments
{count} votes

Accepted answer
  1. SrideviM 5,630 Reputation points Microsoft External Staff Moderator
    2025-06-09T03:11:51.79+00:00

    Hello Jeff McKay,

    You're encountering a known issue with the Microsoft Graph API when calling the /me/calendars endpoint for personal Microsoft accounts like Outlook.com, Hotmail.com, or Live.com. This started in late May 2025 and has been reported by many developers.

    The request returns a 500 Internal Server Error, even if the token and request are correctly set up.

    User's image

    Work or school accounts (such as those ending in onmicrosoft.com) are not affected.

    Microsoft is aware of the issue and is working on a fix. As a temporary workaround, you can avoid the error by skipping two fields that seem to cause the problem: allowedOnlineMeetingProviders and defaultOnlineMeetingProvider.

    You can do this by limiting the fields in your request using the $select parameter. Try this request:

    GET https://graph.microsoft.com/v1.0/me/calendars?$top=1000&$count=true&?$select=id,name 
    

    This returned calendar data without errors for personal accounts.

    User's image

    You can find more details on this GitHub issue and Microsoft Q&A thread, where many have confirmed that the workaround works.

    Hope this helps!


    If this answers your query, do click Accept Answer and Yes for was this answer helpful, which may help members with similar questions.

    User's image

    If you have any other questions or are still experiencing issues, feel free to ask in the "comments" section, and I'd be happy to help.

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.