There is currently no way to get a list of shared mailboxes or determine whether a User account is actually a shared mailbox. Ideally there would be a new top-level object -- eg.,
GET /sharedMailboxes
(A members property of this new object would address another shortcoming of Graph -- the inability to get the members of a shared mailbox.)
A shorter-term solution would be to have a flag on the user object indicating that it is a shared mailbox.
Context: Our app operates only on shared mailboxes (distributing mail to members and reporting on activity). Our onboarding process currently requires the use of a PowersShell script because that's the only way for us to determine whether a mailbox is a shared mailbox or a user mailbox. We want to simplify this process and make it completely web-based, making it easier for customers.