A cloud-based service included in Microsoft 365, delivering scalable messaging and collaboration features with simplified management and automatic updates.
Hi Aryane,
After reviewing the available options, it appears that there is currently no generally available API in Microsoft Graph that can retrieve all shared mailbox delegation permissions (Full Access, Send As, and Send on Behalf) in the same way as the corresponding Exchange Online PowerShell cmdlets. Graph does not currently provide a method to query which mailboxes a user has been granted access to.
For a complete and reliable inventory of shared mailbox permissions, the Microsoft-supported approach remains:
- Get-MailboxPermission for Full Access
- Get-RecipientPermission for Send As
- Mailbox delegation properties (such as GrantSendOnBehalfTo) for Send on Behalf
For your reference: Manage permissions for recipients in Exchange Online
If your goal is to avoid executing PowerShell directly from your application, one practical approach would be to create a background service or scheduled process that authenticates to Exchange Online, collects the required permission data, stores it in a database, and then exposes the results through your application's own API. This keeps PowerShell isolated from your frontend or request-processing layer while still using the supported Exchange management interface.
Microsoft has also introduced the Exchange Online Admin API, a REST-based administrative API that supports selected mailbox delegation and permission-related scenarios. However, this API is currently in Preview, is not available in all organizations, and does not provide the full Exchange administration surface available through Exchange Online PowerShell.
For more ìnormation: Authentication and authorization
Therefore, if your requirement is to reliably retrieve and report all three permission types for shared mailboxes, Exchange Online PowerShell remains the most complete and supported solution at this time. You may use Microsoft Graph to enrich the results with user or directory information, but not as the primary source for mailbox delegation permissions.
I hope this helps clarify the available options. If you have any further questions or need additional clarification, please feel free to let me know. I’ll be happy to help.