Issue with Deleting Meetings via Teams Meetings API

Zoho Corporation 0 Reputation points
2025-10-14T11:50:25.5466667+00:00

When attempting to delete meetings created through the Teams Meetings API, we are encountering a 404 Not Found error with the following details:

API Endpoint: : DELETE https://graph.microsoft.com/v1.0/me/onlineMeetings/**REDACTED**

Error Response: {"error":{"code":"NotFound","message":"3004: Specified meeting could not be found.","innerError":{"date":"2025-10-10T07:18:34","request-id":"REDACTED","client-request-id":"REDACTED"}}}

User and Meeting Details:

  • The user attempting to delete the meeting is the same user who created it.
  • The user’s token includes the following scopes: OnlineMeetingArtifact.Read.All, OnlineMeetings.ReadWrite, User.Read, profile, openid, email.
  • The meeting was created on October 8, 2025, 00:24:14 PDT.
  • The deletion attempt was made on October 10, 2025, 00:18:32 PDT.

We would appreciate any insights or suggestions on why the meeting might not be found at the time of deletion.

Microsoft 365 and Office | Development | Other
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Flora-T 5,160 Reputation points Microsoft External Staff Moderator
    2025-10-14T13:45:14.9133333+00:00

    Hi Zoho Corporation

    Thank you for reaching out to Microsoft Q&A Forum and sharing your detailed context. 

    From what I've found based on similar case and community experience, I'll share some insights regarding Microsoft Graph API for Teams online meetings. 

    First, confirm if the meeting is still retrievable via the Graph API. Refer to the Microsoft Graph documentation on getting online meetings for details. 

    Try a GET request with a filter on the joinWebUrl (URL-encode the value to avoid issues): 

    GET https://graph.microsoft.com/v1.0/me/onlineMeetings?$filter=joinWebUrl eq 'https://teams.microsoft.com/l/meetup-join/'
    

    Replace the example URL with the actual joinWebUrl from your meeting creation response. This should return the meeting object, including the correct id. If successful, use this id in your DELETE request and retry.

    If the meeting was scheduled and linked to a calendar event, it might not be directly accessible via /onlineMeetings after a delay like yours. Instead retrieve it via: 

    GET https://graph.microsoft.com/v1.0/me/events/{eventId}
    

    This will include the onlineMeeting property with details like the ID and join URL. You'll need the eventId from your original creation flow or by querying the user's events with a filter. 

    DELETE https://graph.microsoft.com/v1.0/me/events/{eventId}
    

    To avoid similar issues, create meetings exclusively via the Graph API (e.g., POST /me/onlineMeetings) rather than mixing with Teams UI or other methods. 

    Please ensure access token is still valid and not expired at the time of the request. 

    If this involves application (app-only) permissions instead of delegated (user-based), you'll need OnlineMeetings.ReadWrite.All and consider using /users/{userId}/onlineMeetings/{meetingId} instead of /me/

    Please let me know how you get on, as your feedback is valuable to the community.  


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".  

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Your answer

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