EWS coverage

41 of 96 EWS operations are answered through Microsoft Graph today: 31 fully and 10 with the limits listed below. Everything else answers with a clear EWS error and appears in your gap report.

  • 31 translated
  • 10 partial
  • 55 not translated

The table is generated from the bridge’s operation registry at request time: the same list the bridge dispatches on. “Partial” in a single answer (a field Graph cannot provide, an unmapped extended property) is reported per request in your gap report. Missing an operation you need? Write to support@avakode.com.

96 operations: 31 translated 10 partial 55 not translated

First queue — reading — 6 translated, 0 partial, 0 not translated
OperationStatusNotes
FindFoldertranslated
FindItemtranslatedrestrictions Graph cannot filter are applied by the bridge (partial); QueryString (AQS) → $search (KQL) on mail folders only, partial: at most 1000 hits (a search that reaches them is reported as truncated, TotalItemsInView a lower bound), Restriction/SortOrder next to it applied by the bridge, category/isflagged/isread keywords refused
GetAttachmenttranslatedItemAttachment (A9): the attached message, calendar item or contact with the mapped properties (as AllProperties, partial); its own attachments and extended properties are not returned; ReferenceAttachment not translated; files over 15 MB (Workers; 100 MB self-hosted) are not translated (memory of the answer)
GetFoldertranslated
GetItemtranslatedExtendedProperty via singleValueExtendedProperties; unmapped properties are partial
ResolveNamestranslated
First queue — writing, calendar, contacts, availability, OOF — 12 translated, 0 partial, 0 not translated
OperationStatusNotes
CopyItemtranslatedmessages only (Graph has no copy for events/contacts)
CreateAttachmenttranslatedItemAttachment (A9): the Message, CalendarItem or Contact inside converted as CreateItem converts it (unmapped fields partial); attachments over 3 MB are not translated
CreateItemtranslatedRecurrence, MimeContent, ItemAttachment and SendToNone for meetings with attendees are not translated
DeleteAttachmenttranslated
DeleteItemtranslatedSendToNone on a meeting the user organizes is refused (Graph always cancels)
GetUserAvailabilitytranslatedSuggestions are not translated; WorkingHours only when Graph returns a custom time zone or UTC
GetUserOofSettingstranslatedAllowExternalOof is not available from Graph
MarkAllItemsAsReadtranslated
MoveItemtranslatedmessages only (Graph has no move for events/contacts)
SendItemtranslatedthe sent copy always goes to Sent Items (partial otherwise)
SetUserOofSettingstranslated
UpdateItemtranslatedunmapped fields are reported partial; ConflictResolution is not enforced
Not translated — 0 translated, 0 partial, 55 not translated
OperationStatusNotes
AddDelegatenot translateddelegate management: Graph has no delegates (calendar sharing is calendarPermission only)
AddDistributionGroupToImListnot translatedUnified Contact Store is not translated
AddImContactToGroupnot translatedUnified Contact Store is not translated
AddImGroupnot translatedUnified Contact Store is not translated
AddNewImContactToGroupnot translatedUnified Contact Store is not translated
AddNewTelUriContactToGroupnot translatedUnified Contact Store is not translated
ApplyConversationActionnot translatedconversation operations: Graph has conversationId on messages but no conversation nodes or actions
ArchiveItemnot translatedarchive mailboxes: Graph v1.0 does not reach the archive mailbox
CreateFolderPathnot translatedfolder write operations are not in the MVP
CreateManagedFoldernot translatedmanaged folders are not translated
CreateUserConfigurationnot translateduser configuration objects: Graph has no folder-associated configuration items
DeleteUserConfigurationnot translateduser configuration objects: Graph has no folder-associated configuration items
DisableAppnot translatedmail app management: Outlook add-ins have no Graph equivalent
DisconnectPhoneCallnot translatedUnified Messaging is not translated
ExportItemsnot translatedbulk transfer: Graph v1.0 has no item export/import stream
FindConversationnot translatedconversation operations: Graph has conversationId on messages but no conversation nodes or actions
FindMessageTrackingReportnot translatedmessage tracking is not translated
GetAppManifestsnot translatedmail app management: Outlook add-ins have no Graph equivalent
GetAppMarketplaceUrlnot translatedmail app management: Outlook add-ins have no Graph equivalent
GetClientAccessTokennot translatedmail app management: Outlook add-ins have no Graph equivalent
GetConversationItemsnot translatedconversation operations: Graph has conversationId on messages but no conversation nodes or actions
GetDiscoverySearchConfigurationnot translatedeDiscovery: moved to Microsoft Purview (Graph security cases), another model
GetHoldOnMailboxesnot translatedeDiscovery: moved to Microsoft Purview (Graph security cases), another model
GetImItemListnot translatedUnified Contact Store is not translated
GetImItemsnot translatedUnified Contact Store is not translated
GetMessageTrackingReportnot translatedmessage tracking is not translated
GetNonIndexableItemDetailsnot translatedeDiscovery: moved to Microsoft Purview (Graph security cases), another model
GetNonIndexableItemStatisticsnot translatedeDiscovery: moved to Microsoft Purview (Graph security cases), another model
GetPasswordExpirationDatenot translatedpassword expiration is not available through Graph
GetPersonanot translatednot translated: Graph has no personas; FindPeople hands out bridge persona ids of contacts and directory users
GetPhoneCallInformationnot translatedUnified Messaging is not translated
GetRemindersnot translatedreminders are not translated
GetSearchableMailboxesnot translatedeDiscovery: moved to Microsoft Purview (Graph security cases), another model
GetServiceConfigurationnot translatedservice configuration is not translated
GetSharingFoldernot translatedsharing operations are not translated
GetSharingMetadatanot translatedsharing operations are not translated
GetUserConfigurationnot translateduser configuration objects: Graph has no folder-associated configuration items
GetUserRetentionPolicyTagsnot translatedretention policy tags are not translated
InstallAppnot translatedmail app management: Outlook add-ins have no Graph equivalent
MarkAsJunknot translatedjunk reporting: no Graph v1.0 equivalent
PerformReminderActionnot translatedreminders are not translated
PlayOnPhonenot translatedUnified Messaging is not translated
RefreshSharingFoldernot translatedsharing operations are not translated
RemoveContactFromImListnot translatedUnified Contact Store is not translated
RemoveDelegatenot translateddelegate management: Graph has no delegates (calendar sharing is calendarPermission only)
RemoveDistributionGroupFromImListnot translatedUnified Contact Store is not translated
RemoveImContactFromGroupnot translatedUnified Contact Store is not translated
RemoveImGroupnot translatedUnified Contact Store is not translated
SearchMailboxesnot translatedeDiscovery: moved to Microsoft Purview (Graph security cases), another model
SetHoldOnMailboxesnot translatedeDiscovery: moved to Microsoft Purview (Graph security cases), another model
SetImGroupnot translatedUnified Contact Store is not translated
UninstallAppnot translatedmail app management: Outlook add-ins have no Graph equivalent
UpdateDelegatenot translateddelegate management: Graph has no delegates (calendar sharing is calendarPermission only)
UpdateUserConfigurationnot translateduser configuration objects: Graph has no folder-associated configuration items
UploadItemsnot translatedbulk transfer: Graph v1.0 has no item export/import stream
Pilot tail — by usage in public code (mail tips, delegates, people search) — 0 translated, 3 partial, 0 not translated
OperationStatusNotes
FindPeoplepartialone source per call (a contacts folder or the directory, no aggregation of one person across both); sorted by display name, paged by the bridge over up to 1000 read; no RelevanceScore; the directory: users with a mailbox only (groups and mail contacts are not searched, hidden-from-GAL is not applied); Restriction, AggregationRestriction and other sorts are not translated; PersonaIds are bridge ids (GetPersona not translated)
GetDelegatepartialcalendar delegates only (calendarPermission roles delegateWith[out]PrivateEventAccess): CalendarFolderPermissionLevel Editor and ViewPrivateItems; Tasks/Inbox/Contacts/Notes/Journal permission levels, ReceiveCopiesOfMeetingMessages and SID are not available from Graph (left out); DeliverMeetingRequests from mailboxSettings (no NoForward); a UserId without PrimarySmtpAddress is not translated
GetMailTipspartialMailTipsRequested → MailTipsOptions (OutOfOffice, MailboxFull, CustomMailTip, member counts, MaxMessageSize, DeliveryRestricted, IsModerated); InvalidRecipient has no Graph option (not returned); PendingMailTips always empty; up to 100 recipients per call
Second queue — synchronization, folders, id conversion, search, photos — 8 translated, 2 partial, 0 not translated
OperationStatusNotes
ConvertIdtranslatedEwsId (bridge or Exchange ids) ↔ EntryId / HexEntryId; folders (no immutable id) as restId — mail, calendar and contacts folders, others not translated per id; EwsLegacyId, StoreId, OwaId and public folder ids have no Graph equivalent (per-id error)
CopyFoldertranslatedmail folders only
CreateFoldertranslatedsearch and tasks folders and calendar subfolders are not translated; a ContactsFolder or CalendarFolder under msgfolderroot is created under the default Contacts / Calendar folder (partial); FolderIds come without ChangeKey
DeleteFoldertranslatedcalendars and contacts folders are deleted with DELETE whatever the DeleteType (partial)
EmptyFoldertranslatedmail folders only; lists and deletes until empty within 2000 deletions / 25 s per call — entries left (or refused by Graph) → ErrorBatchProcessingStopped, the client repeats (partial)
GetUserPhototranslatedHasChanged is always true; unknown address → ErrorNonExistentMailbox and no photo → ErrorItemNotFound (Exchange: bare HTTP 500); REST form: image/jpeg with ETag, If-None-Match → 304, no photo → 404
MoveFoldertranslatedmail folders only
UpdateFoldertranslatedDisplayName only; other folder fields are reported unsupported
SyncFolderHierarchypartialmail folders only (Graph mailFolders delta); whole mailbox only (no subtree); FolderClass and ChangeKey are not in the delta
SyncFolderItemspartialSyncState is a stored chain (30 days after last use); Create vs Update from the ids the chain delivered (a Bloom filter: at most 0.2% of new items created before the previous answer may come as Update); a folder above ≈1.5 million items on Workers (≈5.5 million self-hosted; chains over 512 KB are kept as R2/file blobs) outgrows its chain → not translated; read flag changes arrive as Update (no ReadFlagChange); up to 20 Graph requests / 25 s per call; properties outside the delta query (ItemShape changed mid-chain, extended properties of contacts and calendar items) read per item with $batch within that budget; primary calendar only, as occurrences within −1/+2 years; the default Contacts folder only while it holds a contact (Graph gives its id only as a contact's parentFolderId); NormalAndAssociatedItems not translated
Third queue — by usage in public code (rooms, inbox rules, notifications, distribution lists, time zones) — 5 translated, 5 partial, 0 not translated
OperationStatusNotes
ExpandDLtranslateddirect members with an e-mail address (users, groups; organizational contacts only with OrgContact.Read.All, which the default consent lacks — left out, partial), not recursive, as EWS; private distribution lists (contact groups) are not translated
GetRoomListstranslatedroom lists come from Graph places (set up in the tenant); up to 1000 (pages by nextLink or $skip)
GetRoomstranslatedunknown room list → ErrorNameResolutionNoResults, an existing one without rooms → empty Rooms; up to 1000 rooms (pages by nextLink or $skip)
Unsubscribetranslatedpull and streaming subscriptions
UpdateInboxRulestranslatedconditions FromConnectedAccounts, ItemClasses, MessageClassifications, WithinDateRange and actions SendSMSAlertToRecipients, ServerReplyWithMessage have no Graph equivalent (the request is refused before any write); operations are applied one by one (a failure leaves the earlier ones applied, partial); RemoveOutlookRuleBlob is not applied (partial); WithinSizeRange in whole kilobytes
GetEventspartialevents come from Graph delta at poll time (latency = the polling interval): a move out of a folder arrives as DeletedEvent (MovedEvent only between subscribed folders), items moved in that arrived before the subscription do not appear, CopiedEvent and FreeBusyChangedEvent are never produced; up to 50 events per notification (MoreEvents)
GetInboxRulespartialOutlookRuleBlobExists is always false (Graph does not expose the Outlook rule blob); IsNotSupported = isReadOnly, IsInError = hasError
GetServerTimeZonespartialName is "(UTC±hh:mm) <Id>", not the Windows display name; transitions groups for the current and the next year (one when the rules agree), later years repeat the next year's rule, earlier rule changes not listed; a zone with more than two changes in the current year is ErrorTimeZone
GetStreamingEventspartialone SOAP envelope per event batch, ConnectionStatus OK at least every 40 s, Closed at the end; latency up to one poll interval; the same event rules as GetEvents (moves out as DeletedEvent, no CopiedEvent/FreeBusyChangedEvent); at least once: the last batch again after a connection dropped before Closed; a failing subscription is named in ErrorSubscriptionIds, the others go on
Subscribepartialpull and streaming subscriptions to mail folders (up to 50 per subscription); push subscriptions, SubscribeToAllFolders and calendar/contacts folders are not translated; MovedEvent only between subscribed folders, CopiedEvent and FreeBusyChangedEvent are not produced