Package com.independentsoft.graph

# Class GraphClient

java.lang.Object
com.independentsoft.graph.GraphClient

public class GraphClient extends Object
The main client for interacting with the Microsoft Graph API.

GraphClient provides methods to access Microsoft Graph resources including:

- Users - Manage user accounts and profiles
- Mail - Send and receive email messages, manage folders
- Calendar - Access events, schedule meetings, manage calendars
- Contacts - Manage personal and organizational contacts
- Files - Access OneDrive files and folders
- Groups - Manage Microsoft 365 groups
- Teams - Access Microsoft Teams channels and chats
- Sites - Interact with SharePoint sites
- To-Do - Manage tasks and task lists

This client supports multiple OAuth 2.0 authentication flows including: authorization code flow, device code flow, client credentials flow, and username/password flow.

Example usage:

     GraphClient client = new GraphClient();
     client.setClientId("your-client-id");
     client.setTenant("your-tenant-id");
     client.setScope(Arrays.asList("User.Read", "Mail.ReadWrite"));
     client.setAuthorizationCode("authorization-code");

     // Get current user
     User user = client.me();

     // List messages
     List<Message> messages = client.listMessages();

Since:
  1.1.1250
See Also:
  Use the Microsoft Graph API, Microsoft Graph authentication

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GraphClient()`
  Initializes a new instance of the GraphClient class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `acceptEvent​(String eventId)`
  Accepts an event invitation and sends a response to the organizer.
  `void`
  `acceptEvent​(String eventId, boolean sendResponse)`
  Accepts an event invitation with control over sending response.
  `void`
  `acceptEvent​(String eventId, boolean sendResponse, UserId userId)`
  Accepts an event for a specific user with send response control.
  `void`
  `acceptEvent​(String eventId, boolean sendResponse, String newBody)`
  Accepts an event with send response control and comment message.
  `void`
  `acceptEvent​(String eventId, boolean sendResponse, String newBody, UserId userId)`
  Accepts an event for a specific user with all options using UserId object.
  `void`
  `acceptEvent​(String eventId, boolean sendResponse, String newBody, String userId)`
  Accepts an event for a specific user with all options.
  `void`
  `acceptEvent​(String eventId, UserId userId)`
  Accepts an event for a specific user.
  `void`
  `acceptEvent​(String eventId, String newBody)`
  Accepts an event with a comment message.
  `ConversationMember`
  `addChannelMember​(String teamId, String channelId, ConversationMember member)`
  Adds a member to a channel.
  `ConversationMember`
  `addChatMember​(String chatId, ConversationMember member)`
  `void`
  `addGroupMember​(String groupId, String memberId)`
  Adds a member to a group.
  `void`
  `addGroupOwner​(String groupId)`
  Adds the currently authenticated user as an owner of the specified group.
  `void`
  `addGroupOwner​(String groupId, UserId userId)`
  Adds a user as an owner of the specified group using a UserId object.
  `void`
  `addGroupOwner​(String groupId, String userId)`
  Adds a user as an owner of the specified group.
  `void`
  `addGroupToFavorite​(String groupId)`
  Adds a group to the list of favorite groups for the signed-in user.
  `ConversationMember`
  `addTeamMember​(String teamId, ConversationMember member)`
  Adds a member to a team.
  `void`
  `answerCall​(String callId, String callbackUri, List<Modality> acceptedModalities, MediaConfig mediaConfig)`
  `void`
  `archiveChannel​(String teamId, String channelId)`
  `PlannerPlan`
  `archivePlannerPlan​(String planId)`
  Archives a planner plan.
  `PlannerPlan`
  `archivePlannerPlan​(String planId, String justification)`
  Archives a planner plan with a justification.
  `void`
  `associateContentTypeWithHubSites​(String siteId, String contentTypeId, List<String> hubSiteUrls, boolean propagateToExistingLists)`
  `void`
  `associateContentTypeWithHubSites​(String siteId, String contentTypeId, List<String> hubSiteUrls, boolean propagateToExistingLists, ResourceId resourceId)`
  `void`
  `calculateWorkbookApplication​(String workbookId)`
  `void`
  `calculateWorkbookApplication​(String workbookId, ResourceId resourceId)`
  `void`
  `calculateWorkbookApplication​(String workbookId, CalculationType calculationType)`
  `void`
  `calculateWorkbookApplication​(String workbookId, CalculationType calculationType, ResourceId resourceId)`
  `void`
  `cancelEvent​(String eventId)`
  Cancels an event and sends cancellation notification.
  `void`
  `cancelEvent​(String eventId, UserId userId)`
  Cancels an event for a specific user.
  `void`
  `cancelEvent​(String eventId, String newBody)`
  Cancels an event with a comment message.
  `void`
  `cancelEvent​(String eventId, String newBody, UserId userId)`
  Cancels an event with a comment message for a specific user using UserId object.
  `void`
  `cancelEvent​(String eventId, String newBody, String userId)`
  Cancels an event with a comment message for a specific user.
  `void`
  `checkInDriveItem​(String itemId)`
  Checks in a drive item, making it available for others to edit.
  `void`
  `checkInDriveItem​(String itemId, ResourceId resourceId)`
  Checks in a drive item with a specific resource context.
  `void`
  `checkOutDriveItem​(String itemId)`
  Checks out a drive item, locking it for editing by the current user.
  `void`
  `checkOutDriveItem​(String itemId, ResourceId resourceId)`
  Checks out a drive item with a specific resource context.
  `void`
  `closeWorkbookSession​(String workbookId)`
  `void`
  `closeWorkbookSession​(String workbookId, ResourceId resourceId)`
  `void`
  `closeWorkbookSession​(String workbookId, String sessionId)`
  `void`
  `closeWorkbookSession​(String workbookId, String sessionId, ResourceId resourceId)`
  `byte[]`
  `convertDriveItem​(String itemId, String format)`
  Converts a drive item's content to a different format.
  `byte[]`
  `convertDriveItem​(String itemId, String format, ResourceId resourceId)`
  Converts a drive item's content to a different format with a specific resource context.
  `InputStream`
  `convertDriveItemAsStream​(String itemId, String format)`
  Converts a drive item's content to a different format and returns it as a stream.
  `InputStream`
  `convertDriveItemAsStream​(String itemId, String format, ResourceId resourceId)`
  Converts a drive item's content to a different format as a stream with a resource context.
  `String`
  `copyDriveItem​(String itemId, String destinationName)`
  Asynchronously copies a drive item to a new location with a new name.
  `String`
  `copyDriveItem​(String itemId, String destinationName, ItemReference destinationFolder)`
  Asynchronously copies a drive item to a specified folder with a new name.
  `String`
  `copyDriveItem​(String itemId, String destinationName, ItemReference destinationFolder, ResourceId resourceId)`
  Asynchronously copies a drive item with full control over destination and context.
  `String`
  `copyDriveItem​(String itemId, String destinationName, ResourceId resourceId)`
  Asynchronously copies a drive item with a specific resource context.
  `MailFolder`
  `copyMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder)`
  Copies a mail folder to a standard mailbox folder.
  `MailFolder`
  `copyMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder, UserId userId)`
  Copies a mail folder to a standard mailbox folder for a specific user using UserId object.
  `MailFolder`
  `copyMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder, String userId)`
  Copies a mail folder to a standard mailbox folder for a specific user.
  `MailFolder`
  `copyMailFolder​(String sourceFolderId, String destinationParentFolderId)`
  Copies a mail folder to another folder.
  `MailFolder`
  `copyMailFolder​(String sourceFolderId, String destinationParentFolderId, UserId userId)`
  Copies a mail folder to another folder for a specific user with all options.
  `MailFolder`
  `copyMailFolder​(String sourceFolderId, String destinationParentFolderId, String userId)`
  Copies a mail folder to another folder for a specific user.
  `Message`
  `copyMessage​(String messageId, StandardMailboxFolder standardMailboxFolder)`
  Copies a message to a standard mailbox folder.
  `Message`
  `copyMessage​(String messageId, StandardMailboxFolder standardMailboxFolder, UserId userId)`
  Copies a message to a standard mailbox folder for a specific user using UserId object.
  `Message`
  `copyMessage​(String messageId, StandardMailboxFolder standardMailboxFolder, String userId)`
  Copies a message to a standard mailbox folder for a specific user.
  `Message`
  `copyMessage​(String messageId, String destintionFolderId)`
  Copies a message to a specific folder.
  `Message`
  `copyMessage​(String messageId, String destintionFolderId, UserId userId)`
  Copies a message to a specific folder for a specific user using UserId object.
  `Message`
  `copyMessage​(String messageId, String destintionFolderId, String userId)`
  Copies a message to a specific folder for a specific user.
  `Attachment`
  `createAttachment​(Attachment attachment, OutlookResourceId outlookResourceId)`
  Creates an attachment for a message or event.
  `Attachment`
  `createAttachment​(Attachment attachment, OutlookResourceId outlookResourceId, UserId userId)`
  Creates an attachment for a message or event for a specific user using UserId object.
  `Attachment`
  `createAttachment​(Attachment attachment, OutlookResourceId outlookResourceId, String userId)`
  Creates an attachment for a message or event for a specific user.
  `String`
  `createAttachment​(UploadSession uploadSession, byte[] buffer)`
  Uploads an attachment using an existing upload session from a byte array.
  `String`
  `createAttachment​(UploadSession uploadSession, InputStream stream)`
  Uploads an attachment using an existing upload session from an InputStream.
  `String`
  `createAttachment​(UploadSession uploadSession, InputStream stream, int bufferSize)`
  Uploads an attachment using an existing upload session from an InputStream with custom buffer size.
  `String`
  `createAttachment​(UploadSession uploadSession, String filePath)`
  Uploads an attachment using an existing upload session from a file.
  `String`
  `createAttachment​(UploadSession uploadSession, String filePath, int bufferSize)`
  Uploads an attachment using an existing upload session from a file with custom buffer size.
  `Calendar`
  `createCalendar​(Calendar calendar)`
  Creates a new calendar in the signed-in user's mailbox.
  `Calendar`
  `createCalendar​(Calendar calendar, CalendarId calendarId)`
  Creates a new calendar in a specific calendar.
  `Calendar`
  `createCalendar​(Calendar calendar, CalendarId calendarId, CalendarGroupId calendarGroupId)`
  Creates a new calendar in a specific calendar within a calendar group.
  `Calendar`
  `createCalendar​(Calendar calendar, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId)`
  Creates a new calendar with all options.
  `Calendar`
  `createCalendar​(Calendar calendar, CalendarId calendarId, UserId userid)`
  Creates a new calendar in a specific calendar for a specific user.
  `Calendar`
  `createCalendar​(Calendar calendar, UserId userid)`
  Creates a new calendar for a specific user.
  `Calendar`
  `createCalendar​(Calendar calendar, String calendarId)`
  Creates a new calendar in a specific calendar.
  `Calendar`
  `createCalendar​(Calendar calendar, String calendarId, String calendarGroupId)`
  Creates a new calendar in a specific calendar within a calendar group.
  `Calendar`
  `createCalendar​(Calendar calendar, String calendarId, String calendarGroupId, String userId)`
  Creates a new calendar with all options for a specific user.
  `CalendarGroup`
  `createCalendarGroup​(CalendarGroup calendarGroup)`
  Creates a new calendar group with full properties.
  `CalendarGroup`
  `createCalendarGroup​(CalendarGroup calendarGroup, UserId userId)`
  Creates a new calendar group for a specific user with full properties.
  `CalendarGroup`
  `createCalendarGroup​(CalendarGroup calendarGroup, String userId)`
  Creates a new calendar group for a specific user with full properties.
  `CalendarGroup`
  `createCalendarGroup​(String name)`
  Creates a new calendar group for the authenticated user.
  `CalendarGroup`
  `createCalendarGroup​(String name, UserId userId)`
  Creates a new calendar group for a specific user.
  `CalendarGroup`
  `createCalendarGroup​(String name, String userId)`
  Creates a new calendar group for a specific user.
  `Call`
  `createCall​(Call call)`
  `Channel`
  `createChannel​(String teamId, Channel channel)`
  Creates a new channel in a team.
  `Chat`
  `createChat​(Chat chat)`
  Creates a new chat.
  `MailboxFolder`
  `createChildMailboxFolder​(MailboxFolder folder, String mailboxId, String parentFolderId)`
  `MailFolder`
  `createChildMailFolder​(MailFolder mailFolder, String parentFolderId)`
  Creates a child mail folder under a parent folder.
  `MailFolder`
  `createChildMailFolder​(MailFolder mailFolder, String parentFolderId, UserId userId)`
  Creates a child mail folder under a parent folder for a specific user with all options.
  `MailFolder`
  `createChildMailFolder​(MailFolder mailFolder, String parentFolderId, String userId)`
  Creates a child mail folder under a parent folder for a specific user.
  `MailFolder`
  `createChildMailFolder​(String displayName, String parentFolderId)`
  Creates a child mail folder under a parent folder.
  `MailFolder`
  `createChildMailFolder​(String displayName, String parentFolderId, UserId userId)`
  Creates a child mail folder under a parent folder for a specific user using UserId object.
  `MailFolder`
  `createChildMailFolder​(String displayName, String parentFolderId, String userId)`
  Creates a child mail folder under a parent folder for a specific user.
  `ColumnDefinition`
  `createColumn​(ColumnDefinition column, String siteId, String listId)`
  `ColumnDefinition`
  `createColumn​(ColumnDefinition column, String siteId, String listId, ResourceId resourceId)`
  `Contact`
  `createContact​(Contact contact)`
  Creates a new contact for the signed-in user.
  `Contact`
  `createContact​(Contact contact, UserId userId)`
  Creates a new contact for a specific user.
  `Contact`
  `createContact​(Contact contact, String contactFolderId)`
  Creates a new contact in a specific contact folder.
  `Contact`
  `createContact​(Contact contact, String contactFolderId, UserId userId)`
  Creates a new contact in a specific folder for a specific user using UserId object.
  `Contact`
  `createContact​(Contact contact, String contactFolderId, String userId)`
  Creates a new contact in a specific folder for a specific user.
  `ContactFolder`
  `createContactFolder​(String displayName)`
  Creates a new contact folder for the signed-in user.
  `ContactFolder`
  `createContactFolder​(String displayName, UserId userId)`
  Creates a new contact folder for a specific user.
  `ContactFolder`
  `createContactFolder​(String displayName, String parentFolderId)`
  Creates a new child contact folder within a parent folder.
  `ContactFolder`
  `createContactFolder​(String displayName, String parentFolderId, UserId userId)`
  Creates a new child contact folder within a parent folder for a specific user using UserId object.
  `ContactFolder`
  `createContactFolder​(String displayName, String parentFolderId, String userId)`
  Creates a new child contact folder within a parent folder for a specific user.
  `ContentType`
  `createContentType​(ContentType contentType, String siteId)`
  `ContentType`
  `createContentType​(ContentType contentType, String siteId, ResourceId resourceId)`
  `DocumentSetVersion`
  `createDocumentSetVersion​(DocumentSetVersion documentSetVersion, String siteId, String listId, String itemId)`
  `DocumentSetVersion`
  `createDocumentSetVersion​(DocumentSetVersion documentSetVersion, String siteId, String listId, String itemId, ResourceId resourceId)`
  `DriveItem`
  `createDriveItem​(String parentId, DriveItem driveItem)`
  Creates a drive item (file or folder) using a DriveItem object.
  `DriveItem`
  `createDriveItem​(String parentId, ResourceId resourceId, DriveItem driveItem)`
  Creates a drive item using a DriveItem object with specific resource context.
  `DriveItem`
  `createDriveItem​(String parentId, ResourceId resourceId, String fileName)`
  Creates an empty drive item with a specific resource context.
  `DriveItem`
  `createDriveItem​(String parentId, ResourceId resourceId, String fileName, byte[] content)`
  Creates a drive item with content from a byte array and specific resource context.
  `DriveItem`
  `createDriveItem​(String parentId, ResourceId resourceId, String fileName, InputStream stream)`
  Creates a drive item with content from a stream and specific resource context.
  `DriveItem`
  `createDriveItem​(String parentId, String fileName)`
  Creates an empty drive item (file or folder) in the specified parent folder.
  `DriveItem`
  `createDriveItem​(String parentId, String fileName, byte[] content)`
  Creates a drive item with content from a byte array.
  `DriveItem`
  `createDriveItem​(String parentId, String fileName, InputStream stream)`
  Creates a drive item with content from a stream.
  `Event`
  `createEvent​(Event eventItem)`
  Creates a new event in the signed-in user's default calendar.
  `Event`
  `createEvent​(Event eventItem, CalendarId calendarId)`
  Creates a new event in a specific calendar using CalendarId object.
  `Event`
  `createEvent​(Event eventItem, CalendarId calendarId, UserId userId)`
  Creates a new event in a specific calendar for a specific user using ID objects.
  `Event`
  `createEvent​(Event eventItem, UserId userId)`
  Creates a new event for a specific user's default calendar.
  `Event`
  `createEvent​(Event eventItem, String calendarId)`
  Creates a new event in a specific calendar.
  `Event`
  `createEvent​(Event eventItem, String calendarId, String userId)`
  Creates a new event in a specific calendar for a specific user.
  `Message`
  `createForwardMessage​(String messageId, List<EmailAddress> toRecipients)`
  Creates a forward message draft without sending it.
  `Message`
  `createForwardMessage​(String messageId, List<EmailAddress> toRecipients, Message updateMessage)`
  Creates a forward message draft with updated message properties.
  `Message`
  `createForwardMessage​(String messageId, List<EmailAddress> toRecipients, Message updateMessage, UserId userId)`
  Creates a forward message draft with updated properties for a specific user.
  `Message`
  `createForwardMessage​(String messageId, List<EmailAddress> toRecipients, UserId userId)`
  Creates a forward message draft for a specific user.
  `Message`
  `createForwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody)`
  Creates a forward message draft with a comment.
  `Message`
  `createForwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, Message updateMessage)`
  Creates a forward message draft with a comment and updated properties.
  `Message`
  `createForwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, Message updateMessage, UserId userId)`
  Creates a forward message draft with all options for a specific user.
  `Message`
  `createForwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, UserId userId)`
  Creates a forward message draft with a comment for a specific user.
  `Group`
  `createGroup​(Group group)`
  Creates a new group in the directory.
  `InferenceClassificationOverride`
  `createInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride)`
  `InferenceClassificationOverride`
  `createInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, UserId userId)`
  `InferenceClassificationOverride`
  `createInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, String userId)`
  `List`
  `createList​(List list, String siteId)`
  `List`
  `createList​(List list, String siteId, ResourceId resourceId)`
  `ContentType`
  `createListContentType​(ContentType contentType, String siteId, String listId)`
  `ContentType`
  `createListContentType​(ContentType contentType, String siteId, String listId, ResourceId resourceId)`
  `ListItem`
  `createListItem​(ListItem listItem, String listId, String siteId)`
  `ListItem`
  `createListItem​(ListItem listItem, String listId, String siteId, ResourceId resourceId)`
  `MailboxFolder`
  `createMailboxFolder​(MailboxFolder folder, String mailboxId)`
  `MailboxItemImportSession`
  `createMailboxImportSession​(String mailboxId)`
  `MailFolder`
  `createMailFolder​(MailFolder mailFolder)`
  Creates a mail folder.
  `MailFolder`
  `createMailFolder​(MailFolder mailFolder, UserId userId)`
  Creates a mail folder for a specific user using UserId object.
  `MailFolder`
  `createMailFolder​(MailFolder mailFolder, String userId)`
  Creates a mail folder for a specific user.
  `MailFolder`
  `createMailFolder​(String displayName)`
  Creates a mail folder with a display name.
  `MailFolder`
  `createMailFolder​(String displayName, UserId userId)`
  Creates a mail folder with a display name for a specific user using UserId object.
  `MailFolder`
  `createMailFolder​(String displayName, String userId)`
  Creates a mail folder with a display name for a specific user.
  `MailSearchFolder`
  `createMailSearchFolder​(MailSearchFolder mailSearchFolder, String parentFolderId)`
  `MailSearchFolder`
  `createMailSearchFolder​(MailSearchFolder mailSearchFolder, String parentFolderId, UserId userId)`
  `MailSearchFolder`
  `createMailSearchFolder​(MailSearchFolder mailSearchFolder, String parentFolderId, String userId)`
  `Message`
  `createMessage​(Message message)`
  Creates a draft message in the Drafts folder.
  `Message`
  `createMessage​(Message message, StandardMailboxFolder standardMailboxFolder)`
  Creates a message in a specific standard mailbox folder.
  `Message`
  `createMessage​(Message message, StandardMailboxFolder standardMailboxFolder, UserId userId)`
  Creates a message in a specific standard mailbox folder for a specific user using UserId object.
  `Message`
  `createMessage​(Message message, StandardMailboxFolder standardMailboxFolder, String userId)`
  Creates a message in a specific standard mailbox folder for a specific user.
  `Message`
  `createMessage​(Message message, UserId userId)`
  Creates a draft message for a specific user using UserId object.
  `Message`
  `createMessage​(Message message, String folderId)`
  Creates a message in a specific folder.
  `Message`
  `createMessage​(Message message, String folderId, UserId userId)`
  Creates a message in a specific folder for a specific user with all options.
  `Message`
  `createMessage​(Message message, String folderId, String userId)`
  Creates a message in a specific folder for a specific user.
  `MessageRule`
  `createMessageRule​(MessageRule messageRule)`
  Creates a message rule.
  `MessageRule`
  `createMessageRule​(MessageRule messageRule, UserId userId)`
  Creates a message rule for a specific user using UserId object.
  `MessageRule`
  `createMessageRule​(MessageRule messageRule, String userId)`
  Creates a message rule for a specific user.
  `OnlineMeeting`
  `createOnlineMeeting​(OnlineMeeting onlineMeeting)`
  `OnlineMeeting`
  `createOnlineMeeting​(OnlineMeeting onlineMeeting, UserId userId)`
  `OnlineMeeting`
  `createOnlineMeeting​(OnlineMeeting onlineMeeting, String userId)`
  `OutlookCategory`
  `createOutlookCategory​(OutlookCategory category)`
  Creates a new Outlook category for the signed-in user.
  `OutlookCategory`
  `createOutlookCategory​(OutlookCategory category, UserId userId)`
  Creates a new Outlook category for a specific user using UserId object.
  `OutlookCategory`
  `createOutlookCategory​(OutlookCategory category, String userId)`
  Creates a new Outlook category for a specific user.
  `PlannerBucket`
  `createPlannerBucket​(PlannerBucket bucket)`
  Creates a new planner bucket.
  `PlannerPlan`
  `createPlannerPlan​(PlannerPlan plan)`
  Creates a new planner plan.
  `PlannerTask`
  `createPlannerTask​(PlannerTask task)`
  Creates a new planner task.
  `Message`
  `createReplyToAllMessage​(String messageId)`
  Creates a reply-to-all message draft without sending it.
  `Message`
  `createReplyToAllMessage​(String messageId, Message updateMessage)`
  Creates a reply-to-all message draft with updated message properties.
  `Message`
  `createReplyToAllMessage​(String messageId, Message updateMessage, UserId userId)`
  Creates a reply-to-all message draft with updated properties for a specific user.
  `Message`
  `createReplyToAllMessage​(String messageId, UserId userId)`
  Creates a reply-to-all message draft for a specific user.
  `Message`
  `createReplyToAllMessage​(String messageId, String newBody)`
  Creates a reply-to-all message draft with a comment.
  `Message`
  `createReplyToAllMessage​(String messageId, String newBody, Message updateMessage)`
  Creates a reply-to-all message draft with a comment and updated properties.
  `Message`
  `createReplyToAllMessage​(String messageId, String newBody, Message updateMessage, UserId userId)`
  Creates a reply-to-all message draft with all options for a specific user.
  `Message`
  `createReplyToAllMessage​(String messageId, String newBody, UserId userId)`
  Creates a reply-to-all message draft with a comment for a specific user.
  `Message`
  `createReplyToMessage​(String messageId)`
  Creates a reply message draft without sending it.
  `Message`
  `createReplyToMessage​(String messageId, Message updateMessage)`
  Creates a reply message draft with updated message properties.
  `Message`
  `createReplyToMessage​(String messageId, Message updateMessage, UserId userId)`
  Creates a reply message draft with updated properties for a specific user.
  `Message`
  `createReplyToMessage​(String messageId, UserId userId)`
  Creates a reply message draft for a specific user.
  `Message`
  `createReplyToMessage​(String messageId, String newBody)`
  Creates a reply message draft with a comment.
  `Message`
  `createReplyToMessage​(String messageId, String newBody, Message updateMessage)`
  Creates a reply message draft with a comment and updated properties.
  `Message`
  `createReplyToMessage​(String messageId, String newBody, Message updateMessage, UserId userId)`
  Creates a reply message draft with all options for a specific user.
  `Message`
  `createReplyToMessage​(String messageId, String newBody, UserId userId)`
  Creates a reply message draft with a comment for a specific user.
  `SharingPermission`
  `createSharingLink​(SharingLink link, String itemId)`
  Creates a sharing link for a drive item.
  `SharingPermission`
  `createSharingLink​(SharingLink link, String itemId, ResourceId resourceId)`
  Creates a sharing link for a drive item with a specific resource context.
  `SitePage`
  `createSitePage​(SitePage page, String siteId)`
  `SitePage`
  `createSitePage​(SitePage page, String siteId, ResourceId resourceId)`
  `Permission`
  `createSitePermission​(String siteId, List<String> roles, String applicationId, String applicationDisplayName)`
  `Permission`
  `createSitePermission​(String siteId, List<String> roles, String applicationId, String applicationDisplayName, ResourceId resourceId)`
  `Subscription`
  `createSubscription​(Subscription subscription)`
  `String`
  `createTeam​(Team team)`
  Creates a new team and returns the team ID.
  `Team`
  `createTeamFromGroup​(Team team, String groupId)`
  Creates a new team from an existing Microsoft 365 group.
  `TodoTask`
  `createTodoTask​(String todoTaskListId, TodoTask todoTask)`
  Creates a new task in a todo task list for the current user.
  `TodoTask`
  `createTodoTask​(String todoTaskListId, TodoTask todoTask, UserId userId)`
  Creates a new task in a todo task list using UserId object.
  `TodoTask`
  `createTodoTask​(String todoTaskListId, TodoTask todoTask, String userId)`
  Creates a new task in a todo task list for a specific user.
  `TodoTaskList`
  `createTodoTaskList​(TodoTaskList todoTaskList)`
  Creates a new todo task list for the current user.
  `TodoTaskList`
  `createTodoTaskList​(TodoTaskList todoTaskList, UserId userId)`
  Creates a new todo task list using UserId object.
  `TodoTaskList`
  `createTodoTaskList​(TodoTaskList todoTaskList, String userId)`
  Creates a new todo task list for a specific user.
  `UploadSession`
  `createUploadSession​(AttachmentItem attachmentItem, OutlookResourceId outlookResourceId)`
  Creates an upload session for uploading large attachments.
  `UploadSession`
  `createUploadSession​(AttachmentItem attachmentItem, OutlookResourceId outlookResourceId, UserId userId)`
  Creates an upload session for uploading large attachments for a specific user.
  `UploadSession`
  `createUploadSession​(String driveItemId)`
  Creates an upload session for uploading large files in chunks.
  `UploadSession`
  `createUploadSession​(String driveItemId, DriveItemUploadableProperties properties)`
  Creates an upload session with uploadable properties.
  `UploadSession`
  `createUploadSession​(String driveItemId, DriveItemUploadableProperties properties, boolean deferCommit)`
  Creates an upload session with deferred commit option.
  `UploadSession`
  `createUploadSession​(String driveItemId, ResourceId resourceId)`
  Creates an upload session with a specific resource context.
  `UploadSession`
  `createUploadSession​(String driveItemId, ResourceId resourceId, boolean deferCommit)`
  Creates an upload session with resource context and deferred commit.
  `UploadSession`
  `createUploadSession​(String driveItemId, ResourceId resourceId, DriveItemUploadableProperties properties)`
  Creates an upload session with resource context and properties.
  `UploadSession`
  `createUploadSession​(String driveItemId, ResourceId resourceId, DriveItemUploadableProperties properties, boolean deferCommit)`
  Creates an upload session with full control over properties and options.
  `User`
  `createUser​(User user)`
  Creates a new user in the organization.
  `Chart`
  `createWorkbookChart​(Chart chart, String workbookId, String worksheetId)`
  `Chart`
  `createWorkbookChart​(Chart chart, String workbookId, String worksheetId, ResourceId resourceId)`
  `WorkbookSessionInfo`
  `createWorkbookSession​(String workbookId)`
  `WorkbookSessionInfo`
  `createWorkbookSession​(String workbookId, boolean persistChanges)`
  `WorkbookSessionInfo`
  `createWorkbookSession​(String workbookId, boolean persistChanges, ResourceId resourceId)`
  `WorkbookSessionInfo`
  `createWorkbookSession​(String workbookId, ResourceId resourceId)`
  `Worksheet`
  `createWorksheet​(String workbookId)`
  `Worksheet`
  `createWorksheet​(String workbookId, ResourceId resourceId)`
  `Worksheet`
  `createWorksheet​(String workbookId, String name)`
  `Worksheet`
  `createWorksheet​(String workbookId, String name, ResourceId resourceId)`
  `void`
  `declineEvent​(String eventId)`
  Declines an event invitation and sends a response to the organizer.
  `void`
  `declineEvent​(String eventId, boolean sendResponse)`
  Declines an event with control over sending response.
  `void`
  `declineEvent​(String eventId, boolean sendResponse, TimeSlot proposedNewTime)`
  Declines an event with a proposed new time.
  `void`
  `declineEvent​(String eventId, boolean sendResponse, TimeSlot proposedNewTime, UserId userId)`
  Declines an event with a proposed new time for a specific user.
  `void`
  `declineEvent​(String eventId, boolean sendResponse, UserId userId)`
  Declines an event for a specific user with send response control.
  `void`
  `declineEvent​(String eventId, boolean sendResponse, String newBody)`
  Declines an event with a comment message.
  `void`
  `declineEvent​(String eventId, boolean sendResponse, String newBody, TimeSlot proposedNewTime)`
  Declines an event with comment and proposed new time.
  `void`
  `declineEvent​(String eventId, boolean sendResponse, String newBody, TimeSlot proposedNewTime, UserId userId)`
  Declines an event with all options for a specific user.
  `void`
  `declineEvent​(String eventId, boolean sendResponse, String newBody, UserId userId)`
  Declines an event for a specific user with a comment message.
  `void`
  `declineEvent​(String eventId, TimeSlot proposedNewTime)`
  Declines an event with a proposed new time.
  `void`
  `declineEvent​(String eventId, TimeSlot proposedNewTime, UserId userId)`
  Declines an event with a proposed new time for a specific user.
  `void`
  `declineEvent​(String eventId, UserId userId)`
  Declines an event for a specific user.
  `void`
  `deleteAttachment​(String attachmentId, OutlookResourceId outlookResourceId)`
  Deletes an attachment from a message or event.
  `void`
  `deleteAttachment​(String attachmentId, OutlookResourceId outlookResourceId, UserId userId)`
  Deletes an attachment from a message or event for a specific user using UserId object.
  `void`
  `deleteAttachment​(String attachmentId, OutlookResourceId outlookResourceId, String userId)`
  Deletes an attachment from a message or event for a specific user.
  `void`
  `deleteCalendar​(String calendarId)`
  Deletes a calendar from the signed-in user's mailbox.
  `void`
  `deleteCalendar​(String calendarId, UserId userId)`
  Deletes a calendar from a specific user's mailbox using UserId object.
  `void`
  `deleteCalendar​(String calendarId, String userId)`
  Deletes a calendar from a specific user's mailbox.
  `void`
  `deleteCalendarGroup​(String calendarGroupId)`
  Deletes a calendar group for the authenticated user.
  `void`
  `deleteCalendarGroup​(String calendarGroupId, UserId userId)`
  Deletes a calendar group for a specific user.
  `void`
  `deleteCalendarGroup​(String calendarGroupId, String userId)`
  Deletes a calendar group for a specific user.
  `void`
  `deleteCall​(String callId)`
  `void`
  `deleteChannel​(String teamId, String channelId)`
  Deletes a channel from a team.
  `void`
  `deleteChannelMember​(String teamId, String channelId, String memberId)`
  Removes a member from a channel.
  `void`
  `deleteColumn​(String columnId, String siteId)`
  `void`
  `deleteColumn​(String columnId, String siteId, ResourceId resourceId)`
  `void`
  `deleteContact​(String contactId)`
  Deletes a contact for the signed-in user.
  `void`
  `deleteContact​(String contactId, UserId userId)`
  Deletes a contact for a specific user using UserId object.
  `void`
  `deleteContact​(String contactId, String userId)`
  Deletes a contact for a specific user.
  `void`
  `deleteContentType​(String contentTypeId, String siteId)`
  `void`
  `deleteContentType​(String contentTypeId, String siteId, ResourceId resourceId)`
  `void`
  `deleteDriveItem​(String itemId)`
  Deletes a drive item (file or folder).
  `void`
  `deleteDriveItem​(String itemId, ResourceId resourceId)`
  Deletes a drive item with a specific resource context.
  `void`
  `deleteEvent​(String eventId)`
  Deletes an event from the signed-in user's calendar.
  `void`
  `deleteEvent​(String eventId, UserId userId)`
  Deletes an event from a specific user's calendar using UserId object.
  `void`
  `deleteEvent​(String eventId, String userId)`
  Deletes an event from a specific user's calendar.
  `void`
  `deleteGroup​(String groupId)`
  Deletes a group from the directory.
  `void`
  `deleteGroupMember​(String groupId, String memberId)`
  Removes a member from a group.
  `void`
  `deleteGroupOwner​(String groupId, String ownerId)`
  Removes an owner from a group.
  `void`
  `deleteInferenceClassificationOverride​(String inferenceClassificationOverrideId)`
  `void`
  `deleteInferenceClassificationOverride​(String inferenceClassificationOverrideId, UserId userId)`
  `void`
  `deleteInferenceClassificationOverride​(String inferenceClassificationOverrideId, String userId)`
  `void`
  `deleteList​(String siteId, String listId)`
  `void`
  `deleteList​(String siteId, String listId, ResourceId resourceId)`
  `void`
  `deleteListColumn​(String columnId, String siteId, String listId)`
  `void`
  `deleteListColumn​(String columnId, String siteId, String listId, ResourceId resourceId)`
  `void`
  `deleteListContentType​(String contentTypeId, String siteId, String listId)`
  `void`
  `deleteListContentType​(String contentTypeId, String siteId, String listId, ResourceId resourceId)`
  `void`
  `deleteListItem​(String itemId, String listId, String siteId)`
  `void`
  `deleteListItem​(String itemId, String listId, String siteId, ResourceId resourceId)`
  `void`
  `deleteMailboxFolder​(String mailboxId, String folderId)`
  `void`
  `deleteMailFolder​(String mailFolderId)`
  Deletes a mail folder.
  `void`
  `deleteMailFolder​(String mailFolderId, UserId userId)`
  Deletes a mail folder for a specific user using UserId object.
  `void`
  `deleteMailFolder​(String mailFolderId, String userId)`
  Deletes a mail folder for a specific user.
  `void`
  `deleteMessage​(String messageId)`
  Deletes a message for the signed-in user.
  `void`
  `deleteMessage​(String messageId, UserId userId)`
  Deletes a message for a specific user using UserId object.
  `void`
  `deleteMessage​(String messageId, String userId)`
  Deletes a message for a specific user.
  `void`
  `deleteMessageRule​(String messageRuleId)`
  Deletes a message rule.
  `void`
  `deleteMessageRule​(String messageRuleId, UserId userId)`
  Deletes a message rule for a specific user using UserId object.
  `void`
  `deleteMessageRule​(String messageRuleId, String userId)`
  Deletes a message rule for a specific user.
  `void`
  `deleteOnlineMeeting​(String onlineMeetingId)`
  `void`
  `deleteOnlineMeeting​(String onlineMeetingId, UserId userId)`
  `void`
  `deleteOnlineMeeting​(String onlineMeetingId, String userId)`
  `void`
  `deleteOutlookCategory​(String categoryId)`
  Deletes an Outlook category for the signed-in user.
  `void`
  `deleteOutlookCategory​(String categoryId, UserId userId)`
  Deletes an Outlook category for a specific user using UserId object.
  `void`
  `deleteOutlookCategory​(String categoryId, String userId)`
  Deletes an Outlook category for a specific user.
  `void`
  `deletePlannerBucket​(String bucketId)`
  Deletes a planner bucket.
  `void`
  `deletePlannerBucket​(String bucketId, String etag)`
  `void`
  `deletePlannerPlan​(String planId)`
  Deletes a planner plan.
  `void`
  `deletePlannerPlan​(String planId, String etag)`
  `void`
  `deletePlannerTask​(String taskId)`
  Deletes a planner task.
  `void`
  `deletePlannerTask​(String taskId, String etag)`
  `void`
  `deleteSharingPermission​(String itemId, String permissionId)`
  Removes a sharing permission from a drive item.
  `void`
  `deleteSharingPermission​(String itemId, String permissionId, ResourceId resourceId)`
  Removes a sharing permission from a drive item with a specific resource context.
  `void`
  `deleteSitePage​(String siteId, String pageId)`
  `void`
  `deleteSitePage​(String siteId, String pageId, ResourceId resourceId)`
  `void`
  `deleteSitePermission​(String siteId, String permissionId)`
  `void`
  `deleteSitePermission​(String siteId, String permissionId, ResourceId resourceId)`
  `void`
  `deleteSubscription​(String subscriptionId)`
  `void`
  `deleteTeam​(String teamId)`
  Deletes a team.
  `void`
  `deleteTeamMember​(String teamId, String memberId)`
  Removes a member from a team.
  `void`
  `deleteTodoTask​(String todoTaskListId, String todoTaskId)`
  Deletes a task from a todo task list for the current user.
  `void`
  `deleteTodoTask​(String todoTaskListId, String todoTaskId, UserId userId)`
  Deletes a task from a todo task list using UserId object.
  `void`
  `deleteTodoTask​(String todoTaskListId, String todoTaskId, String userId)`
  Deletes a task from a todo task list for a specific user.
  `void`
  `deleteTodoTaskList​(String todoTaskListId)`
  Deletes a todo task list for the current user.
  `void`
  `deleteTodoTaskList​(String todoTaskListId, UserId userId)`
  Deletes a todo task list using UserId object.
  `void`
  `deleteTodoTaskList​(String todoTaskListId, String userId)`
  Deletes a todo task list for a specific user.
  `void`
  `deleteUser​(String userId)`
  Deletes a user from the organization.
  `void`
  `dismissReminder​(String eventId)`
  Dismisses a reminder for an event.
  `void`
  `dismissReminder​(String eventId, UserId userId)`
  Dismisses a reminder for an event for a specific user using UserId object.
  `void`
  `dismissReminder​(String eventId, String userId)`
  Dismisses a reminder for an event for a specific user.
  `List<ExportItemResponse>`
  `exportItems​(String mailboxId, List<String> itemIds)`
  `MeetingTimeSuggestionsResult`
  `findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint)`
  Finds meeting time suggestions based on attendees and time constraints.
  `MeetingTimeSuggestionsResult`
  `findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, Duration meetingDuration)`
  Finds meeting time suggestions including meeting duration.
  `MeetingTimeSuggestionsResult`
  `findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, Duration meetingDuration, boolean isOrganizerOptional, LocationConstraint locationConstraint, int maxCandidates, double minimumAttendeePercentage, boolean returnSuggestionReasons)`
  Finds meeting time suggestions with advanced configuration.
  `MeetingTimeSuggestionsResult`
  `findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, Duration meetingDuration, boolean isOrganizerOptional, LocationConstraint locationConstraint, int maxCandidates, double minimumAttendeePercentage, boolean returnSuggestionReasons, UserId userId)`
  Finds meeting time suggestions with advanced configuration for a specific user.
  `MeetingTimeSuggestionsResult`
  `findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, Duration meetingDuration, UserId userid)`
  Finds meeting time suggestions including meeting duration for a specific user.
  `MeetingTimeSuggestionsResult`
  `findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, UserId userid)`
  Finds meeting time suggestions for a specific user.
  `DriveItem`
  `followDriveItem​(String itemId)`
  Follows a drive item for the signed-in user.
  `DriveItem`
  `followDriveItem​(String itemId, ResourceId resourceId)`
  Follows a drive item with a specific resource context.
  `void`
  `forwardEvent​(String eventId, List<EmailAddress> toRecipients)`
  Forwards an event to specified recipients.
  `void`
  `forwardEvent​(String eventId, List<EmailAddress> toRecipients, UserId userId)`
  Forwards an event to specified recipients for a specific user.
  `void`
  `forwardEvent​(String eventId, List<EmailAddress> toRecipients, String newBody)`
  Forwards an event with a comment message.
  `void`
  `forwardEvent​(String eventId, List<EmailAddress> toRecipients, String newBody, UserId userId)`
  Forwards an event with a comment message for a specific user using UserId object.
  `void`
  `forwardEvent​(String eventId, List<EmailAddress> toRecipients, String newBody, String userId)`
  Forwards an event with a comment message for a specific user.
  `void`
  `forwardMessage​(String messageId, List<EmailAddress> toRecipients)`
  Forwards a message to recipients.
  `void`
  `forwardMessage​(String messageId, List<EmailAddress> toRecipients, Message updateMessage)`
  Forwards a message with updated message properties.
  `void`
  `forwardMessage​(String messageId, List<EmailAddress> toRecipients, Message updateMessage, UserId userId)`
  Forwards a message with updated message properties for a specific user.
  `void`
  `forwardMessage​(String messageId, List<EmailAddress> toRecipients, UserId userId)`
  Forwards a message for a specific user.
  `void`
  `forwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody)`
  Forwards a message with a comment.
  `void`
  `forwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, Message updateMessage)`
  Forwards a message with a comment and updated message properties.
  `void`
  `forwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, Message updateMessage, UserId userId)`
  Forwards a message with all options for a specific user.
  `void`
  `forwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, UserId userId)`
  Forwards a message with a comment for a specific user.
  `List<Channel>`
  `getAllChannels​(String teamId)`
  Gets the list of all channels in a team (including private and shared channels).
  `List<Channel>`
  `getAllChannels​(String teamId, Query query)`
  Gets the list of all channels in a team with query options.
  `List<ChatMessage>`
  `getAllMessagesFromAllChats​(UserId userId)`
  Gets all messages from all chats for a specific user using UserId object.
  `List<ChatMessage>`
  `getAllMessagesFromAllChats​(UserId userId, Query query)`
  Gets all messages from all chats for a specific user with all options.
  `List<ChatMessage>`
  `getAllMessagesFromAllChats​(String userId)`
  Gets all messages from all chats for a specific user.
  `List<ChatMessage>`
  `getAllMessagesFromAllChats​(String userId, Query query)`
  Gets all messages from all chats for a specific user with query options.
  `Attachment`
  `getAttachment​(String attachmentId, OutlookResourceId outlookResourceId)`
  Gets a specific attachment.
  `Attachment`
  `getAttachment​(String attachmentId, OutlookResourceId outlookResourceId, Query query)`
  Gets a specific attachment with query options.
  `Attachment`
  `getAttachment​(String attachmentId, OutlookResourceId outlookResourceId, ResourceId resourceId)`
  Gets a specific attachment for a specific resource.
  `Attachment`
  `getAttachment​(String attachmentId, OutlookResourceId outlookResourceId, ResourceId resourceId, Query query)`
  Gets a specific attachment with all options.
  `List<Attachment>`
  `getAttachments​(OutlookResourceId outlookResourceId)`
  Gets all attachments for a message or event.
  `List<Attachment>`
  `getAttachments​(OutlookResourceId outlookResourceId, Query query)`
  Gets all attachments with query options.
  `List<Attachment>`
  `getAttachments​(OutlookResourceId outlookResourceId, ResourceId resourceId)`
  Gets all attachments for a specific resource.
  `List<Attachment>`
  `getAttachments​(OutlookResourceId outlookResourceId, ResourceId resourceId, Query query)`
  Gets all attachments with all options.
  `String`
  `getAuthorizationCode()`
  `String`
  `getAuthorizationCodeRedirectUri()`
  `String`
  `getAuthorizationCodeRequestUri​(String redirectUri)`
  Generates an authorization code request URI for OAuth 2.0 authorization code flow.
  `String`
  `getAuthorizationCodeRequestUri​(String redirectUri, String responseMode)`
  Generates an authorization code request URI with specified response mode.
  `String`
  `getAuthorizationCodeRequestUri​(String redirectUri, String responseMode, String state)`
  Generates an authorization code request URI with response mode and state parameter.
  `AutomaticRepliesSettings`
  `getAutomaticRepliesSettings()`
  Retrieves automatic replies (out-of-office) settings for the authenticated user.
  `AutomaticRepliesSettings`
  `getAutomaticRepliesSettings​(UserId userId)`
  Retrieves automatic replies (out-of-office) settings for a specific user.
  `AutomaticRepliesSettings`
  `getAutomaticRepliesSettings​(String userId)`
  Retrieves automatic replies (out-of-office) settings for a specific user.
  `Calendar`
  `getCalendar​(String calendarId)`
  Gets a calendar by ID for the authenticated user.
  `Calendar`
  `getCalendar​(String calendarId, UserId userId)`
  Gets a calendar by ID for a specific user.
  `Calendar`
  `getCalendar​(String calendarId, String userId)`
  Gets a calendar by ID for a specific user.
  `CalendarGroup`
  `getCalendarGroup​(String calendarGroupId)`
  Gets a calendar group by ID for the authenticated user.
  `CalendarGroup`
  `getCalendarGroup​(String calendarGroupId, UserId userId)`
  Gets a calendar group by ID for a specific user.
  `CalendarGroup`
  `getCalendarGroup​(String calendarGroupId, String userId)`
  Gets a calendar group by ID for a specific user.
  `List<CalendarGroup>`
  `getCalendarGroups()`
  Lists calendar groups for the authenticated user.
  `List<CalendarGroup>`
  `getCalendarGroups​(Query query)`
  Lists calendar groups for the authenticated user with query options.
  `List<CalendarGroup>`
  `getCalendarGroups​(UserId userId)`
  Lists calendar groups for a specific user.
  `List<CalendarGroup>`
  `getCalendarGroups​(UserId userId, Query query)`
  Lists calendar groups for a specific user with query options.
  `List<CalendarGroup>`
  `getCalendarGroups​(String userId)`
  Lists calendar groups for a specific user.
  `List<CalendarGroup>`
  `getCalendarGroups​(String userId, Query query)`
  Lists calendar groups for a specific user with query options.
  `List<Calendar>`
  `getCalendars()`
  Lists all calendars for the authenticated user.
  `List<Calendar>`
  `getCalendars​(CalendarGroupId calendarGroupId, UserId userId)`
  Lists calendars within a specific calendar group.
  `List<Calendar>`
  `getCalendars​(CalendarGroupId calendarGroupId, UserId userId, Query query)`
  Lists calendars within a specific calendar group with query options.
  `List<Calendar>`
  `getCalendars​(Query query)`
  Lists all calendars with query options.
  `List<Calendar>`
  `getCalendars​(UserId userId)`
  Lists all calendars for a specific user.
  `List<Calendar>`
  `getCalendars​(UserId userId, Query query)`
  Lists all calendars for a specific user with query options.
  `List<Calendar>`
  `getCalendars​(String userId)`
  Lists all calendars for a specific user.
  `List<Calendar>`
  `getCalendars​(String userId, Query query)`
  Lists all calendars for a specific user with query options.
  `List<Calendar>`
  `getCalendars​(String calendarGroupId, String userId)`
  Lists calendars within a specific calendar group.
  `List<Calendar>`
  `getCalendars​(String calendarGroupId, String userId, Query query)`
  Lists calendars within a specific calendar group with query options.
  `List<Event>`
  `getCalendarView​(Date start, Date end)`
  Gets a calendar view of events within a specified time range.
  `List<Event>`
  `getCalendarView​(Date start, Date end, CalendarId calendarId)`
  Gets a calendar view from a specific calendar using CalendarId object.
  `List<Event>`
  `getCalendarView​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId)`
  Gets a calendar view from a specific calendar in a specific calendar group using ID objects.
  `List<Event>`
  `getCalendarView​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, Query query)`
  Gets a calendar view from a specific calendar in a specific calendar group with query options using ID objects.
  `List<Event>`
  `getCalendarView​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId)`
  Gets a calendar view from a specific calendar in a specific calendar group for a specific user using ID objects.
  `List<Event>`
  `getCalendarView​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId, Query query)`
  Gets a calendar view from a specific calendar in a specific calendar group for a specific user with query options using ID objects.
  `List<Event>`
  `getCalendarView​(Date start, Date end, CalendarId calendarId, Query query)`
  Gets a calendar view from a specific calendar with query options using CalendarId object.
  `List<Event>`
  `getCalendarView​(Date start, Date end, CalendarId calendarId, UserId userId)`
  Gets a calendar view from a specific calendar for a specific user.
  `List<Event>`
  `getCalendarView​(Date start, Date end, CalendarId calendarId, UserId userId, Query query)`
  Gets a calendar view from a specific calendar for a specific user with query options.
  `List<Event>`
  `getCalendarView​(Date start, Date end, Query query)`
  Gets a calendar view with query options.
  `List<Event>`
  `getCalendarView​(Date start, Date end, UserId userId)`
  Gets a calendar view for a specific user.
  `List<Event>`
  `getCalendarView​(Date start, Date end, UserId userId, Query query)`
  Gets a calendar view for a specific user with query options.
  `List<Event>`
  `getCalendarView​(Date start, Date end, String calendarId)`
  Gets a calendar view from a specific calendar.
  `List<Event>`
  `getCalendarView​(Date start, Date end, String calendarId, Query query)`
  Gets a calendar view from a specific calendar with query options.
  `List<Event>`
  `getCalendarView​(Date start, Date end, String calendarId, String calendarGroupId)`
  Gets a calendar view from a specific calendar in a specific calendar group.
  `List<Event>`
  `getCalendarView​(Date start, Date end, String calendarId, String calendarGroupId, Query query)`
  Gets a calendar view from a specific calendar in a specific calendar group with query options.
  `List<Event>`
  `getCalendarView​(Date start, Date end, String calendarId, String calendarGroupId, String userId)`
  Gets a calendar view from a specific calendar in a specific calendar group for a specific user.
  `List<Event>`
  `getCalendarView​(Date start, Date end, String calendarId, String calendarGroupId, String userId, Query query)`
  Gets a calendar view from a specific calendar in a specific calendar group for a specific user with query options.
  `Call`
  `getCall​(String callId)`
  `Call`
  `getCall​(String callId, Query query)`
  `List<Participant>`
  `getCallParticipants​(String callId)`
  `CallRecord`
  `getCallRecord​(String callRecordId)`
  `CallRecord`
  `getCallRecord​(String callRecordId, Query query)`
  `GetCallRecordsResponse`
  `getCallRecords()`
  `GetCallRecordsResponse`
  `getCallRecords​(Query query)`
  `GetCallRecordsResponse`
  `getCallRecords​(String nextLink)`
  `Channel`
  `getChannel​(String teamId, String channelId)`
  Gets a specific channel in a team.
  `DriveItem`
  `getChannelFilesFolder​(String teamId, String channelId)`
  `ConversationMember`
  `getChannelMember​(String teamId, String channelId, String memberId)`
  Gets a specific member of a channel.
  `List<ConversationMember>`
  `getChannelMembers​(String teamId, String channelId)`
  Gets the list of members in a channel.
  `List<ConversationMember>`
  `getChannelMembers​(String teamId, String channelId, Query query)`
  Gets the list of members in a channel with query options.
  `ChatMessage`
  `getChannelMessage​(String teamId, String channelId, String messageId)`
  Gets a specific message from a channel.
  `byte[]`
  `getChannelMessageHostedContent​(String teamId, String channelId, String messageId, String hostedContentId)`
  `List<ChatMessage>`
  `getChannelMessageReplies​(String teamId, String channelId, String messageId)`
  Gets the list of replies to a message in a channel.
  `List<ChatMessage>`
  `getChannelMessageReplies​(String teamId, String channelId, String messageId, Query query)`
  Gets the list of replies to a message in a channel with query options.
  `ChatMessage`
  `getChannelMessageReply​(String teamId, String channelId, String messageId, String replyId)`
  Gets a specific reply to a channel message.
  `List<ChatMessage>`
  `getChannelMessages​(String teamId, String channelId)`
  Gets the list of messages in a channel.
  `List<ChatMessage>`
  `getChannelMessages​(String teamId, String channelId, Query query)`
  Gets the list of messages in a channel with query options.
  `List<Channel>`
  `getChannels​(String teamId)`
  Gets the list of channels in a team.
  `List<Channel>`
  `getChannels​(String teamId, Query query)`
  Gets the list of channels in a team with query options.
  `Chat`
  `getChat​(String chatId)`
  `Chat`
  `getChat​(String chatId, Query query)`
  `Chat`
  `getChat​(String chatId, Query query, UserId userId)`
  `Chat`
  `getChat​(String chatId, UserId userId)`
  `ConversationMember`
  `getChatMember​(String chatId, String membershipId)`
  `List<ConversationMember>`
  `getChatMembers​(String chatId)`
  `List<ConversationMember>`
  `getChatMembers​(String chatId, Query query)`
  `ChatMessage`
  `getChatMessage​(String chatId, String messageId)`
  Gets a specific message from a chat.
  `ChatMessage`
  `getChatMessage​(String chatId, String messageId, UserId userId)`
  Gets a specific message from a chat using UserId object.
  `ChatMessage`
  `getChatMessage​(String chatId, String messageId, String userId)`
  Gets a specific message from a chat for a specific user.
  `byte[]`
  `getChatMessageHostedContent​(String chatId, String messageId, String hostedContentId)`
  `List<ChatMessage>`
  `getChatMessageReplies​(String chatId, String messageId)`
  Gets the list of replies to a message in a chat.
  `List<ChatMessage>`
  `getChatMessageReplies​(String chatId, String messageId, Query query)`
  Gets the list of replies to a message in a chat with query options.
  `List<ChatMessage>`
  `getChatMessageReplies​(String chatId, String messageId, UserId userId)`
  Gets the list of replies to a message in a chat using UserId object.
  `List<ChatMessage>`
  `getChatMessageReplies​(String chatId, String messageId, UserId userId, Query query)`
  Gets the list of replies to a message in a chat with all options.
  `List<ChatMessage>`
  `getChatMessageReplies​(String chatId, String messageId, String userId)`
  Gets the list of replies to a message in a chat for a specific user.
  `List<ChatMessage>`
  `getChatMessageReplies​(String chatId, String messageId, String userId, Query query)`
  Gets the list of replies to a message in a chat for a specific user with query options.
  `ChatMessage`
  `getChatMessageReply​(String chatId, String messageId, String replyId)`
  Gets a specific reply to a message in a chat.
  `ChatMessage`
  `getChatMessageReply​(String chatId, String messageId, String replyId, UserId userId)`
  Gets a specific reply to a message in a chat using UserId object.
  `ChatMessage`
  `getChatMessageReply​(String chatId, String messageId, String replyId, String userId)`
  Gets a specific reply to a message in a chat for a specific user.
  `List<ChatMessage>`
  `getChatMessages​(String chatId)`
  Gets the list of messages in a chat.
  `List<ChatMessage>`
  `getChatMessages​(String chatId, Query query)`
  Gets the list of messages in a chat with query options.
  `List<ChatMessage>`
  `getChatMessages​(String chatId, UserId userId)`
  Gets the list of messages in a chat for a specific user using UserId object.
  `List<ChatMessage>`
  `getChatMessages​(String chatId, UserId userId, Query query)`
  Gets the list of messages in a chat with all options.
  `List<ChatMessage>`
  `getChatMessages​(String chatId, String userId)`
  Gets the list of messages in a chat for a specific user.
  `List<ChatMessage>`
  `getChatMessages​(String chatId, String userId, Query query)`
  Gets the list of messages in a chat for a specific user with query options.
  `List<Chat>`
  `getChats()`
  Gets the list of chats that the signed-in user is part of.
  `List<Chat>`
  `getChats​(Query query)`
  Gets the list of chats with query options.
  `List<Chat>`
  `getChats​(UserId userId)`
  Gets the list of chats for a specific user using UserId object.
  `List<Chat>`
  `getChats​(UserId userId, Query query)`
  Gets the list of chats for a specific user with all options.
  `List<Chat>`
  `getChats​(String userId)`
  Gets the list of chats for a specific user.
  `List<Chat>`
  `getChats​(String userId, Query query)`
  Gets the list of chats for a specific user with query options.
  `List<MailboxFolder>`
  `getChildMailboxFolders​(String mailboxId, String parentFolderId)`
  `List<MailboxFolder>`
  `getChildMailboxFolders​(String mailboxId, String parentFolderId, Query query)`
  `List<MailFolder>`
  `getChildMailFolders​(String mailFolderId)`
  Gets the list of child mail folders under a specific mail folder.
  `List<MailFolder>`
  `getChildMailFolders​(String mailFolderId, Query query)`
  Gets the list of child mail folders under a specific mail folder with query options.
  `List<MailFolder>`
  `getChildMailFolders​(String mailFolderId, UserId userId)`
  Gets the list of child mail folders under a specific mail folder for a specific user using UserId object.
  `List<MailFolder>`
  `getChildMailFolders​(String mailFolderId, UserId userId, Query query)`
  Gets the list of child mail folders under a specific mail folder for a specific user with all options.
  `List<MailFolder>`
  `getChildMailFolders​(String mailFolderId, String userId)`
  Gets the list of child mail folders under a specific mail folder for a specific user.
  `List<MailFolder>`
  `getChildMailFolders​(String mailFolderId, String userId, Query query)`
  Gets the list of child mail folders under a specific mail folder for a specific user with query options.
  `String`
  `getClientAssertion()`
  `org.apache.hc.client5.http.io.HttpClientConnectionManager`
  `getClientConnectionManager()`
  Gets connection manager.
  `String`
  `getClientId()`
  `String`
  `getClientSecret()`
  `ColumnDefinition`
  `getColumn​(String siteId, String listId, String columnId)`
  `ColumnDefinition`
  `getColumn​(String siteId, String listId, String columnId, Query query)`
  `ColumnDefinition`
  `getColumn​(String siteId, String listId, String columnId, ResourceId resourceId)`
  `ColumnDefinition`
  `getColumn​(String siteId, String listId, String columnId, ResourceId resourceId, Query query)`
  `List<ColumnDefinition>`
  `getColumns​(String siteId, String listId)`
  `List<ColumnDefinition>`
  `getColumns​(String siteId, String listId, Query query)`
  `List<ColumnDefinition>`
  `getColumns​(String siteId, String listId, ResourceId resourceId)`
  `List<ColumnDefinition>`
  `getColumns​(String siteId, String listId, ResourceId resourceId, Query query)`
  `int`
  `getConnectTimeout()`
  Returns setting for connect timeout.
  `Contact`
  `getContact​(String contactId)`
  Gets a specific contact for the signed-in user.
  `Contact`
  `getContact​(String contactId, UserId userId)`
  Gets a specific contact for a specific user using UserId object.
  `Contact`
  `getContact​(String contactId, String userId)`
  Gets a specific contact for a specific user.
  `ContactChanges`
  `getContactChanges()`
  Gets contact changes for delta tracking.
  `ContactChanges`
  `getContactChanges​(Query query)`
  Gets contact changes with query options.
  `ContactChanges`
  `getContactChanges​(String nextLinkOrDeltaLink)`
  Gets contact changes using a next link or delta link.
  `List<ContactFolder>`
  `getContactFolders()`
  Gets all contact folders for the signed-in user.
  `List<ContactFolder>`
  `getContactFolders​(Query query)`
  Gets all contact folders with query options.
  `List<ContactFolder>`
  `getContactFolders​(UserId userId)`
  Gets all contact folders for a specific user.
  `List<ContactFolder>`
  `getContactFolders​(UserId userId, Query query)`
  Gets all contact folders for a specific user with query options.
  `List<ContactFolder>`
  `getContactFolders​(String parentFolderId)`
  Gets all child contact folders from a parent folder.
  `List<ContactFolder>`
  `getContactFolders​(String parentFolderId, Query query)`
  Gets all child contact folders from a parent folder with query options.
  `List<ContactFolder>`
  `getContactFolders​(String parentFolderId, UserId userId)`
  Gets all child contact folders from a parent folder for a specific user using UserId object.
  `List<ContactFolder>`
  `getContactFolders​(String parentFolderId, UserId userId, Query query)`
  Gets all child contact folders from a parent folder for a specific user with all options.
  `List<ContactFolder>`
  `getContactFolders​(String parentFolderId, String userId)`
  Gets all child contact folders from a parent folder for a specific user.
  `List<ContactFolder>`
  `getContactFolders​(String parentFolderId, String userId, Query query)`
  Gets all child contact folders from a parent folder for a specific user with query options.
  `List<Contact>`
  `getContacts()`
  Gets all contacts for the signed-in user.
  `List<Contact>`
  `getContacts​(Query query)`
  Gets all contacts with query options.
  `List<Contact>`
  `getContacts​(UserId userId)`
  Gets all contacts for a specific user.
  `List<Contact>`
  `getContacts​(UserId userId, Query query)`
  Gets all contacts for a specific user with query options.
  `List<Contact>`
  `getContacts​(String contactFolderId)`
  Gets all contacts from a specific contact folder.
  `List<Contact>`
  `getContacts​(String contactFolderId, Query query)`
  Gets all contacts from a specific folder with query options.
  `List<Contact>`
  `getContacts​(String contactFolderId, UserId userId)`
  Gets all contacts from a specific folder for a specific user using UserId object.
  `List<Contact>`
  `getContacts​(String contactFolderId, UserId userId, Query query)`
  Gets all contacts from a specific folder for a specific user with all options.
  `List<Contact>`
  `getContacts​(String contactFolderId, String userId)`
  Gets all contacts from a specific folder for a specific user.
  `List<Contact>`
  `getContacts​(String contactFolderId, String userId, Query query)`
  Gets all contacts from a specific folder for a specific user with query options.
  `ContentType`
  `getContentType​(String siteId, String contentTypeId)`
  `ContentType`
  `getContentType​(String siteId, String contentTypeId, ResourceId resourceId)`
  `List<ContentType>`
  `getContentTypes​(String siteId)`
  `List<ContentType>`
  `getContentTypes​(String siteId, Query query)`
  `List<ContentType>`
  `getContentTypes​(String siteId, ResourceId resourceId)`
  `List<Group>`
  `getDeletedGroups()`
  Gets a list of deleted groups from the directory.
  `List<Group>`
  `getDeletedGroups​(Query query)`
  Gets a list of deleted groups from the directory with optional query parameters.
  `DeviceAuthorizationCode`
  `getDeviceAuthorizationCode()`
  Obtains a device authorization code for device code flow authentication.
  `String`
  `getDeviceCode()`
  `List<DocumentSetVersion>`
  `getDocumentSetVersions​(String siteId, String listId, String itemId)`
  `List<DocumentSetVersion>`
  `getDocumentSetVersions​(String siteId, String listId, String itemId, ResourceId resourceId)`
  `Drive`
  `getDrive()`
  Gets the user's default drive.
  `Drive`
  `getDrive​(ResourceId resourceId)`
  Gets a drive from a specific resource context.
  `Drive`
  `getDrive​(String driveId)`
  Gets a specific drive by ID.
  `Drive`
  `getDrive​(String driveId, ResourceId resourceId)`
  Gets a specific drive from a resource context.
  `DriveItem`
  `getDriveItem​(String itemId)`
  Gets metadata for a drive item by its ID.
  `DriveItem`
  `getDriveItem​(String itemId, ResourceId resourceId)`
  Gets metadata for a drive item with a specific resource context.
  `List<DriveItemActivity>`
  `getDriveItemActivities()`
  Gets activities for items in the user's default drive.
  `List<DriveItemActivity>`
  `getDriveItemActivities​(ResourceId resourceId)`
  Gets activities from a resource context.
  `List<DriveItemActivity>`
  `getDriveItemActivities​(String driveId)`
  Gets activities for items in a specific drive.
  `List<DriveItemActivity>`
  `getDriveItemActivities​(String driveId, ResourceId resourceId)`
  Gets activities for a specific drive within a resource context.
  `byte[]`
  `getDriveItemAsByteArray​(String itemId)`
  Downloads a drive item's content as a byte array.
  `byte[]`
  `getDriveItemAsByteArray​(String itemId, long rangeBegin, long rangeEnd)`
  Downloads a specific byte range of a drive item's content.
  `byte[]`
  `getDriveItemAsByteArray​(String itemId, ResourceId resourceId)`
  Downloads a drive item's content as a byte array with a specific resource context.
  `byte[]`
  `getDriveItemAsByteArray​(String itemId, ResourceId resourceId, long rangeBegin, long rangeEnd)`
  Downloads a specific byte range of a drive item's content with a resource context.
  `InputStream`
  `getDriveItemAsStream​(String itemId)`
  Downloads a drive item's content as a stream.
  `InputStream`
  `getDriveItemAsStream​(String itemId, ResourceId resourceId)`
  Downloads a drive item's content as a stream with a specific resource context.
  `DriveItemChanges`
  `getDriveItemChanges()`
  Gets the changes to drive items for the current user's drive.
  `DriveItemChanges`
  `getDriveItemChanges​(Query query)`
  Gets the changes to drive items for the current user with query options.
  `DriveItemChanges`
  `getDriveItemChanges​(ResourceId resourceId)`
  Gets the changes to drive items for a specific resource.
  `DriveItemChanges`
  `getDriveItemChanges​(ResourceId resourceId, Query query)`
  Gets the changes to drive items for a specific resource with query options.
  `DriveItemChanges`
  `getDriveItemChanges​(String nextLinkOrDeltaLink)`
  Gets the next page of drive item changes using a next link or delta link.
  `GetDriveItemsResponse`
  `getDriveItems()`
  Gets the children of the root folder in the current user's drive.
  `List<DriveItem>`
  `getDriveItems​(StandardDriveFolder standardDriveFolder)`
  Gets the children of a standard system folder.
  `List<DriveItem>`
  `getDriveItems​(StandardDriveFolder standardDriveFolder, Query query)`
  Gets the children of a standard system folder with query options.
  `GetDriveItemsResponse`
  `getDriveItems​(Query query)`
  Gets the children of the root folder with query options.
  `GetDriveItemsResponse`
  `getDriveItems​(ResourceId resourceId)`
  Gets the children of the root folder with a specific resource context.
  `GetDriveItemsResponse`
  `getDriveItems​(ResourceId resourceId, Query query)`
  Gets the children of the root folder with resource context and query options.
  `GetDriveItemsResponse`
  `getDriveItems​(String itemId)`
  Gets the children of a specific folder.
  `GetDriveItemsResponse`
  `getDriveItems​(String itemId, Query query)`
  Gets the children of a specific folder with query options.
  `GetDriveItemsResponse`
  `getDriveItems​(String itemId, ResourceId resourceId)`
  Gets the children of a specific folder with resource context.
  `GetDriveItemsResponse`
  `getDriveItems​(String itemId, ResourceId resourceId, Query query)`
  Gets the children of a specific folder with full control over location and query options.
  `List<ThumbnailSet>`
  `getDriveItemThumbnails​(String itemId)`
  Gets the thumbnail images for a drive item.
  `List<ThumbnailSet>`
  `getDriveItemThumbnails​(String itemId, ResourceId resourceId)`
  Gets the thumbnail images for a drive item with a specific resource context.
  `DriveItemVersion`
  `getDriveItemVersion​(String versionId, String itemId)`
  Gets a specific version of a drive item.
  `DriveItemVersion`
  `getDriveItemVersion​(String versionId, String itemId, ResourceId resourceId)`
  Gets a specific version of a drive item with a resource context.
  `List<DriveItemVersion>`
  `getDriveItemVersions​(String itemId)`
  Gets the version history of a drive item.
  `List<DriveItemVersion>`
  `getDriveItemVersions​(String itemId, ResourceId resourceId)`
  Gets the version history of a drive item with a specific resource context.
  `DriveItem`
  `getDriveRoot()`
  Gets the root folder of the user's default drive.
  `DriveItem`
  `getDriveRoot​(ResourceId resourceId)`
  Gets the root folder from a resource context.
  `DriveItem`
  `getDriveRoot​(String driveId)`
  Gets the root folder of a specific drive.
  `DriveItem`
  `getDriveRoot​(String driveId, ResourceId resourceId)`
  Gets the root folder of a specific drive within a resource context.
  `GetDrivesResponse`
  `getDrives()`
  Gets all accessible drives.
  `GetDrivesResponse`
  `getDrives​(Query query)`
  Gets drives with query options.
  `GetDrivesResponse`
  `getDrives​(ResourceId resourceId)`
  Gets drives with a specific resource context.
  `GetDrivesResponse`
  `getDrives​(ResourceId resourceId, Query query)`
  Gets drives with resource context and query options.
  `GetDrivesResponse`
  `getDrives​(String nextLink)`
  Gets the next page of drives using a next link.
  `Event`
  `getEvent​(EventMessageId eventMessageId)`
  Gets an event from an event message.
  `Event`
  `getEvent​(EventMessageId eventMessageId, UserId userId)`
  Gets an event from an event message for a specific user.
  `Event`
  `getEvent​(EventMessageId eventMessageId, String userId)`
  Gets an event from an event message for a specific user.
  `Event`
  `getEvent​(String eventId)`
  Gets a specific event by ID for the authenticated user.
  `Event`
  `getEvent​(String eventId, Query query)`
  Gets a specific event by ID with query options.
  `Event`
  `getEvent​(String eventId, UserId userId)`
  Gets a specific event by ID for a specific user.
  `Event`
  `getEvent​(String eventId, UserId userId, Query query)`
  Gets a specific event by ID for a specific user with query options.
  `Event`
  `getEvent​(String eventId, UserId userId, List<ExtendedPropertyId> extendedProperties)`
  `Event`
  `getEvent​(String eventId, String userId)`
  Gets a specific event by ID for a specific user.
  `Event`
  `getEvent​(String eventId, String userId, Query query)`
  Gets a specific event by ID for a specific user with query options.
  `Event`
  `getEvent​(String eventId, String userId, List<ExtendedPropertyId> extendedProperties)`
  `Event`
  `getEvent​(String eventId, List<ExtendedPropertyId> extendedProperties)`
  `EventChanges`
  `getEventChanges​(String nextLinkOrDeltaLink)`
  Gets event changes using a next link or delta link for change tracking.
  `EventChanges`
  `getEventChanges​(Date start, Date end)`
  Gets event changes within a specified time range for delta tracking.
  `EventChanges`
  `getEventChanges​(Date start, Date end, CalendarId calendarId)`
  Gets event changes for a specific calendar using CalendarId object.
  `EventChanges`
  `getEventChanges​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId)`
  Gets event changes from a specific calendar in a specific calendar group using ID objects.
  `EventChanges`
  `getEventChanges​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, Query query)`
  Gets event changes from a specific calendar in a specific calendar group with query options using ID objects.
  `EventChanges`
  `getEventChanges​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId)`
  Gets event changes from a specific calendar in a specific calendar group for a specific user using ID objects.
  `EventChanges`
  `getEventChanges​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId, Query query)`
  Gets event changes from a specific calendar in a specific calendar group for a specific user with query options using ID objects.
  `EventChanges`
  `getEventChanges​(Date start, Date end, CalendarId calendarId, Query query)`
  Gets event changes for a specific calendar with query options using CalendarId object.
  `EventChanges`
  `getEventChanges​(Date start, Date end, CalendarId calendarId, UserId userId)`
  Gets event changes for a specific calendar for a specific user.
  `EventChanges`
  `getEventChanges​(Date start, Date end, Query query)`
  Gets event changes within a specified time range with query options.
  `EventChanges`
  `getEventChanges​(Date start, Date end, String calendarId)`
  Gets event changes for a specific calendar.
  `EventChanges`
  `getEventChanges​(Date start, Date end, String calendarId, Query query)`
  Gets event changes for a specific calendar with query options.
  `EventChanges`
  `getEventChanges​(Date start, Date end, String calendarId, String calendarGroupId)`
  Gets event changes from a specific calendar in a specific calendar group.
  `EventChanges`
  `getEventChanges​(Date start, Date end, String calendarId, String calendarGroupId, Query query)`
  Gets event changes from a specific calendar in a specific calendar group with query options.
  `EventChanges`
  `getEventChanges​(Date start, Date end, String calendarId, String calendarGroupId, String userId)`
  Gets event changes from a specific calendar in a specific calendar group for a specific user.
  `EventChanges`
  `getEventChanges​(Date start, Date end, String calendarId, String calendarGroupId, String userId, Query query)`
  Gets event changes from a specific calendar in a specific calendar group for a specific user with query options.
  `List<Event>`
  `getEvents()`
  Lists all events for the authenticated user.
  `List<Event>`
  `getEvents​(CalendarId calendarId)`
  Lists events from a specific calendar.
  `List<Event>`
  `getEvents​(CalendarId calendarId, CalendarGroupId calendarGroupId)`
  Lists events from a calendar within a calendar group.
  `List<Event>`
  `getEvents​(CalendarId calendarId, CalendarGroupId calendarGroupId, Query query)`
  Lists events from a calendar within a calendar group with query options.
  `List<Event>`
  `getEvents​(CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId)`
  Lists events from a calendar within a calendar group for a specific user.
  `List<Event>`
  `getEvents​(CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId, Query query)`
  Lists events from a calendar within a calendar group for a specific user with query options.
  `List<Event>`
  `getEvents​(CalendarId calendarId, Query query)`
  Lists events from a specific calendar with query options.
  `List<Event>`
  `getEvents​(CalendarId calendarId, UserId userId)`
  Lists events from a specific calendar for a specific user.
  `List<Event>`
  `getEvents​(CalendarId calendarId, UserId userId, Query query)`
  Lists events from a specific calendar for a specific user with query options.
  `List<Event>`
  `getEvents​(Query query)`
  Lists all events with query options.
  `List<Event>`
  `getEvents​(UserId userId)`
  Lists all events for a specific user.
  `List<Event>`
  `getEvents​(UserId userId, Query query)`
  Lists all events for a specific user with query options.
  `List<Event>`
  `getEvents​(String calendarId)`
  Lists events from a specific calendar.
  `List<Event>`
  `getEvents​(String calendarId, Query query)`
  Lists events from a specific calendar with query options.
  `List<Event>`
  `getEvents​(String calendarId, UserId userId)`
  Lists events from a specific calendar for a specific user.
  `List<Event>`
  `getEvents​(String calendarId, UserId userId, Query query)`
  Lists events from a specific calendar for a specific user with query options.
  `List<Event>`
  `getEvents​(String calendarId, String calendarGroupId)`
  Lists events from a calendar within a calendar group.
  `List<Event>`
  `getEvents​(String calendarId, String calendarGroupId, Query query)`
  Lists events from a calendar within a calendar group with query options.
  `List<Event>`
  `getEvents​(String calendarId, String calendarGroupId, String userId)`
  Lists events from a calendar within a calendar group for a specific user.
  `List<Event>`
  `getEvents​(String calendarId, String calendarGroupId, String userId, Query query)`
  Lists events from a calendar within a calendar group for a specific user with query options.
  `ExchangeSettings`
  `getExchangeSettings()`
  `ExchangeSettings`
  `getExchangeSettings​(UserId userId)`
  `ExchangeSettings`
  `getExchangeSettings​(String userId)`
  `List<DriveItem>`
  `getFollowedDriveItems()`
  Gets all drive items that the user is following.
  `List<Site>`
  `getFollowedSites()`
  `List<Site>`
  `getFollowedSites​(Query query)`
  `List<Site>`
  `getFollowedSites​(String userId)`
  `List<Site>`
  `getFollowedSites​(String userId, Query query)`
  `Group`
  `getGroup​(String groupId)`
  Retrieves the properties and relationships of a group.
  `Calendar`
  `getGroupCalendar​(String groupId)`
  Gets the group calendar for a Microsoft 365 group.
  `List<Event>`
  `getGroupCalendarEvents​(String groupId)`
  Lists events from a group's calendar.
  `List<Event>`
  `getGroupCalendarEvents​(String groupId, Query query)`
  Lists events from a group's calendar with query options.
  `GroupChanges`
  `getGroupChanges()`
  Tracks changes to groups using delta query.
  `GroupChanges`
  `getGroupChanges​(Query query)`
  Tracks changes to groups with query options.
  `GroupChanges`
  `getGroupChanges​(String nextLinkOrDeltaLink)`
  Continues tracking group changes using a next link or delta link.
  `List<DirectoryObject>`
  `getGroupMemberOf​(String groupId)`
  Gets the groups and directory roles that a group is a direct member of.
  `List<DirectoryObject>`
  `getGroupMemberOf​(String groupId, Query query)`
  Gets the groups and directory roles that a group is a direct member of with optional query parameters.
  `List<DirectoryObject>`
  `getGroupMembers​(String groupId)`
  Gets the members of a specified group.
  `List<DirectoryObject>`
  `getGroupMembers​(String groupId, Query query)`
  Gets the members of a specified group with optional query parameters.
  `List<DirectoryObject>`
  `getGroupOwners​(String groupId)`
  Retrieves the owners of a group.
  `List<DirectoryObject>`
  `getGroupOwners​(String groupId, Query query)`
  Retrieves the owners of a group with query options.
  `List<Group>`
  `getGroups()`
  Retrieves a list of all groups in the organization.
  `List<Group>`
  `getGroups​(Query query)`
  Retrieves a list of groups with query options.
  `List<DirectoryObject>`
  `getGroupTransitiveMemberOf​(String groupId)`
  Gets the groups and directory roles that a group is a member of, including nested memberships.
  `List<DirectoryObject>`
  `getGroupTransitiveMemberOf​(String groupId, Query query)`
  Gets the groups and directory roles that a group is a member of with optional query parameters.
  `List<DirectoryObject>`
  `getGroupTransitiveMembers​(String groupId)`
  Gets the transitive members of a group, including nested group members.
  `List<DirectoryObject>`
  `getGroupTransitiveMembers​(String groupId, Query query)`
  Gets the transitive members of a group with optional query parameters.
  `String`
  `getHostUri()`
  Gets host uri.
  `Proxy`
  `getHttpURLConnectionProxy()`
  Gets HttpURLConnection proxy server.
  `List<Channel>`
  `getIncomingChannels​(String teamId)`
  Gets the list of incoming channels (channels shared with the team from other teams).
  `List<Channel>`
  `getIncomingChannels​(String teamId, Query query)`
  Gets the list of incoming channels with query options.
  `List<InferenceClassificationOverride>`
  `getInferenceClassificationOverrides()`
  `List<InferenceClassificationOverride>`
  `getInferenceClassificationOverrides​(Query query)`
  `List<InferenceClassificationOverride>`
  `getInferenceClassificationOverrides​(UserId userId)`
  `List<InferenceClassificationOverride>`
  `getInferenceClassificationOverrides​(UserId userId, Query query)`
  `List<InferenceClassificationOverride>`
  `getInferenceClassificationOverrides​(String userId)`
  `List<InferenceClassificationOverride>`
  `getInferenceClassificationOverrides​(String userId, Query query)`
  `List<Team>`
  `getJoinedTeams()`
  Gets the list of teams that the signed-in user is a member of.
  `List<Team>`
  `getJoinedTeams​(UserId userId)`
  Gets the list of teams that a specific user is a member of using UserId object.
  `List<Team>`
  `getJoinedTeams​(String userId)`
  Gets the list of teams that a specific user is a member of.
  `List`
  `getList​(String siteId, String listId)`
  `List`
  `getList​(String siteId, String listId, Query query)`
  `List`
  `getList​(String siteId, String listId, ResourceId resourceId)`
  `List`
  `getList​(String siteId, String listId, ResourceId resourceId, Query query)`
  `ContentType`
  `getListContentType​(String siteId, String listId, String contentTypeId)`
  `ContentType`
  `getListContentType​(String siteId, String listId, String contentTypeId, ResourceId resourceId)`
  `List<ContentType>`
  `getListContentTypes​(String siteId, String listId)`
  `List<ContentType>`
  `getListContentTypes​(String siteId, String listId, Query query)`
  `List<ContentType>`
  `getListContentTypes​(String siteId, String listId, ResourceId resourceId)`
  `ListItem`
  `getListItem​(String itemId, String listId, String siteId)`
  `ListItem`
  `getListItem​(String itemId, String listId, String siteId, Query query)`
  `ListItem`
  `getListItem​(String itemId, String listId, String siteId, ResourceId resourceId)`
  `ListItem`
  `getListItem​(String itemId, String listId, String siteId, ResourceId resourceId, Query query)`
  `List<ItemActivityStat>`
  `getListItemActivities​(String siteId, String listId, String itemId, Date startDateTime, Date endDateTime, ActivityInterval interval)`
  `List<ItemActivityStat>`
  `getListItemActivities​(String siteId, String listId, String itemId, Date startDateTime, Date endDateTime, ActivityInterval interval, ResourceId resourceId)`
  `List<ListItem>`
  `getListItems​(String listId, String siteId)`
  `List<ListItem>`
  `getListItems​(String listId, String siteId, Query query)`
  `List<ListItem>`
  `getListItems​(String listId, String siteId, ResourceId resourceId)`
  `List<ListItem>`
  `getListItems​(String listId, String siteId, ResourceId resourceId, Query query)`
  `List<ListItemVersion>`
  `getListItemVersions​(String siteId, String listId, String itemId)`
  `List<ListItemVersion>`
  `getListItemVersions​(String siteId, String listId, String itemId, ResourceId resourceId)`
  `List<List>`
  `getLists​(String siteId)`
  `List<List>`
  `getLists​(String siteId, Query query)`
  `List<List>`
  `getLists​(String siteId, ResourceId resourceId)`
  `List<List>`
  `getLists​(String siteId, ResourceId resourceId, Query query)`
  `String`
  `getLoginHostUri()`
  Gets login host uri.
  `MailboxFolder`
  `getMailboxFolder​(String mailboxId, String folderId)`
  `MailboxFolder`
  `getMailboxFolder​(String mailboxId, String folderId, Query query)`
  `MailboxFolderChanges`
  `getMailboxFolderChanges​(String mailboxId)`
  `MailboxFolderChanges`
  `getMailboxFolderChanges​(String mailboxId, String nextLinkOrDeltaLink)`
  `List<MailboxFolder>`
  `getMailboxFolders​(String mailboxId)`
  `List<MailboxFolder>`
  `getMailboxFolders​(String mailboxId, Query query)`
  `MailboxItem`
  `getMailboxItem​(String mailboxId, String folderId, String itemId)`
  `MailboxItem`
  `getMailboxItem​(String mailboxId, String folderId, String itemId, Query query)`
  `MailboxItem`
  `getMailboxItem​(String mailboxId, String folderId, String itemId, List<ExtendedPropertyId> extendedProperties)`
  `MailboxItem`
  `getMailboxItem​(String mailboxId, String folderId, String itemId, List<ExtendedPropertyId> extendedProperties, Query query)`
  `MailboxItemChanges`
  `getMailboxItemChanges​(String mailboxId, String folderId)`
  `MailboxItemChanges`
  `getMailboxItemChanges​(String mailboxId, String folderId, String nextLinkOrDeltaLink)`
  `MailboxSettings`
  `getMailboxSettings()`
  Retrieves mailbox settings for the authenticated user.
  `MailboxSettings`
  `getMailboxSettings​(UserId userId)`
  Retrieves mailbox settings for a specific user.
  `MailboxSettings`
  `getMailboxSettings​(String userId)`
  Retrieves mailbox settings for a specific user.
  `MailFolder`
  `getMailFolder​(StandardMailboxFolder standardMailboxFolder)`
  Gets a specific mail folder by standard mailbox folder.
  `MailFolder`
  `getMailFolder​(StandardMailboxFolder standardMailboxFolder, UserId userId)`
  Gets a specific mail folder by standard mailbox folder for a specific user using UserId object.
  `MailFolder`
  `getMailFolder​(StandardMailboxFolder standardMailboxFolder, String userId)`
  Gets a specific mail folder by standard mailbox folder for a specific user.
  `MailFolder`
  `getMailFolder​(String mailFolderId)`
  Gets a specific mail folder by ID.
  `MailFolder`
  `getMailFolder​(String mailFolderId, UserId userId)`
  Gets a specific mail folder by ID for a specific user using UserId object.
  `MailFolder`
  `getMailFolder​(String mailFolderId, String userId)`
  Gets a specific mail folder by ID for a specific user.
  `MailFolderChanges`
  `getMailFolderChanges()`
  Gets delta changes for mail folders for the signed-in user.
  `MailFolderChanges`
  `getMailFolderChanges​(Query query)`
  Gets delta changes for mail folders with query options.
  `MailFolderChanges`
  `getMailFolderChanges​(UserId userId)`
  Gets delta changes for mail folders for a specific user using UserId object.
  `MailFolderChanges`
  `getMailFolderChanges​(UserId userId, Query query)`
  Gets delta changes for mail folders for a specific user with all options.
  `MailFolderChanges`
  `getMailFolderChanges​(String nextLinkOrDeltaLink)`
  Gets delta changes for mail folders using a nextLink or deltaLink URL.
  `MailFolderChanges`
  `getMailFolderChanges​(String userId, Query query)`
  Gets delta changes for mail folders for a specific user with query options.
  `List<MailFolder>`
  `getMailFolders()`
  Gets the list of mail folders for the signed-in user.
  `List<MailFolder>`
  `getMailFolders​(Query query)`
  Gets the list of mail folders with query options.
  `List<MailFolder>`
  `getMailFolders​(UserId userId)`
  Gets the list of mail folders for a specific user using UserId object.
  `List<MailFolder>`
  `getMailFolders​(UserId userId, Query query)`
  Gets the list of mail folders for a specific user with all options.
  `List<MailFolder>`
  `getMailFolders​(String userId)`
  Gets the list of mail folders for a specific user.
  `List<MailFolder>`
  `getMailFolders​(String userId, Query query)`
  Gets the list of mail folders for a specific user with query options.
  `MailSearchFolder`
  `getMailSearchFolder​(String mailFolderId)`
  `MailSearchFolder`
  `getMailSearchFolder​(String mailFolderId, UserId userId)`
  `MailSearchFolder`
  `getMailSearchFolder​(String mailFolderId, String userId)`
  `List<MailTips>`
  `getMailTips​(List<String> emailAddresses)`
  `List<MailTips>`
  `getMailTips​(List<String> emailAddresses, UserId userId)`
  `List<MailTips>`
  `getMailTips​(List<String> emailAddresses, String userId)`
  `List<MailTips>`
  `getMailTips​(List<String> emailAddresses, List<MailTipsType> mailTipsTypes)`
  `List<MailTips>`
  `getMailTips​(List<String> emailAddresses, List<MailTipsType> mailTipsTypes, UserId userId)`
  `List<MailTips>`
  `getMailTips​(List<String> emailAddresses, List<MailTipsType> mailTipsTypes, String userId)`
  `Message`
  `getMessage​(String messageId)`
  Gets a specific message.
  `Message`
  `getMessage​(String messageId, Query query)`
  Gets a specific message with query options.
  `Message`
  `getMessage​(String messageId, UserId userId)`
  Gets a specific message for a specific user using UserId object.
  `Message`
  `getMessage​(String messageId, UserId userId, Query query)`
  Gets a specific message for a specific user with all options.
  `Message`
  `getMessage​(String messageId, UserId userId, List<ExtendedPropertyId> extendedProperties)`
  `Message`
  `getMessage​(String messageId, String userId)`
  Gets a specific message for a specific user.
  `Message`
  `getMessage​(String messageId, String userId, Query query)`
  Gets a specific message for a specific user with query options.
  `Message`
  `getMessage​(String messageId, String userId, List<ExtendedPropertyId> extendedProperties)`
  `Message`
  `getMessage​(String messageId, List<ExtendedPropertyId> extendedProperties)`
  `MessageChanges`
  `getMessageChanges​(Query query)`
  Gets delta changes for messages with query options.
  `MessageChanges`
  `getMessageChanges​(StandardMailboxFolder standardMailboxFolder)`
  Gets delta changes for messages in a standard mailbox folder.
  `MessageChanges`
  `getMessageChanges​(StandardMailboxFolder standardMailboxFolder, Query query)`
  Gets delta changes for messages in a standard mailbox folder with query options.
  `MessageChanges`
  `getMessageChanges​(StandardMailboxFolder standardMailboxFolder, UserId userId)`
  Gets delta changes for messages in a standard mailbox folder for a specific user using UserId object.
  `MessageChanges`
  `getMessageChanges​(StandardMailboxFolder standardMailboxFolder, UserId userId, Query query)`
  Gets delta changes for messages in a standard mailbox folder for a specific user with all options.
  `MessageChanges`
  `getMessageChanges​(StandardMailboxFolder standardMailboxFolder, String userId)`
  Gets delta changes for messages in a standard mailbox folder for a specific user.
  `MessageChanges`
  `getMessageChanges​(StandardMailboxFolder standardMailboxFolder, String userId, Query query)`
  Gets delta changes for messages in a standard mailbox folder for a specific user with query options.
  `MessageChanges`
  `getMessageChanges​(UserId userId)`
  Gets delta changes for messages for a specific user.
  `MessageChanges`
  `getMessageChanges​(UserId userId, Query query)`
  Gets delta changes for messages for a specific user with query options.
  `MessageChanges`
  `getMessageChanges​(String nextLinkOrDeltaLink)`
  Gets delta changes for messages using a nextLink or deltaLink URL.
  `MessageChanges`
  `getMessageChanges​(String folderId, Query query)`
  Gets delta changes for messages from a specific folder with query options.
  `MessageChanges`
  `getMessageChanges​(String folderId, UserId userId)`
  Gets delta changes for messages from a specific folder for a specific user using UserId object.
  `MessageChanges`
  `getMessageChanges​(String folderId, UserId userId, Query query)`
  Gets delta changes for messages from a specific folder for a specific user with all options.
  `MessageChanges`
  `getMessageChanges​(String folderId, String userId)`
  Gets delta changes for messages from a specific folder for a specific user.
  `MessageChanges`
  `getMessageChanges​(String folderId, String userId, Query query)`
  Gets delta changes for messages from a specific folder for a specific user with query options.
  `Message`
  `getMessageFile​(String messageId)`
  Gets a message as an MSG file format object.
  `Message`
  `getMessageFile​(String messageId, UserId userId)`
  Gets a message as an MSG file format object for a specific user using UserId object.
  `Message`
  `getMessageFile​(String messageId, UserId userId, List<ExtendedPropertyId> extendedProperties)`
  Gets a message as an MSG file format object with all options.
  `Message`
  `getMessageFile​(String messageId, String userId)`
  Gets a message as an MSG file format object for a specific user.
  `Message`
  `getMessageFile​(String messageId, String userId, List<ExtendedPropertyId> extendedProperties)`
  Gets a message as an MSG file format object for a specific user with extended properties.
  `String`
  `getMessageMimeContent​(String messageId)`
  Gets the MIME content of a message.
  `String`
  `getMessageMimeContent​(String messageId, UserId userId)`
  Gets the MIME content of a message for a specific user using UserId object.
  `String`
  `getMessageMimeContent​(String messageId, String userId)`
  Gets the MIME content of a message for a specific user.
  `List<MessageRule>`
  `getMessageRules()`
  Gets the list of message rules for the signed-in user.
  `List<MessageRule>`
  `getMessageRules​(Query query)`
  Gets the list of message rules with query options.
  `List<MessageRule>`
  `getMessageRules​(UserId userId)`
  Gets the list of message rules for a specific user using UserId object.
  `List<MessageRule>`
  `getMessageRules​(UserId userId, Query query)`
  Gets the list of message rules for a specific user with all options.
  `List<MessageRule>`
  `getMessageRules​(String userId)`
  Gets the list of message rules for a specific user.
  `List<MessageRule>`
  `getMessageRules​(String userId, Query query)`
  Gets the list of message rules for a specific user with query options.
  `List<Message>`
  `getMessages()`
  Gets the list of messages in the signed-in user's mailbox (including Inbox, Sent Items, and Deleted Items folders).
  `List<Message>`
  `getMessages​(Query query)`
  Gets the list of messages with query options.
  `List<Message>`
  `getMessages​(StandardMailboxFolder standardMailboxFolder)`
  Gets the list of messages from a standard mailbox folder.
  `List<Message>`
  `getMessages​(StandardMailboxFolder standardMailboxFolder, Query query)`
  Gets the list of messages from a standard mailbox folder with query options.
  `List<Message>`
  `getMessages​(StandardMailboxFolder standardMailboxFolder, UserId userId)`
  Gets the list of messages from a standard mailbox folder for a specific user using UserId object.
  `List<Message>`
  `getMessages​(StandardMailboxFolder standardMailboxFolder, UserId userId, Query query)`
  Gets the list of messages from a standard mailbox folder for a specific user with all options.
  `List<Message>`
  `getMessages​(StandardMailboxFolder standardMailboxFolder, String userId)`
  Gets the list of messages from a standard mailbox folder for a specific user.
  `List<Message>`
  `getMessages​(StandardMailboxFolder standardMailboxFolder, String userId, Query query)`
  Gets the list of messages from a standard mailbox folder for a specific user with query options.
  `List<Message>`
  `getMessages​(UserId userId)`
  Gets the list of messages for a specific user.
  `List<Message>`
  `getMessages​(UserId userId, Query query)`
  Gets the list of messages for a specific user with query options.
  `List<Message>`
  `getMessages​(String folderId)`
  Gets the list of messages from a specific folder.
  `List<Message>`
  `getMessages​(String folderId, Query query)`
  Gets the list of messages from a specific folder with query options.
  `List<Message>`
  `getMessages​(String folderId, UserId userId)`
  Gets the list of messages from a specific folder for a specific user using UserId object.
  `List<Message>`
  `getMessages​(String folderId, UserId userId, Query query)`
  Gets the list of messages from a specific folder for a specific user with all options.
  `List<Message>`
  `getMessages​(String folderId, String userId)`
  Gets the list of messages from a specific folder for a specific user.
  `List<Message>`
  `getMessages​(String folderId, String userId, Query query)`
  Gets the list of messages from a specific folder for a specific user with query options.
  `OAuthToken`
  `getOAuthToken()`
  `OAuthToken`
  `getOAuthTokenWithAuthorizationCode​(String authorizationCode, String authorizationCodeRedirectUri)`
  Obtains an OAuth 2.0 access token using an authorization code.
  `OAuthToken`
  `getOAuthTokenWithAuthorizationCode​(String authorizationCode, String authorizationCodeRedirectUri, String clientSecret)`
  Obtains an OAuth 2.0 access token using an authorization code and client secret.
  `OAuthToken`
  `getOAuthTokenWithClientAssertion​(String clientAssertion)`
  Obtains an OAuth 2.0 access token using a client assertion (JWT).
  `OAuthToken`
  `getOAuthTokenWithClientSecret​(String clientSecret)`
  Obtains an OAuth 2.0 access token using a client secret.
  `OAuthToken`
  `getOAuthTokenWithDeviceAuthorizationCode​(String deviceCode)`
  Obtains an OAuth 2.0 access token using a device code.
  `OAuthToken`
  `getOAuthTokenWithUsernamePassword​(String username, String password)`
  Obtains an OAuth 2.0 access token using resource owner password credentials.
  `OAuthToken`
  `getOAuthTokenWithUsernamePassword​(String username, String password, String clientSecret)`
  Obtains an OAuth 2.0 access token using resource owner password credentials with client secret.
  `OAuthToken`
  `getOAuthTokenWithUsernamePassword​(String username, String password, String clientSecret, String clientAssertion)`
  Obtains an OAuth 2.0 access token using resource owner password credentials with client secret and client assertion.
  `List<Event>`
  `getOccurrences​(String eventId, Date start, Date end)`
  Gets occurrences of a recurring event within a specified time range.
  `List<Event>`
  `getOccurrences​(String eventId, Date start, Date end, GroupId groupId)`
  Gets occurrences of a group recurring event.
  `List<Event>`
  `getOccurrences​(String eventId, Date start, Date end, GroupId groupId, Query query)`
  Gets occurrences of a group recurring event with query options.
  `List<Event>`
  `getOccurrences​(String eventId, Date start, Date end, Query query)`
  Gets occurrences of a recurring event with query options.
  `List<Event>`
  `getOccurrences​(String eventId, Date start, Date end, UserId userId)`
  Gets occurrences of a recurring event for a specific user.
  `List<Event>`
  `getOccurrences​(String eventId, Date start, Date end, UserId userId, Query query)`
  Gets occurrences of a recurring event for a specific user with query options.
  `OnlineMeeting`
  `getOnlineMeeting​(String onlineMeetingId)`
  `OnlineMeeting`
  `getOnlineMeeting​(String onlineMeetingId, UserId userId)`
  `OnlineMeeting`
  `getOnlineMeeting​(String onlineMeetingId, String userId)`
  `MeetingAttendanceReport`
  `getOnlineMeetingAttendanceReport​(String onlineMeetingId, String reportId)`
  `MeetingAttendanceReport`
  `getOnlineMeetingAttendanceReport​(String onlineMeetingId, String reportId, UserId userId)`
  `List<MeetingAttendanceReport>`
  `getOnlineMeetingAttendanceReports​(String onlineMeetingId)`
  `List<MeetingAttendanceReport>`
  `getOnlineMeetingAttendanceReports​(String onlineMeetingId, UserId userId)`
  `List<MeetingAttendanceReport>`
  `getOnlineMeetingAttendanceReports​(String onlineMeetingId, String userId)`
  `CallRecording`
  `getOnlineMeetingRecording​(String onlineMeetingId, String recordingId)`
  `CallRecording`
  `getOnlineMeetingRecording​(String onlineMeetingId, String recordingId, UserId userId)`
  `byte[]`
  `getOnlineMeetingRecordingContent​(String onlineMeetingId, String recordingId)`
  `byte[]`
  `getOnlineMeetingRecordingContent​(String onlineMeetingId, String recordingId, UserId userId)`
  `List<CallRecording>`
  `getOnlineMeetingRecordings​(String onlineMeetingId)`
  `List<CallRecording>`
  `getOnlineMeetingRecordings​(String onlineMeetingId, UserId userId)`
  `List<CallRecording>`
  `getOnlineMeetingRecordings​(String onlineMeetingId, String userId)`
  `CallTranscript`
  `getOnlineMeetingTranscript​(String onlineMeetingId, String transcriptId)`
  `CallTranscript`
  `getOnlineMeetingTranscript​(String onlineMeetingId, String transcriptId, UserId userId)`
  `byte[]`
  `getOnlineMeetingTranscriptContent​(String onlineMeetingId, String transcriptId)`
  `byte[]`
  `getOnlineMeetingTranscriptContent​(String onlineMeetingId, String transcriptId, UserId userId)`
  `List<CallTranscript>`
  `getOnlineMeetingTranscripts​(String onlineMeetingId)`
  `List<CallTranscript>`
  `getOnlineMeetingTranscripts​(String onlineMeetingId, UserId userId)`
  `List<CallTranscript>`
  `getOnlineMeetingTranscripts​(String onlineMeetingId, String userId)`
  `List<OutlookCategory>`
  `getOutlookCategories()`
  Gets all Outlook categories for the signed-in user.
  `List<OutlookCategory>`
  `getOutlookCategories​(Query query)`
  Gets all Outlook categories with query options.
  `List<OutlookCategory>`
  `getOutlookCategories​(UserId userId)`
  Gets all Outlook categories for a specific user using UserId object.
  `List<OutlookCategory>`
  `getOutlookCategories​(UserId userId, Query query)`
  Gets all Outlook categories for a specific user with query options using UserId object.
  `List<OutlookCategory>`
  `getOutlookCategories​(String userId)`
  Gets all Outlook categories for a specific user.
  `List<OutlookCategory>`
  `getOutlookCategories​(String userId, Query query)`
  Gets all Outlook categories for a specific user with query options.
  `OutlookCategory`
  `getOutlookCategory​(String categoryId)`
  Gets a specific Outlook category for the signed-in user.
  `OutlookCategory`
  `getOutlookCategory​(String categoryId, UserId userId)`
  Gets a specific Outlook category for a specific user using UserId object.
  `OutlookCategory`
  `getOutlookCategory​(String categoryId, String userId)`
  Gets a specific Outlook category for a specific user.
  `String`
  `getPassword()`
  Gets user's password.
  `PlannerBucket`
  `getPlannerBucket​(String bucketId)`
  Gets a specific planner bucket.
  `PlannerBucketChanges`
  `getPlannerBucketChanges​(String nextLinkOrDeltaLink)`
  Gets incremental changes to planner buckets using a previously obtained nextLink or deltaLink.
  `PlannerBucketChanges`
  `getPlannerBucketChanges​(String planId, Query query)`
  Gets incremental changes to buckets within a planner plan (delta query).
  `List<PlannerTask>`
  `getPlannerBucketTasks​(String bucketId)`
  Gets all tasks in a bucket.
  `PlannerPlan`
  `getPlannerPlan​(String planId)`
  Gets a specific planner plan.
  `List<PlannerBucket>`
  `getPlannerPlanBuckets​(String planId)`
  Gets all buckets in a plan.
  `PlannerPlanChanges`
  `getPlannerPlanChanges​(String nextLinkOrDeltaLink)`
  Gets incremental changes to planner plans using a previously obtained nextLink or deltaLink.
  `PlannerPlanChanges`
  `getPlannerPlanChanges​(String groupId, Query query)`
  Gets incremental changes to planner plans in a group (delta query).
  `PlannerPlanDetails`
  `getPlannerPlanDetails​(String planId)`
  Gets the details of a specific planner plan.
  `List<PlannerPlan>`
  `getPlannerPlans​(GroupId groupId)`
  Gets all plans for a group using a GroupId object.
  `List<PlannerPlan>`
  `getPlannerPlans​(String groupId)`
  Gets all plans for a group.
  `List<PlannerTask>`
  `getPlannerPlanTasks​(String planId)`
  Gets all tasks in a plan.
  `List<PlannerUsageRight>`
  `getPlannerPlanUsageRights​(String planId)`
  Gets the usage rights for a planner plan.
  `PlannerTask`
  `getPlannerTask​(String taskId)`
  Gets a specific planner task.
  `PlannerTaskChanges`
  `getPlannerTaskChanges​(String nextLinkOrDeltaLink)`
  Gets incremental changes to planner tasks using a previously obtained nextLink or deltaLink.
  `PlannerTaskChanges`
  `getPlannerTaskChanges​(String planId, Query query)`
  Gets incremental changes to tasks within a planner plan (delta query).
  `PlannerTaskDetails`
  `getPlannerTaskDetails​(String taskId)`
  Gets the details of a specific planner task.
  `List<PlannerPlan>`
  `getPlannerUserFavoritePlans()`
  Gets planner plans marked as favorite by the current user.
  `List<PlannerPlan>`
  `getPlannerUserFavoritePlans​(UserId userId)`
  Gets planner plans marked as favorite by a specific user using a UserId object.
  `List<PlannerPlan>`
  `getPlannerUserFavoritePlans​(String userId)`
  Gets planner plans marked as favorite by a specific user.
  `List<PlannerPlan>`
  `getPlannerUserRecentPlans()`
  Gets planner plans recently viewed by the current user.
  `List<PlannerPlan>`
  `getPlannerUserRecentPlans​(UserId userId)`
  Gets planner plans recently viewed by a specific user using a UserId object.
  `List<PlannerPlan>`
  `getPlannerUserRecentPlans​(String userId)`
  Gets planner plans recently viewed by a specific user.
  `List<PlannerTask>`
  `getPlannerUserTasks()`
  Gets planner tasks assigned to the current user.
  `List<PlannerTask>`
  `getPlannerUserTasks​(UserId userId)`
  Gets planner tasks assigned to a specific user using a UserId object.
  `List<PlannerTask>`
  `getPlannerUserTasks​(String userId)`
  Gets planner tasks assigned to a specific user.
  `org.apache.hc.core5.http.HttpHost`
  `getProxy()`
  Gets HttpClient proxy.
  `org.apache.hc.client5.http.auth.Credentials`
  `getProxyCredentials()`
  Gets proxy credentials.
  `int`
  `getReadTimeout()`
  Returns setting for read timeout.
  `List<DriveItem>`
  `getRecentDriveItems()`
  Gets recently accessed drive items.
  `List<Reminder>`
  `getReminderView​(Date startTime, Date endTime)`
  Gets reminders for the authenticated user within a time range.
  `List<Reminder>`
  `getReminderView​(Date startTime, Date endTime, UserId userId)`
  Gets reminders for a specific user within a time range.
  `List<Reminder>`
  `getReminderView​(Date startTime, Date endTime, String userId)`
  Gets reminders for a specific user within a time range.
  `org.apache.hc.client5.http.config.RequestConfig`
  `getRequestConfig()`
  Gets request configuration.
  `List<HttpHeader>`
  `getRequestHttpHeaders()`
  `List<HttpHeader>`
  `getResponseHttpHeaders()`
  `Room`
  `getRoom​(String roomId)`
  Gets a specific room by its ID.
  `RoomList`
  `getRoomList​(String id)`
  Gets a specific room list by ID.
  `List<RoomList>`
  `getRoomLists()`
  Gets all room lists in the organization.
  `List<Room>`
  `getRooms()`
  Gets all available rooms in the organization.
  `List<Room>`
  `getRooms​(Query query)`
  Gets rooms with query options.
  `List<Room>`
  `getRooms​(String roomListEmailAddress)`
  Gets rooms from a specific room list.
  `List<Room>`
  `getRooms​(String roomListEmailAddress, Query query)`
  Gets rooms from a specific room list with query options.
  `List<Site>`
  `getRootSites()`
  `List<Site>`
  `getRootSites​(Query query)`
  `List<ScheduleInformation>`
  `getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end)`
  Gets schedule information for users, rooms, or resources.
  `List<ScheduleInformation>`
  `getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, int availabilityViewInterval)`
  Gets schedule information with a custom availability view interval.
  `List<ScheduleInformation>`
  `getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, int availabilityViewInterval, UserId userId)`
  Gets schedule information for users, rooms, or resources with a custom availability view interval.
  `List<ScheduleInformation>`
  `getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, int availabilityViewInterval, String userId)`
  Gets schedule information for users, rooms, or resources with a custom availability view interval.
  `List<ScheduleInformation>`
  `getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, UserId userId)`
  Gets schedule information for users, rooms, or resources for a specific user.
  `List<ScheduleInformation>`
  `getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, String userId)`
  Gets schedule information for users, rooms, or resources for a specific user.
  `List<String>`
  `getScope()`
  `List<DriveItem>`
  `getSharedDriveItems()`
  Gets all drive items that have been shared with the user.
  `SharingPermission`
  `getSharingPermission​(String itemId, String permissionId)`
  Gets a specific sharing permission for a drive item.
  `SharingPermission`
  `getSharingPermission​(String itemId, String permissionId, ResourceId resourceId)`
  Gets a specific sharing permission for a drive item with a resource context.
  `List<SharingPermission>`
  `getSharingPermissions​(String itemId)`
  Gets all sharing permissions for a drive item.
  `List<SharingPermission>`
  `getSharingPermissions​(String itemId, ResourceId resourceId)`
  Gets all sharing permissions for a drive item with a specific resource context.
  `String`
  `getSignInRequestUri​(String redirectUri)`
  Generates a sign-in request URI for OpenID Connect authentication.
  `String`
  `getSignInRequestUri​(String redirectUri, String responseType)`
  Generates a sign-in request URI for OpenID Connect authentication with specified response type.
  `String`
  `getSignInRequestUri​(String redirectUri, String responseType, String responseMode)`
  Generates a sign-in request URI for OpenID Connect authentication with specified response type and mode.
  `String`
  `getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state)`
  Generates a sign-in request URI for OpenID Connect authentication with state parameter.
  `String`
  `getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state, String nonce)`
  Generates a sign-in request URI for OpenID Connect authentication with nonce parameter.
  `String`
  `getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state, String nonce, String loginHint)`
  Generates a sign-in request URI for OpenID Connect authentication with login hint.
  `String`
  `getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state, String nonce, String loginHint, String domainHint)`
  Generates a sign-in request URI for OpenID Connect authentication with domain hint.
  `String`
  `getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state, String nonce, String loginHint, String domainHint, String prompt)`
  Generates a sign-in request URI for OpenID Connect authentication with all optional parameters.
  `Site`
  `getSite()`
  `Site`
  `getSite​(ResourceId resourceId)`
  `Site`
  `getSite​(String siteId)`
  `Site`
  `getSite​(String siteId, ResourceId resourceId)`
  `Site`
  `getSiteByPath​(String hostName, String relativePath)`
  `Site`
  `getSiteByPath​(String hostName, String relativePath, Query query)`
  `SitePage`
  `getSitePage​(String siteId, String pageId)`
  `SitePage`
  `getSitePage​(String siteId, String pageId, Query query)`
  `SitePage`
  `getSitePage​(String siteId, String pageId, ResourceId resourceId)`
  `SitePage`
  `getSitePage​(String siteId, String pageId, ResourceId resourceId, Query query)`
  `List<SitePage>`
  `getSitePages​(String siteId)`
  `List<SitePage>`
  `getSitePages​(String siteId, Query query)`
  `List<SitePage>`
  `getSitePages​(String siteId, ResourceId resourceId)`
  `List<SitePage>`
  `getSitePages​(String siteId, ResourceId resourceId, Query query)`
  `List<WebPart>`
  `getSitePageWebParts​(String siteId, String sitePageId)`
  `List<WebPart>`
  `getSitePageWebParts​(String siteId, String sitePageId, Query query)`
  `Permission`
  `getSitePermission​(String siteId, String permissionId)`
  `Permission`
  `getSitePermission​(String siteId, String permissionId, ResourceId resourceId)`
  `List<Permission>`
  `getSitePermissions​(String siteId)`
  Gets the permissions for a site.
  `List<Permission>`
  `getSitePermissions​(String siteId, ResourceId resourceId)`
  Gets the permissions for a site.
  `List<Site>`
  `getSites​(String siteId)`
  `List<Site>`
  `getSites​(String siteId, Query query)`
  `List<Site>`
  `getSites​(String siteId, ResourceId resourceId)`
  `List<Site>`
  `getSites​(String siteId, ResourceId resourceId, Query query)`
  `DriveItem`
  `getStandardDriveFolder​(StandardDriveFolder standardDriveFolder)`
  Gets a standard system folder from the user's drive.
  `AsyncJobStatus`
  `getStatusReport​(String uri)`
  Gets the status of an asynchronous job, such as a long-running copy operation.
  `Subscription`
  `getSubscription​(String subscriptionId)`
  `List<Subscription>`
  `getSubscriptions()`
  `List<Subscription>`
  `getSubscriptions​(Query query)`
  `Team`
  `getTeam​(String teamId)`
  Gets a specific team by ID.
  `Team`
  `getTeam​(String teamId, Query query)`
  Gets a specific team by ID with query options.
  `List<Channel>`
  `getTeamChannels​(String teamId)`
  Gets the list of channels in a team.
  `List<Channel>`
  `getTeamChannels​(String teamId, Query query)`
  Gets the list of channels in a team with query options.
  `ConversationMember`
  `getTeamMember​(String teamId, String memberId)`
  Gets a specific team member.
  `List<ConversationMember>`
  `getTeamMembers​(String teamId)`
  Gets the list of members in a team.
  `List<ConversationMember>`
  `getTeamMembers​(String teamId, Query query)`
  Gets the list of members in a team with query options.
  `GetTeamsResponse`
  `getTeams()`
  Gets a list of all teams.
  `GetTeamsResponse`
  `getTeams​(String nextLink)`
  Gets a list of teams using a nextLink for pagination.
  `String`
  `getTenant()`
  `TodoTask`
  `getTodoTask​(String todoTaskListId, String todoTaskId)`
  Gets a specific task from a todo task list for the current user.
  `TodoTask`
  `getTodoTask​(String todoTaskListId, String todoTaskId, UserId userId)`
  Gets a specific task from a todo task list using UserId object.
  `TodoTask`
  `getTodoTask​(String todoTaskListId, String todoTaskId, String userId)`
  Gets a specific task from a todo task list for a specific user.
  `TodoTaskList`
  `getTodoTaskList​(String todoTaskListId)`
  Gets a specific todo task list for the current user.
  `TodoTaskList`
  `getTodoTaskList​(String todoTaskListId, UserId userId)`
  Gets a specific todo task list using UserId object.
  `TodoTaskList`
  `getTodoTaskList​(String todoTaskListId, String userId)`
  Gets a specific todo task list for a specific user.
  `List<TodoTaskList>`
  `getTodoTaskLists()`
  Gets the list of todo task lists for the current user.
  `List<TodoTaskList>`
  `getTodoTaskLists​(UserId userId)`
  Gets the list of todo task lists using UserId object.
  `List<TodoTaskList>`
  `getTodoTaskLists​(String userId)`
  Gets the list of todo task lists for a specific user.
  `List<TodoTask>`
  `getTodoTasks​(String todoTaskListId)`
  Gets the list of tasks in a todo task list for the current user.
  `List<TodoTask>`
  `getTodoTasks​(String todoTaskListId, UserId userId)`
  Gets the list of tasks in a todo task list using UserId object.
  `List<TodoTask>`
  `getTodoTasks​(String todoTaskListId, String userId)`
  Gets the list of tasks in a todo task list for a specific user.
  `User`
  `getUser()`
  Retrieves the profile of the authenticated user.
  `User`
  `getUser​(UserId userId)`
  Retrieves a user's profile.
  `User`
  `getUser​(String userId)`
  Retrieves a user's profile by ID or user principal name.
  `UserChanges`
  `getUserChanges()`
  Tracks changes to users using delta query.
  `UserChanges`
  `getUserChanges​(Query query)`
  Tracks changes to users with query options.
  `UserChanges`
  `getUserChanges​(String nextLinkOrDeltaLink)`
  Continues tracking user changes using a next link or delta link from a previous call.
  `String`
  `getUsername()`
  Gets username.
  `Presence`
  `getUserPresence()`
  Gets the presence information for the authenticated user.
  `Presence`
  `getUserPresence​(UserId userId)`
  Gets the presence information for a specific user.
  `Presence`
  `getUserPresence​(String userId)`
  Gets the presence information for a specific user.
  `List<User>`
  `getUsers()`
  Retrieves a list of all users in the organization.
  `List<User>`
  `getUsers​(Query query)`
  Retrieves a list of users with query options.
  `WorkbookApplication`
  `getWorkbookApplication​(String workbookId)`
  `WorkbookApplication`
  `getWorkbookApplication​(String workbookId, ResourceId resourceId)`
  `Chart`
  `getWorkbookChart​(String workbookId, String worksheetId, String chartId)`
  `Chart`
  `getWorkbookChart​(String workbookId, String worksheetId, String chartId, ResourceId resourceId)`
  `byte[]`
  `getWorkbookChartImage​(String workbookId, String worksheetId, String chartId)`
  `byte[]`
  `getWorkbookChartImage​(String workbookId, String worksheetId, String chartId, int width, int height)`
  `byte[]`
  `getWorkbookChartImage​(String workbookId, String worksheetId, String chartId, int width, int height, ChartFittingMode fittingMode, ResourceId resourceId)`
  `List<Chart>`
  `getWorkbookCharts​(String workbookId, String worksheetId)`
  `List<Chart>`
  `getWorkbookCharts​(String workbookId, String worksheetId, Query query)`
  `List<Chart>`
  `getWorkbookCharts​(String workbookId, String worksheetId, ResourceId resourceId)`
  `List<Chart>`
  `getWorkbookCharts​(String workbookId, String worksheetId, ResourceId resourceId, Query query)`
  `List<CommentReply>`
  `getWorkbookCommentReplies​(String workbookId, String commentId)`
  `List<CommentReply>`
  `getWorkbookCommentReplies​(String workbookId, String commentId, ResourceId resourceId)`
  `List<Comment>`
  `getWorkbookComments​(String workbookId)`
  `List<Comment>`
  `getWorkbookComments​(String workbookId, ResourceId resourceId)`
  `List<NamedItem>`
  `getWorkbookNamedItems​(String workbookId)`
  `List<NamedItem>`
  `getWorkbookNamedItems​(String workbookId, Query query)`
  `List<NamedItem>`
  `getWorkbookNamedItems​(String workbookId, ResourceId resourceId)`
  `List<NamedItem>`
  `getWorkbookNamedItems​(String workbookId, ResourceId resourceId, Query query)`
  `String`
  `getWorkbookSessionId()`
  Gets the workbook session ID used for workbook operations.
  `List<Table>`
  `getWorkbookTables​(String workbookId)`
  `List<Table>`
  `getWorkbookTables​(String workbookId, Query query)`
  `List<Table>`
  `getWorkbookTables​(String workbookId, ResourceId resourceId)`
  `List<Table>`
  `getWorkbookTables​(String workbookId, ResourceId resourceId, Query query)`
  `WorkingHours`
  `getWorkingHours()`
  Retrieves working hours for the authenticated user.
  `WorkingHours`
  `getWorkingHours​(UserId userId)`
  Retrieves working hours for a specific user.
  `WorkingHours`
  `getWorkingHours​(String userId)`
  Retrieves working hours for a specific user.
  `Worksheet`
  `getWorksheet​(String workbookId, String worksheetId)`
  `Worksheet`
  `getWorksheet​(String workbookId, String worksheetId, ResourceId resourceId)`
  `Cell`
  `getWorksheetCell​(String workbookId, String worksheetId, int row, int column)`
  `Cell`
  `getWorksheetCell​(String workbookId, String worksheetId, int row, int column, ResourceId resourceId)`
  `List<Worksheet>`
  `getWorksheets​(String workbookId)`
  `List<Worksheet>`
  `getWorksheets​(String workbookId, Query query)`
  `List<Worksheet>`
  `getWorksheets​(String workbookId, ResourceId resourceId)`
  `List<Worksheet>`
  `getWorksheets​(String workbookId, ResourceId resourceId, Query query)`
  `Range`
  `getWorksheetUsedRange​(String workbookId, String worksheetId)`
  `Range`
  `getWorksheetUsedRange​(String workbookId, String worksheetId, boolean valuesOnly)`
  `Range`
  `getWorksheetUsedRange​(String workbookId, String worksheetId, boolean valuesOnly, ResourceId resourceId)`
  `Range`
  `getWorksheetUsedRange​(String workbookId, String worksheetId, ResourceId resourceId)`
  `List<Permission>`
  `grantSitePermission​(String siteId, String permissionId, List<String> roles)`
  `List<Permission>`
  `grantSitePermission​(String siteId, String permissionId, List<String> roles, ResourceId resourceId)`
  `void`
  `hideChatForUser​(String chatId, String userId)`
  `void`
  `importMailboxItem​(MailboxItemImportSession importSession, byte[] content)`
  `void`
  `importMailboxItem​(String importUrl, byte[] content)`
  `CommsOperation`
  `inviteParticipants​(String callId, List<InvitationParticipantInfo> participants, String clientContext)`
  `boolean`
  `isAcceptGzipEncoding()`
  Return whether to accept GZIP encoding, that is, whether to send the HTTP "Accept-Encoding" header with "gzip" as value.
  `boolean`
  `isContentTypePublished​(String siteId, String contentTypeId)`
  `boolean`
  `isContentTypePublished​(String siteId, String contentTypeId, ResourceId resourceId)`
  `List<MailboxItem>`
  `listMailboxItems​(String mailboxId, String folderId)`
  `List<MailboxItem>`
  `listMailboxItems​(String mailboxId, String folderId, Query query)`
  `void`
  `markChatReadForUser​(String chatId, String userId)`
  `void`
  `markChatUnreadForUser​(String chatId, String userId)`
  `Message`
  `markMessageAsJunk​(String messageId)`
  `Message`
  `markMessageAsJunk​(String messageId, UserId userId)`
  `Message`
  `markMessageAsJunk​(String messageId, String userId)`
  `Message`
  `markMessageAsNotJunk​(String messageId)`
  `Message`
  `markMessageAsNotJunk​(String messageId, UserId userId)`
  `Message`
  `markMessageAsNotJunk​(String messageId, String userId)`
  `DriveItem`
  `moveDriveItem​(String itemId, String destinationName)`
  Moves and/or renames a drive item.
  `DriveItem`
  `moveDriveItem​(String itemId, String destinationName, ItemReference destinationFolder)`
  Moves and/or renames a drive item to a different folder.
  `DriveItem`
  `moveDriveItem​(String itemId, String destinationName, ItemReference destinationFolder, ResourceId resourceId)`
  Moves and/or renames a drive item with full control over destination and context.
  `DriveItem`
  `moveDriveItem​(String itemId, String destinationName, ResourceId resourceId)`
  Moves and/or renames a drive item with a specific resource context.
  `MailFolder`
  `moveMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder)`
  Moves a mail folder to a standard mailbox folder.
  `MailFolder`
  `moveMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder, UserId userId)`
  Moves a mail folder to a standard mailbox folder for a specific user using UserId object.
  `MailFolder`
  `moveMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder, String userId)`
  Moves a mail folder to a standard mailbox folder for a specific user.
  `MailFolder`
  `moveMailFolder​(String sourceFolderId, String destinationParentFolderId)`
  Moves a mail folder to another folder.
  `MailFolder`
  `moveMailFolder​(String sourceFolderId, String destinationParentFolderId, UserId userId)`
  Moves a mail folder to another folder for a specific user with all options.
  `MailFolder`
  `moveMailFolder​(String sourceFolderId, String destinationParentFolderId, String userId)`
  Moves a mail folder to another folder for a specific user.
  `Message`
  `moveMessage​(String messageId, StandardMailboxFolder standardMailboxFolder)`
  Moves a message to a standard mailbox folder.
  `Message`
  `moveMessage​(String messageId, StandardMailboxFolder standardMailboxFolder, UserId userId)`
  Moves a message to a standard mailbox folder for a specific user using UserId object.
  `Message`
  `moveMessage​(String messageId, StandardMailboxFolder standardMailboxFolder, String userId)`
  Moves a message to a standard mailbox folder for a specific user.
  `Message`
  `moveMessage​(String messageId, String destintionFolderId)`
  Moves a message to a specific folder.
  `Message`
  `moveMessage​(String messageId, String destintionFolderId, UserId userId)`
  Moves a message to a specific folder for a specific user using UserId object.
  `Message`
  `moveMessage​(String messageId, String destintionFolderId, String userId)`
  Moves a message to a specific folder for a specific user.
  `PlannerPlan`
  `movePlannerPlanToContainer​(String planId, PlannerPlanContainer container)`
  Moves a planner plan to a different container.
  `CommsOperation`
  `muteCall​(String callId, String clientContext)`
  `CommsOperation`
  `playPrompt​(String callId, List<MediaPrompt> prompts, String clientContext)`
  `void`
  `publishContentType​(String siteId, String contentTypeId)`
  `void`
  `publishContentType​(String siteId, String contentTypeId, ResourceId resourceId)`
  `void`
  `publishSitePage​(String siteId, String pageId)`
  `void`
  `publishSitePage​(String siteId, String pageId, ResourceId resourceId)`
  `RecordOperation`
  `recordResponse​(String callId, List<MediaPrompt> prompts, String clientContext)`
  `void`
  `redirectCall​(String callId, List<InvitationParticipantInfo> targets)`
  `OAuthToken`
  `refreshOAuthToken()`
  Refreshes the current OAuth 2.0 access token using the stored refresh token.
  `OAuthToken`
  `refreshOAuthToken​(String clientId, String tenant, String refreshToken)`
  Refreshes an OAuth 2.0 access token with specified parameters.
  `OAuthToken`
  `refreshOAuthToken​(String clientId, String tenant, String refreshToken, List<String> scope)`
  Refreshes an OAuth 2.0 access token with specified parameters and scopes.
  `OAuthToken`
  `refreshOAuthToken​(String clientId, String tenant, String refreshToken, List<String> scope, String clientSecret)`
  Refreshes an OAuth 2.0 access token with all parameters including client secret.
  `void`
  `refreshWorkbookSession​(String workbookId)`
  `void`
  `refreshWorkbookSession​(String workbookId, ResourceId resourceId)`
  `void`
  `refreshWorkbookSession​(String workbookId, String sessionId)`
  `void`
  `refreshWorkbookSession​(String workbookId, String sessionId, ResourceId resourceId)`
  `void`
  `rejectCall​(String callId, RejectReason reason)`
  `void`
  `removeChatMember​(String chatId, String membershipId)`
  `void`
  `removeParticipant​(String callId, String participantId)`
  `void`
  `replyTo​(String messageId)`
  Replies to the sender of a message.
  `void`
  `replyTo​(String messageId, Message updateMessage)`
  Replies to the sender with updated message properties.
  `void`
  `replyTo​(String messageId, Message updateMessage, UserId userId)`
  Replies to the sender with updated properties for a specific user.
  `void`
  `replyTo​(String messageId, UserId userId)`
  Replies to the sender for a specific user.
  `void`
  `replyTo​(String messageId, String newBody)`
  Replies to the sender with a comment.
  `void`
  `replyTo​(String messageId, String newBody, Message updateMessage)`
  Replies to the sender with a comment and updated properties.
  `void`
  `replyTo​(String messageId, String newBody, Message updateMessage, UserId userId)`
  Replies to the sender with all options for a specific user.
  `void`
  `replyTo​(String messageId, String newBody, UserId userId)`
  Replies to the sender with a comment for a specific user.
  `void`
  `replyToAll​(String messageId)`
  Replies to all recipients of a message.
  `void`
  `replyToAll​(String messageId, Message updateMessage)`
  Replies to all recipients with updated message properties.
  `void`
  `replyToAll​(String messageId, Message updateMessage, UserId userId)`
  Replies to all recipients with updated properties for a specific user.
  `void`
  `replyToAll​(String messageId, UserId userId)`
  Replies to all recipients for a specific user.
  `void`
  `replyToAll​(String messageId, String newBody)`
  Replies to all recipients with a comment.
  `void`
  `replyToAll​(String messageId, String newBody, Message updateMessage)`
  Replies to all recipients with a comment and updated properties.
  `void`
  `replyToAll​(String messageId, String newBody, Message updateMessage, UserId userId)`
  Replies to all recipients with all options for a specific user.
  `void`
  `replyToAll​(String messageId, String newBody, UserId userId)`
  Replies to all recipients with a comment for a specific user.
  `void`
  `restoreDriveItemVersion​(String versionId, String itemId)`
  Restores a previous version of a drive item, making it the current version.
  `void`
  `restoreDriveItemVersion​(String versionId, String itemId, ResourceId resourceId)`
  Restores a previous version of a drive item with a specific resource context.
  `SearchDriveItemsResponse`
  `searchDriveItems​(String searchText)`
  Searches for drive items using a text query.
  `SearchDriveItemsResponse`
  `searchDriveItems​(String searchText, Query query)`
  Searches for drive items with query options.
  `SearchDriveItemsResponse`
  `searchDriveItems​(String searchText, Query query, ResourceId resourceId)`
  Searches for drive items with full control over query and location.
  `SearchDriveItemsResponse`
  `searchDriveItems​(String searchText, ResourceId resourceId)`
  Searches for drive items with a specific resource context.
  `List<Site>`
  `searchSites​(String keyword)`
  `List<Site>`
  `searchSites​(String keyword, Query query)`
  `ChatMessage`
  `sendChannelMessage​(String teamId, String channelId, ChatMessage message)`
  Sends a new message to a team channel using a ChatMessage object.
  `ChatMessage`
  `sendChannelMessageReply​(String teamId, String channelId, String messageId, ChatMessage replyMessage)`
  Sends a reply to a message in a team channel using a ChatMessage object.
  `ChatMessage`
  `sendChannelMessageReply​(String teamId, String channelId, String messageId, String replyMessage)`
  Sends a reply to a message in a team channel using a plain text message.
  `ChatMessage`
  `sendChatMessage​(String chatId, ChatMessage message)`
  Sends a new message to a chat using a ChatMessage object.
  `ChatMessage`
  `sendChatMessage​(String chatId, String message)`
  Sends a new message to a chat using a plain text message.
  `ChatMessage`
  `sendChatMessage​(String teamId, String channelId, String message)`
  Sends a new message to a team channel using a plain text message.
  `void`
  `sendMessage​(Message message)`
  Sends a new message without saving to Sent Items folder.
  `void`
  `sendMessage​(Message message, boolean saveToSentItems)`
  Sends a new message with option to save to Sent Items folder.
  `void`
  `sendMessage​(Message message, boolean saveToSentItems, UserId userId)`
  Sends a new message for a specific user with all options.
  `void`
  `sendMessage​(Message message, boolean saveToSentItems, String userId)`
  Sends a new message for a specific user with option to save to Sent Items folder.
  `void`
  `sendMessage​(Message message, UserId userId)`
  Sends a new message for a specific user using UserId object without saving to Sent Items folder.
  `void`
  `sendMessage​(Message message, String userId)`
  Sends a new message for a specific user without saving to Sent Items folder.
  `void`
  `sendMessage​(String messageId)`
  Sends an existing draft message.
  `void`
  `sendMessage​(String messageId, UserId userId)`
  Sends an existing draft message for a specific user using UserId object.
  `void`
  `sendMessage​(String messageId, String userId)`
  Sends an existing draft message for a specific user.
  `void`
  `sendMimeMessage​(String mimeContent)`
  Sends a message in MIME format.
  `void`
  `sendMimeMessage​(String mimeContent, UserId userId)`
  Sends a message in MIME format for a specific user using UserId object.
  `void`
  `sendMimeMessage​(String mimeContent, String userId)`
  Sends a message in MIME format for a specific user.
  `DriveItem`
  `sendSharingInvitation​(SharingInvitationMessage message, String itemId)`
  Sends a sharing invitation for a drive item to specified recipients.
  `DriveItem`
  `sendSharingInvitation​(SharingInvitationMessage message, String itemId, ResourceId resourceId)`
  Sends a sharing invitation for a drive item with a specific resource context.
  `void`
  `setAcceptGzipEncoding​(boolean acceptGzipEncoding)`
  Set whether to accept GZIP encoding, that is, whether to send the HTTP "Accept-Encoding" header with "gzip" as value.
  `void`
  `setAuthorizationCode​(String authorizationCode)`
  `void`
  `setAuthorizationCodeRedirectUri​(String authorizationCodeRedirectUri)`
  `void`
  `setChannelMessageReaction​(String teamId, String channelId, String messageId, String reactionType)`
  `void`
  `setChatMessageReaction​(String chatId, String messageId, String reactionType)`
  `void`
  `setclientAssertion​(String clientAssertion)`
  `void`
  `setClientConnectionManager​(org.apache.hc.client5.http.io.HttpClientConnectionManager connectionManager)`
  Sets connection manager.
  `void`
  `setClientId​(String clientId)`
  `void`
  `setClientSecret​(String clientSecret)`
  `void`
  `setConnectTimeout​(int connectTimeout)`
  Sets the specified timeout value, in milliseconds, to be used when opening a communications link to the resource referenced by the HttpURLConnection.
  `void`
  `setDeviceCode​(String deviceCode)`
  `void`
  `setHostUri​(String hostUri)`
  Sets host uri.
  `void`
  `setHttpURLConnection​(boolean useHttpURLConnection)`
  Sets the http url connection.
  `void`
  `setHttpURLConnectionProxy​(Proxy httpURLConnectionProxy)`
  Sets HttpURLConnection proxy server.
  `void`
  `setLoginHostUri​(String loginHostUri)`
  Sets login host uri.
  `MailboxSettings`
  `setMailboxSettings​(MailboxSettings mailboxSettings)`
  Updates mailbox settings for the authenticated user.
  `MailboxSettings`
  `setMailboxSettings​(MailboxSettings mailboxSettings, UserId userId)`
  Updates mailbox settings for a specific user.
  `MailboxSettings`
  `setMailboxSettings​(MailboxSettings mailboxSettings, String userId)`
  Updates mailbox settings for a specific user.
  `void`
  `setOAuthToken​(OAuthToken oAuthToken)`
  `void`
  `setPassword​(String password)`
  Sets user's password.
  `void`
  `setProxy​(org.apache.hc.core5.http.HttpHost proxy)`
  Sets HttpClient proxy.
  `void`
  `setProxyCredentials​(org.apache.hc.client5.http.auth.Credentials proxyCredentials)`
  Sets proxy credentials.
  `void`
  `setReadTimeout​(int readTimeout)`
  Sets the read timeout to the specified timeout, in milliseconds.
  `void`
  `setRequestConfig​(org.apache.hc.client5.http.config.RequestConfig requestConfig)`
  Sets request configuration.
  `void`
  `setTenant​(String tenant)`
  `void`
  `setUsername​(String username)`
  Sets username.
  `void`
  `setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity)`
  Sets the authenticated user's presence information.
  `void`
  `setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, Duration expirationDuration)`
  Sets the authenticated user's presence information with an expiration duration.
  `void`
  `setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, Duration expirationDuration, UserId userId)`
  Sets a specific user's presence information with an expiration duration.
  `void`
  `setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, Duration expirationDuration, String userId)`
  Sets a specific user's presence information with an expiration duration.
  `void`
  `setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, UserId userId)`
  Sets a specific user's presence information.
  `void`
  `setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, String userId)`
  Sets a specific user's presence information.
  `void`
  `setUserPresence​(String sessionId, String availability, String activity)`
  Sets the authenticated user's presence information using string values.
  `void`
  `setUserPresence​(String sessionId, String availability, String activity, Duration expirationDuration)`
  Sets the authenticated user's presence information with expiration using string values.
  `void`
  `setUserPresence​(String sessionId, String availability, String activity, Duration expirationDuration, UserId userId)`
  Sets a specific user's presence information with expiration using string values.
  `void`
  `setUserPresence​(String sessionId, String availability, String activity, Duration expirationDuration, String userId)`
  Sets a specific user's presence information with expiration using string values.
  `void`
  `setUserPresence​(String sessionId, String availability, String activity, UserId userId)`
  Sets a specific user's presence information using string values.
  `void`
  `setUserPresence​(String sessionId, String availability, String activity, String userId)`
  Sets a specific user's presence information using string values.
  `void`
  `setWorkbookChartPosition​(String workbookId, String worksheetId, String chartId, String startCell)`
  `void`
  `setWorkbookChartPosition​(String workbookId, String worksheetId, String chartId, String startCell, ResourceId resourceId)`
  `void`
  `setWorkbookChartPosition​(String workbookId, String worksheetId, String chartId, String startCell, String endCell)`
  `void`
  `setWorkbookChartPosition​(String workbookId, String worksheetId, String chartId, String startCell, String endCell, ResourceId resourceId)`
  `void`
  `setWorkbookSessionId​(String workbookSessionId)`
  Sets the workbook session ID used for workbook operations.
  `void`
  `snoozeReminder​(String eventId, DateTimeTimeZone newReminderTime)`
  Snoozes a reminder for an event to a new time.
  `void`
  `snoozeReminder​(String eventId, DateTimeTimeZone newReminderTime, UserId userId)`
  Snoozes a reminder for an event to a new time for a specific user using UserId object.
  `void`
  `snoozeReminder​(String eventId, DateTimeTimeZone newReminderTime, String userId)`
  Snoozes a reminder for an event to a new time for a specific user.
  `void`
  `softDeleteChannelMessage​(String teamId, String channelId, String messageId)`
  `void`
  `softDeleteChatMessage​(String chatId, String messageId, UserId userId)`
  `void`
  `softDeleteChatMessage​(String chatId, String messageId, String userId)`
  `void`
  `tentativelyAcceptEvent​(String eventId)`
  Tentatively accepts an event invitation and sends a response to the organizer.
  `void`
  `tentativelyAcceptEvent​(String eventId, boolean sendResponse)`
  Tentatively accepts an event with control over sending response.
  `void`
  `tentativelyAcceptEvent​(String eventId, boolean sendResponse, TimeSlot proposedNewTime)`
  Tentatively accepts an event with a proposed new time.
  `void`
  `tentativelyAcceptEvent​(String eventId, boolean sendResponse, TimeSlot proposedNewTime, UserId userId)`
  Tentatively accepts an event with a proposed new time for a specific user.
  `void`
  `tentativelyAcceptEvent​(String eventId, boolean sendResponse, UserId userId)`
  Tentatively accepts an event for a specific user with send response control.
  `void`
  `tentativelyAcceptEvent​(String eventId, boolean sendResponse, String newBody)`
  Tentatively accepts an event with a comment message.
  `void`
  `tentativelyAcceptEvent​(String eventId, boolean sendResponse, String newBody, TimeSlot proposedNewTime)`
  Tentatively accepts an event with comment and proposed new time.
  `void`
  `tentativelyAcceptEvent​(String eventId, boolean sendResponse, String newBody, TimeSlot proposedNewTime, UserId userId)`
  Tentatively accepts an event with all options for a specific user.
  `void`
  `tentativelyAcceptEvent​(String eventId, boolean sendResponse, String newBody, UserId userId)`
  Tentatively accepts an event for a specific user with a comment message.
  `void`
  `tentativelyAcceptEvent​(String eventId, TimeSlot proposedNewTime)`
  Tentatively accepts an event with a proposed new time.
  `void`
  `tentativelyAcceptEvent​(String eventId, TimeSlot proposedNewTime, UserId userId)`
  Tentatively accepts an event with a proposed new time for a specific user.
  `void`
  `tentativelyAcceptEvent​(String eventId, UserId userId)`
  Tentatively accepts an event for a specific user.
  `void`
  `transferCall​(String callId, InvitationParticipantInfo transferTarget)`
  `Hashtable<String,​String>`
  `translateExchangeIds​(List<String> sourceIds, ExchangeIdFormat sourceIdFormat, ExchangeIdFormat targetIdFormat)`
  Translates Exchange IDs from one format to another for the signed-in user.
  `Hashtable<String,​String>`
  `translateExchangeIds​(List<String> sourceIds, ExchangeIdFormat sourceIdFormat, ExchangeIdFormat targetIdFormat, UserId userId)`
  Translates Exchange IDs from one format to another for a specific user using UserId object.
  `Hashtable<String,​String>`
  `translateExchangeIds​(List<String> sourceIds, ExchangeIdFormat sourceIdFormat, ExchangeIdFormat targetIdFormat, String userId)`
  Translates Exchange IDs from one format to another for a specific user.
  `void`
  `unarchiveChannel​(String teamId, String channelId)`
  `PlannerPlan`
  `unarchivePlannerPlan​(String planId)`
  Unarchives a planner plan.
  `PlannerPlan`
  `unarchivePlannerPlan​(String planId, String justification)`
  Unarchives a planner plan with a justification.
  `void`
  `undoSoftDeleteChannelMessage​(String teamId, String channelId, String messageId)`
  `void`
  `undoSoftDeleteChatMessage​(String chatId, String messageId, UserId userId)`
  `void`
  `undoSoftDeleteChatMessage​(String chatId, String messageId, String userId)`
  `void`
  `unfollowDriveItem​(String itemId)`
  Unfollows a drive item for the signed-in user.
  `void`
  `unfollowDriveItem​(String itemId, ResourceId resourceId)`
  Unfollows a drive item with a specific resource context.
  `void`
  `unhideChatForUser​(String chatId, String userId)`
  `CommsOperation`
  `unmuteCall​(String callId, String clientContext)`
  `void`
  `unpublishContentType​(String siteId, String contentTypeId)`
  `void`
  `unpublishContentType​(String siteId, String contentTypeId, ResourceId resourceId)`
  `void`
  `unsetChannelMessageReaction​(String teamId, String channelId, String messageId, String reactionType)`
  `void`
  `unsetChatMessageReaction​(String chatId, String messageId, String reactionType)`
  `void`
  `unsubscribe​(String messageId)`
  `void`
  `unsubscribe​(String messageId, UserId userId)`
  `void`
  `unsubscribe​(String messageId, String userId)`
  `Calendar`
  `updateCalendar​(Calendar calendar)`
  Updates a calendar in the signed-in user's mailbox.
  `Calendar`
  `updateCalendar​(Calendar calendar, UserId userId)`
  Updates a calendar for a specific user using UserId object.
  `Calendar`
  `updateCalendar​(Calendar calendar, String userId)`
  Updates a calendar for a specific user.
  `Calendar`
  `updateCalendar​(Calendar calendar, List<String> propertyNames)`
  Updates specific properties of a calendar.
  `Calendar`
  `updateCalendar​(Calendar calendar, List<String> propertyNames, UserId userId)`
  Updates specific properties of a calendar for a specific user.
  `CalendarGroup`
  `updateCalendarGroup​(CalendarGroup calendarGroup)`
  Updates a calendar group for the authenticated user.
  `CalendarGroup`
  `updateCalendarGroup​(CalendarGroup calendarGroup, UserId userId)`
  Updates a calendar group for a specific user.
  `CalendarGroup`
  `updateCalendarGroup​(CalendarGroup calendarGroup, String userId)`
  Updates a calendar group for a specific user.
  `CalendarGroup`
  `updateCalendarGroup​(CalendarGroup calendarGroup, List<String> propertyNames)`
  Updates specific properties of a calendar group.
  `CalendarGroup`
  `updateCalendarGroup​(CalendarGroup calendarGroup, List<String> propertyNames, UserId userId)`
  Updates specific properties of a calendar group for a specific user.
  `Channel`
  `updateChannel​(String teamId, Channel channel)`
  Updates a channel's properties.
  `Channel`
  `updateChannel​(String teamId, Channel channel, List<String> propertyNames)`
  Updates specific properties of a channel.
  `ConversationMember`
  `updateChannelMember​(String teamId, String channelId, ConversationMember member)`
  `ChatMessage`
  `updateChannelMessage​(String teamId, String channelId, ChatMessage message)`
  `ChatMessage`
  `updateChannelMessage​(String teamId, String channelId, ChatMessage message, List<String> propertyNames)`
  `Chat`
  `updateChat​(Chat chat)`
  `Chat`
  `updateChat​(Chat chat, List<String> propertyNames)`
  `ChatMessage`
  `updateChatMessage​(String chatId, ChatMessage message)`
  `ChatMessage`
  `updateChatMessage​(String chatId, ChatMessage message, List<String> propertyNames)`
  `ColumnDefinition`
  `updateColumn​(ColumnDefinition column, String siteId)`
  `ColumnDefinition`
  `updateColumn​(ColumnDefinition column, String siteId, ResourceId resourceId)`
  `ColumnDefinition`
  `updateColumn​(ColumnDefinition column, String siteId, List<String> propertyNames)`
  `Contact`
  `updateContact​(Contact contact)`
  Updates a contact for the signed-in user.
  `Contact`
  `updateContact​(Contact contact, UserId userId)`
  Updates a contact for a specific user using UserId object.
  `Contact`
  `updateContact​(Contact contact, String userId)`
  Updates a contact for a specific user.
  `Contact`
  `updateContact​(Contact contact, List<String> propertyNames)`
  Updates specific properties of a contact.
  `Contact`
  `updateContact​(Contact contact, List<String> propertyNames, UserId userId)`
  Updates specific properties of a contact for a specific user.
  `ContentType`
  `updateContentType​(ContentType contentType, String siteId)`
  `ContentType`
  `updateContentType​(ContentType contentType, String siteId, ResourceId resourceId)`
  `ContentType`
  `updateContentType​(ContentType contentType, String siteId, List<String> propertyNames)`
  `Event`
  `updateEvent​(Event eventItem)`
  Updates an event in the signed-in user's calendar.
  `Event`
  `updateEvent​(Event eventItem, UserId userId)`
  Updates an event for a specific user using UserId object.
  `Event`
  `updateEvent​(Event eventItem, String userId)`
  Updates an event for a specific user.
  `Event`
  `updateEvent​(Event eventItem, List<String> propertyNames)`
  Updates specific properties of an event.
  `Event`
  `updateEvent​(Event eventItem, List<String> propertyNames, UserId userId)`
  Updates specific properties of an event for a specific user.
  `void`
  `updateGroup​(Group group)`
  Updates all properties of a group.
  `void`
  `updateGroup​(Group group, List<String> propertyNames)`
  Updates specific properties of a group.
  `InferenceClassificationOverride`
  `updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride)`
  `InferenceClassificationOverride`
  `updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, UserId userId)`
  `InferenceClassificationOverride`
  `updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, String userId)`
  `InferenceClassificationOverride`
  `updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, List<String> propertyNames)`
  `InferenceClassificationOverride`
  `updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, List<String> propertyNames, UserId userId)`
  `List`
  `updateList​(List list, String siteId)`
  `List`
  `updateList​(List list, String siteId, ResourceId resourceId)`
  `List`
  `updateList​(List list, String siteId, List<String> propertyNames)`
  `ColumnDefinition`
  `updateListColumn​(ColumnDefinition column, String siteId, String listId)`
  `ColumnDefinition`
  `updateListColumn​(ColumnDefinition column, String siteId, String listId, ResourceId resourceId)`
  `ContentType`
  `updateListContentType​(ContentType contentType, String siteId, String listId)`
  `ContentType`
  `updateListContentType​(ContentType contentType, String siteId, String listId, ResourceId resourceId)`
  `ListItem`
  `updateListItem​(String itemId, String listId, String siteId, List<ListItemField> fields)`
  `ListItem`
  `updateListItem​(String itemId, String listId, String siteId, List<ListItemField> fields, ResourceId resourceId)`
  `MailboxFolder`
  `updateMailboxFolder​(MailboxFolder folder, String mailboxId)`
  `MailboxFolder`
  `updateMailboxFolder​(MailboxFolder folder, String mailboxId, List<String> propertyNames)`
  `MailFolder`
  `updateMailFolder​(MailFolder mailFolder)`
  Updates a mail folder.
  `MailFolder`
  `updateMailFolder​(MailFolder mailFolder, UserId userId)`
  Updates a mail folder for a specific user using UserId object.
  `MailFolder`
  `updateMailFolder​(MailFolder mailFolder, String userId)`
  Updates a mail folder for a specific user.
  `MailFolder`
  `updateMailFolder​(MailFolder mailFolder, List<String> propertyNames)`
  Updates specific properties of a mail folder.
  `MailFolder`
  `updateMailFolder​(MailFolder mailFolder, List<String> propertyNames, UserId userId)`
  Updates specific properties of a mail folder for a specific user with all options.
  `Message`
  `updateMessage​(Message message)`
  Updates a message.
  `Message`
  `updateMessage​(Message message, UserId userId)`
  Updates a message for a specific user using UserId object.
  `Message`
  `updateMessage​(Message message, String userId)`
  Updates a message for a specific user.
  `Message`
  `updateMessage​(Message message, List<String> propertyNames)`
  Updates specific properties of a message.
  `Message`
  `updateMessage​(Message message, List<String> propertyNames, UserId userId)`
  Updates specific properties of a message for a specific user with all options.
  `MessageRule`
  `updateMessageRule​(MessageRule messageRule)`
  Updates a message rule.
  `MessageRule`
  `updateMessageRule​(MessageRule messageRule, UserId userId)`
  Updates a message rule for a specific user using UserId object.
  `MessageRule`
  `updateMessageRule​(MessageRule messageRule, String userId)`
  Updates a message rule for a specific user.
  `MessageRule`
  `updateMessageRule​(MessageRule messageRule, List<String> propertyNames)`
  Updates specific properties of a message rule.
  `MessageRule`
  `updateMessageRule​(MessageRule messageRule, List<String> propertyNames, UserId userId)`
  Updates specific properties of a message rule for a specific user with all options.
  `OnlineMeeting`
  `updateOnlineMeeting​(OnlineMeeting onlineMeeting)`
  `OnlineMeeting`
  `updateOnlineMeeting​(OnlineMeeting onlineMeeting, UserId userId)`
  `OnlineMeeting`
  `updateOnlineMeeting​(OnlineMeeting onlineMeeting, String userId)`
  `OnlineMeeting`
  `updateOnlineMeeting​(OnlineMeeting onlineMeeting, List<String> propertyNames)`
  `OnlineMeeting`
  `updateOnlineMeeting​(OnlineMeeting onlineMeeting, List<String> propertyNames, UserId userId)`
  `OutlookCategory`
  `updateOutlookCategory​(OutlookCategory category)`
  Updates an Outlook category for the signed-in user.
  `OutlookCategory`
  `updateOutlookCategory​(OutlookCategory category, UserId userId)`
  Updates an Outlook category for a specific user using UserId object.
  `OutlookCategory`
  `updateOutlookCategory​(OutlookCategory category, String userId)`
  Updates an Outlook category for a specific user.
  `OutlookCategory`
  `updateOutlookCategory​(OutlookCategory category, List<String> propertyNames)`
  Updates specific properties of an Outlook category.
  `OutlookCategory`
  `updateOutlookCategory​(OutlookCategory category, List<String> propertyNames, UserId userId)`
  Updates specific properties of an Outlook category for a specific user.
  `void`
  `updatePlannerBucket​(PlannerBucket bucket)`
  Updates a planner bucket.
  `void`
  `updatePlannerBucket​(PlannerBucket bucket, List<String> propertyNames)`
  Updates specific properties of a planner bucket.
  `void`
  `updatePlannerPlan​(PlannerPlan plan)`
  Updates a planner plan.
  `void`
  `updatePlannerPlan​(PlannerPlan plan, List<String> propertyNames)`
  Updates specific properties of a planner plan.
  `PlannerPlanDetails`
  `updatePlannerPlanDetails​(String planId, PlannerPlanDetails details)`
  Updates the details of a planner plan.
  `PlannerPlanDetails`
  `updatePlannerPlanDetails​(String planId, PlannerPlanDetails details, List<String> propertyNames)`
  Updates specific properties of the details of a planner plan.
  `void`
  `updatePlannerTask​(PlannerTask task)`
  Updates a planner task.
  `void`
  `updatePlannerTask​(PlannerTask task, List<String> propertyNames)`
  Updates specific properties of a planner task.
  `PlannerTaskDetails`
  `updatePlannerTaskDetails​(String taskId, PlannerTaskDetails details)`
  Updates the details of a planner task.
  `PlannerTaskDetails`
  `updatePlannerTaskDetails​(String taskId, PlannerTaskDetails details, List<String> propertyNames)`
  Updates specific properties of the details of a planner task.
  `SitePage`
  `updateSitePage​(SitePage page, String siteId)`
  `SitePage`
  `updateSitePage​(SitePage page, String siteId, ResourceId resourceId)`
  `SitePage`
  `updateSitePage​(SitePage page, String siteId, List<String> propertyNames)`
  `Permission`
  `updateSitePermission​(String siteId, String permissionId, List<String> roles)`
  `Permission`
  `updateSitePermission​(String siteId, String permissionId, List<String> roles, ResourceId resourceId)`
  `Subscription`
  `updateSubscription​(Subscription subscription)`
  `void`
  `updateTeam​(Team team)`
  Updates a team.
  `void`
  `updateTeam​(Team team, List<String> propertyNames)`
  Updates specific properties of a team.
  `ConversationMember`
  `updateTeamMember​(String teamId, ConversationMember member)`
  Updates a team member's properties.
  `TodoTask`
  `updateTodoTask​(String todoTaskListId, TodoTask todoTask)`
  Updates a task in a todo task list for the current user.
  `TodoTask`
  `updateTodoTask​(String todoTaskListId, TodoTask todoTask, UserId userId)`
  Updates a task in a todo task list using UserId object.
  `TodoTask`
  `updateTodoTask​(String todoTaskListId, TodoTask todoTask, String userId)`
  Updates a task in a todo task list for a specific user.
  `TodoTask`
  `updateTodoTask​(String todoTaskListId, TodoTask todoTask, List<String> propertyNames)`
  Updates specific properties of a task in a todo task list for the current user.
  `TodoTask`
  `updateTodoTask​(String todoTaskListId, TodoTask todoTask, List<String> propertyNames, UserId userId)`
  Updates specific properties of a task in a todo task list with all options.
  `TodoTaskList`
  `updateTodoTaskList​(TodoTaskList todoTaskList)`
  Updates a todo task list for the current user.
  `TodoTaskList`
  `updateTodoTaskList​(TodoTaskList todoTaskList, UserId userId)`
  Updates a todo task list using UserId object.
  `TodoTaskList`
  `updateTodoTaskList​(TodoTaskList todoTaskList, String userId)`
  Updates a todo task list for a specific user.
  `TodoTaskList`
  `updateTodoTaskList​(TodoTaskList todoTaskList, List<String> propertyNames)`
  Updates specific properties of a todo task list for the current user.
  `TodoTaskList`
  `updateTodoTaskList​(TodoTaskList todoTaskList, List<String> propertyNames, UserId userId)`
  Updates specific properties of a todo task list with all options.
  `void`
  `updateUser​(User user)`
  Updates a user's properties.
  `void`
  `updateUser​(User user, List<String> propertyNames)`
  Updates specific properties of a user.
  `DriveItem`
  `uploadDriveItem​(UploadSession uploadSession, byte[] content)`
  Uploads a large file using an upload session with content from a byte array.
  `DriveItem`
  `uploadDriveItem​(UploadSession uploadSession, InputStream stream)`
  Uploads a large file using an upload session from a stream.
  `DriveItem`
  `uploadDriveItem​(UploadSession uploadSession, InputStream stream, int bufferSize)`
  Uploads a large file using an upload session from a stream with custom buffer size.
  `DriveItem`
  `uploadDriveItem​(UploadSession uploadSession, String filePath)`
  Uploads a large file using an upload session from a file path.
  `DriveItem`
  `uploadDriveItem​(UploadSession uploadSession, String filePath, int bufferSize)`
  Uploads a large file using an upload session from a file path with custom buffer size.
  `DriveItem`
  `uploadDriveItem​(String itemId, byte[] content)`
  Uploads or replaces the content of a drive item using a byte array.
  `DriveItem`
  `uploadDriveItem​(String itemId, ResourceId resourceId, byte[] content)`
  Uploads or replaces the content of a drive item with a specific resource context.
  `DriveItem`
  `uploadDriveItem​(String itemId, ResourceId resourceId, InputStream stream)`
  Uploads or replaces the content of a drive item with a specific resource context.
  `DriveItem`
  `uploadDriveItem​(String itemId, InputStream stream)`
  Uploads or replaces the content of a drive item using a stream.
  `UploadResult`
  `uploadDriveItemWithProgress​(UploadSession uploadSession, byte[] content)`
  Uploads a file using an upload session and reports progress.
  `UploadResult`
  `uploadDriveItemWithProgress​(UploadSession uploadSession, InputStream stream)`
  Uploads a file using an upload session from a stream and reports progress.
  `UploadResult`
  `uploadDriveItemWithProgress​(UploadSession uploadSession, InputStream stream, int bufferSize)`
  Uploads a file using an upload session from a stream with a custom buffer size and reports progress.
  `UploadResult`
  `uploadDriveItemWithProgress​(UploadSession uploadSession, InputStream stream, int bufferSize, UploadProgressListener progressListener)`
  Uploads a file using an upload session from a stream with a custom buffer size and a progress listener.
  `UploadResult`
  `uploadDriveItemWithProgress​(UploadSession uploadSession, String filePath)`
  Uploads a file using an upload session from a file path and reports progress.
  `UploadResult`
  `uploadDriveItemWithProgress​(UploadSession uploadSession, String filePath, int bufferSize)`
  Uploads a file using an upload session from a file path with a custom buffer size and reports progress.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### GraphClient

    public GraphClient()
    Initializes a new instance of the GraphClient class.

- ## Method Details

  - ### getSignInRequestUri

    public String getSignInRequestUri​(String redirectUri)
    Generates a sign-in request URI for OpenID Connect authentication.
    Parameters:
      `redirectUri` - the URI to redirect to after authentication
    Returns:
      the complete sign-in request URI
    See Also:
      OpenID Connect on Microsoft identity platform

  - ### getSignInRequestUri

    public String getSignInRequestUri​(String redirectUri, String responseType)
    Generates a sign-in request URI for OpenID Connect authentication with specified response type.
    Parameters:
      `redirectUri` - the URI to redirect to after authentication
      `responseType` - the OAuth 2.0 response type (e.g., "code", "id_token", "token")
    Returns:
      the complete sign-in request URI
    See Also:
      OpenID Connect on Microsoft identity platform

  - ### getSignInRequestUri

    public String getSignInRequestUri​(String redirectUri, String responseType, String responseMode)
    Generates a sign-in request URI for OpenID Connect authentication with specified response type and mode.
    Parameters:
      `redirectUri` - the URI to redirect to after authentication
      `responseType` - the OAuth 2.0 response type (e.g., "code", "id_token", "token")
      `responseMode` - how the authorization response should be returned (e.g., "query", "fragment", "form_post")
    Returns:
      the complete sign-in request URI
    See Also:
      OpenID Connect on Microsoft identity platform

  - ### getSignInRequestUri

    public String getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state)
    Generates a sign-in request URI for OpenID Connect authentication with state parameter.
    Parameters:
      `redirectUri` - the URI to redirect to after authentication
      `responseType` - the OAuth 2.0 response type (e.g., "code", "id_token", "token")
      `responseMode` - how the authorization response should be returned (e.g., "query", "fragment", "form_post")
      `state` - an opaque value used to maintain state between the request and callback for CSRF protection
    Returns:
      the complete sign-in request URI
    See Also:
      OpenID Connect on Microsoft identity platform

  - ### getSignInRequestUri

    public String getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state, String nonce)
    Generates a sign-in request URI for OpenID Connect authentication with nonce parameter.
    Parameters:
      `redirectUri` - the URI to redirect to after authentication
      `responseType` - the OAuth 2.0 response type (e.g., "code", "id_token", "token")
      `responseMode` - how the authorization response should be returned (e.g., "query", "fragment", "form_post")
      `state` - an opaque value used to maintain state between the request and callback for CSRF protection
      `nonce` - a string value used to associate a client session with an ID token to mitigate replay attacks
    Returns:
      the complete sign-in request URI
    See Also:
      OpenID Connect on Microsoft identity platform

  - ### getSignInRequestUri

    public String getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state, String nonce, String loginHint)
    Generates a sign-in request URI for OpenID Connect authentication with login hint.
    Parameters:
      `redirectUri` - the URI to redirect to after authentication
      `responseType` - the OAuth 2.0 response type (e.g., "code", "id_token", "token")
      `responseMode` - how the authorization response should be returned (e.g., "query", "fragment", "form_post")
      `state` - an opaque value used to maintain state between the request and callback for CSRF protection
      `nonce` - a string value used to associate a client session with an ID token to mitigate replay attacks
      `loginHint` - optional hint about the user's email or username to pre-fill the sign-in page
    Returns:
      the complete sign-in request URI
    See Also:
      OpenID Connect on Microsoft identity platform

  - ### getSignInRequestUri

    public String getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state, String nonce, String loginHint, String domainHint)
    Generates a sign-in request URI for OpenID Connect authentication with domain hint.
    Parameters:
      `redirectUri` - the URI to redirect to after authentication
      `responseType` - the OAuth 2.0 response type (e.g., "code", "id_token", "token")
      `responseMode` - how the authorization response should be returned (e.g., "query", "fragment", "form_post")
      `state` - an opaque value used to maintain state between the request and callback for CSRF protection
      `nonce` - a string value used to associate a client session with an ID token to mitigate replay attacks
      `loginHint` - optional hint about the user's email or username to pre-fill the sign-in page
      `domainHint` - specifies the tenant or domain for authentication (e.g., "consumers", "organizations", or tenant domain)
    Returns:
      the complete sign-in request URI
    See Also:
      OpenID Connect on Microsoft identity platform

  - ### getSignInRequestUri

    public String getSignInRequestUri​(String redirectUri, String responseType, String responseMode, String state, String nonce, String loginHint, String domainHint, String prompt)
    Generates a sign-in request URI for OpenID Connect authentication with all optional parameters.
    Parameters:
      `redirectUri` - the URI to redirect to after authentication
      `responseType` - the OAuth 2.0 response type (e.g., "code", "id_token", "token")
      `responseMode` - how the authorization response should be returned (e.g., "query", "fragment", "form_post")
      `state` - an opaque value used to maintain state between the request and callback for CSRF protection
      `nonce` - a string value used to associate a client session with an ID token to mitigate replay attacks
      `loginHint` - optional hint about the user's email or username to pre-fill the sign-in page
      `domainHint` - specifies the tenant or domain for authentication (e.g., "consumers", "organizations", or tenant domain)
      `prompt` - controls the user interaction and consent prompts (e.g., "login", "consent", "select_account", "none")
    Returns:
      the complete sign-in request URI
    See Also:
      OpenID Connect on Microsoft identity platform

  - ### getOAuthTokenWithAuthorizationCode

    public OAuthToken getOAuthTokenWithAuthorizationCode​(String authorizationCode, String authorizationCodeRedirectUri) throws GraphException
    Obtains an OAuth 2.0 access token using an authorization code.

    This method implements the authorization code flow, exchanging an authorization code received from the authorization endpoint for an access token.

    Parameters:
      `authorizationCode` - the authorization code received from the authorization endpoint
      `authorizationCodeRedirectUri` - the redirect URI used in the authorization request
    Returns:
      an OAuthToken containing the access token and related information
    Throws:
      `GraphException` - if the token request fails
    See Also:
      Authorization code flow

  - ### getOAuthTokenWithAuthorizationCode

    public OAuthToken getOAuthTokenWithAuthorizationCode​(String authorizationCode, String authorizationCodeRedirectUri, String clientSecret) throws GraphException
    Obtains an OAuth 2.0 access token using an authorization code and client secret.

    This method implements the authorization code flow with client authentication, exchanging an authorization code for an access token using a confidential client.

    Parameters:
      `authorizationCode` - the authorization code received from the authorization endpoint
      `authorizationCodeRedirectUri` - the redirect URI used in the authorization request
      `clientSecret` - the client secret for confidential client authentication
    Returns:
      an OAuthToken containing the access token and related information
    Throws:
      `GraphException` - if the token request fails
    See Also:
      Authorization code flow

  - ### getAuthorizationCodeRequestUri

    public String getAuthorizationCodeRequestUri​(String redirectUri)
    Generates an authorization code request URI for OAuth 2.0 authorization code flow.
    Parameters:
      `redirectUri` - the URI to redirect to after authorization
    Returns:
      the complete authorization code request URI
    See Also:
      Authorization code flow

  - ### getAuthorizationCodeRequestUri

    public String getAuthorizationCodeRequestUri​(String redirectUri, String responseMode)
    Generates an authorization code request URI with specified response mode.
    Parameters:
      `redirectUri` - the URI to redirect to after authorization
      `responseMode` - how the authorization response should be returned (e.g., "query", "fragment", "form_post")
    Returns:
      the complete authorization code request URI
    See Also:
      Authorization code flow

  - ### getAuthorizationCodeRequestUri

    public String getAuthorizationCodeRequestUri​(String redirectUri, String responseMode, String state)
    Generates an authorization code request URI with response mode and state parameter.
    Parameters:
      `redirectUri` - the URI to redirect to after authorization
      `responseMode` - how the authorization response should be returned (e.g., "query", "fragment", "form_post")
      `state` - an opaque value used to maintain state between the request and callback for CSRF protection
    Returns:
      the complete authorization code request URI
    See Also:
      Authorization code flow

  - ### getOAuthTokenWithClientAssertion

    public OAuthToken getOAuthTokenWithClientAssertion​(String clientAssertion) throws GraphException
    Obtains an OAuth 2.0 access token using a client assertion (JWT).

    This method implements the client credentials flow with JWT-based client authentication, typically used for service-to-service authentication without user context.

    Parameters:
      `clientAssertion` - a JSON Web Token (JWT) signed with the client's certificate for authentication
    Returns:
      an OAuthToken containing the access token and related information
    Throws:
      `GraphException` - if the token request fails
    See Also:
      Client credentials flow

  - ### getOAuthTokenWithClientSecret

    public OAuthToken getOAuthTokenWithClientSecret​(String clientSecret) throws GraphException
    Obtains an OAuth 2.0 access token using a client secret.

    This method implements the client credentials flow, typically used for service-to-service authentication without user context. The client secret is used for authentication.

    Parameters:
      `clientSecret` - the client secret registered for the application
    Returns:
      an OAuthToken containing the access token and related information
    Throws:
      `GraphException` - if the token request fails
    See Also:
      Client credentials flow

  - ### getOAuthTokenWithUsernamePassword

    public OAuthToken getOAuthTokenWithUsernamePassword​(String username, String password) throws GraphException
    Obtains an OAuth 2.0 access token using resource owner password credentials.

    This method implements the Resource Owner Password Credentials (ROPC) flow. Note: This flow is not recommended for production applications as it requires handling user passwords directly. Use authorization code flow or device code flow instead.

    Parameters:
      `username` - the user's username or email address
      `password` - the user's password
    Returns:
      an OAuthToken containing the access token and related information
    Throws:
      `GraphException` - if the token request fails
    See Also:
      Resource Owner Password Credentials flow

  - ### getOAuthTokenWithUsernamePassword

    public OAuthToken getOAuthTokenWithUsernamePassword​(String username, String password, String clientSecret) throws GraphException
    Obtains an OAuth 2.0 access token using resource owner password credentials with client secret.

    This method implements the Resource Owner Password Credentials (ROPC) flow with client authentication. Note: This flow is not recommended for production applications.

    Parameters:
      `username` - the user's username or email address
      `password` - the user's password
      `clientSecret` - the client secret for confidential client authentication
    Returns:
      an OAuthToken containing the access token and related information
    Throws:
      `GraphException` - if the token request fails
    See Also:
      Resource Owner Password Credentials flow

  - ### getOAuthTokenWithUsernamePassword

    public OAuthToken getOAuthTokenWithUsernamePassword​(String username, String password, String clientSecret, String clientAssertion) throws GraphException
    Obtains an OAuth 2.0 access token using resource owner password credentials with client secret and client assertion.

    This method implements the Resource Owner Password Credentials (ROPC) flow with enhanced client authentication. Note: This flow is not recommended for production applications.

    Parameters:
      `username` - the user's username or email address
      `password` - the user's password
      `clientSecret` - the client secret for confidential client authentication
      `clientAssertion` - a JSON Web Token (JWT) for additional client authentication
    Returns:
      an OAuthToken containing the access token and related information
    Throws:
      `GraphException` - if the token request fails
    See Also:
      Resource Owner Password Credentials flow

  - ### getDeviceAuthorizationCode

    public DeviceAuthorizationCode getDeviceAuthorizationCode() throws GraphException
    Obtains a device authorization code for device code flow authentication.

    This method initiates the device code flow by requesting a device code and user code. The user must navigate to the verification URL and enter the user code to complete authentication.

    Returns:
      a DeviceAuthorizationCode containing the device code, user code, and verification URL
    Throws:
      `GraphException` - if the request fails
    See Also:
      Device authorization grant flow

  - ### getOAuthTokenWithDeviceAuthorizationCode

    public OAuthToken getOAuthTokenWithDeviceAuthorizationCode​(String deviceCode) throws GraphException
    Obtains an OAuth 2.0 access token using a device code.

    This method completes the device code flow by exchanging a device code for an access token. This should be called after the user has completed authentication at the verification URL.

    Parameters:
      `deviceCode` - the device code obtained from getDeviceAuthorizationCode()
    Returns:
      an OAuthToken containing the access token and related information
    Throws:
      `GraphException` - if the token request fails or if the user hasn't completed authentication
    See Also:
      Device authorization grant flow

  - ### refreshOAuthToken

    public OAuthToken refreshOAuthToken() throws GraphException
    Refreshes the current OAuth 2.0 access token using the stored refresh token.

    This method uses the refresh token from the current OAuthToken to obtain a new access token. The client must have a valid refresh token stored in the current OAuthToken instance.

    Returns:
      a new OAuthToken containing the refreshed access token
    Throws:
      `GraphException` - if the refresh fails or if no refresh token is available
    See Also:
      Refresh access tokens

  - ### refreshOAuthToken

    public OAuthToken refreshOAuthToken​(String clientId, String tenant, String refreshToken) throws GraphException
    Refreshes an OAuth 2.0 access token with specified parameters.
    Parameters:
      `clientId` - the client ID (application ID) of the app
      `tenant` - the tenant ID or domain name
      `refreshToken` - the refresh token to use for obtaining a new access token
    Returns:
      a new OAuthToken containing the refreshed access token
    Throws:
      `GraphException` - if the refresh fails
    See Also:
      Refresh access tokens

  - ### refreshOAuthToken

    public OAuthToken refreshOAuthToken​(String clientId, String tenant, String refreshToken, List<String> scope) throws GraphException
    Refreshes an OAuth 2.0 access token with specified parameters and scopes.
    Parameters:
      `clientId` - the client ID (application ID) of the app
      `tenant` - the tenant ID or domain name
      `refreshToken` - the refresh token to use for obtaining a new access token
      `scope` - list of permission scopes to request (e.g., "User.Read", "Mail.Send")
    Returns:
      a new OAuthToken containing the refreshed access token
    Throws:
      `GraphException` - if the refresh fails
    See Also:
      Refresh access tokens

  - ### refreshOAuthToken

    public OAuthToken refreshOAuthToken​(String clientId, String tenant, String refreshToken, List<String> scope, String clientSecret) throws GraphException
    Refreshes an OAuth 2.0 access token with all parameters including client secret.
    Parameters:
      `clientId` - the client ID (application ID) of the app
      `tenant` - the tenant ID or domain name
      `refreshToken` - the refresh token to use for obtaining a new access token
      `scope` - list of permission scopes to request (e.g., "User.Read", "Mail.Send")
      `clientSecret` - the client secret for confidential client authentication
    Returns:
      a new OAuthToken containing the refreshed access token
    Throws:
      `GraphException` - if the refresh fails
    See Also:
      Refresh access tokens

  - ### getMailboxSettings

    public MailboxSettings getMailboxSettings() throws GraphException
    Retrieves mailbox settings for the authenticated user.

    Returns settings such as time zone, date format, working hours, and automatic replies configuration.

    Returns:
      the MailboxSettings for the current user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user mailbox settings

  - ### getMailboxSettings

    public MailboxSettings getMailboxSettings​(String userId) throws GraphException
    Retrieves mailbox settings for a specific user.
    Parameters:
      `userId` - the ID or user principal name of the user
    Returns:
      the MailboxSettings for the specified user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user mailbox settings

  - ### getMailboxSettings

    public MailboxSettings getMailboxSettings​(UserId userId) throws GraphException
    Retrieves mailbox settings for a specific user.
    Parameters:
      `userId` - the UserId object representing the user
    Returns:
      the MailboxSettings for the specified user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user mailbox settings

  - ### setMailboxSettings

    public MailboxSettings setMailboxSettings​(MailboxSettings mailboxSettings) throws GraphException
    Updates mailbox settings for the authenticated user. \n * @param mailboxSettings the MailboxSettings to update
    Returns:
      the updated MailboxSettings
    Throws:
      `GraphException` - if the update fails
    See Also:
      Update user mailbox settings

  - ### setMailboxSettings

    public MailboxSettings setMailboxSettings​(MailboxSettings mailboxSettings, String userId) throws GraphException
    Updates mailbox settings for a specific user.
    Parameters:
      `mailboxSettings` - the MailboxSettings to update
      `userId` - the ID or user principal name of the user
    Returns:
      the updated MailboxSettings
    Throws:
      `GraphException` - if the update fails
    See Also:
      Update user mailbox settings

  - ### setMailboxSettings

    public MailboxSettings setMailboxSettings​(MailboxSettings mailboxSettings, UserId userId) throws GraphException
    Updates mailbox settings for a specific user.
    Parameters:
      `mailboxSettings` - the MailboxSettings to update
      `userId` - the UserId object representing the user
    Returns:
      the updated MailboxSettings
    Throws:
      `GraphException` - if the update fails
    See Also:
      Update user mailbox settings

  - ### getWorkingHours

    public WorkingHours getWorkingHours() throws GraphException
    Retrieves working hours for the authenticated user.

    Returns the days and hours during which the user is available to work.

    Returns:
      the WorkingHours for the current user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user mailbox settings

  - ### getWorkingHours

    public WorkingHours getWorkingHours​(String userId) throws GraphException
    Retrieves working hours for a specific user.
    Parameters:
      `userId` - the ID or user principal name of the user
    Returns:
      the WorkingHours for the specified user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user mailbox settings

  - ### getWorkingHours

    public WorkingHours getWorkingHours​(UserId userId) throws GraphException
    Retrieves working hours for a specific user.
    Parameters:
      `userId` - the UserId object representing the user
    Returns:
      the WorkingHours for the specified user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user mailbox settings

  - ### getAutomaticRepliesSettings

    public AutomaticRepliesSettings getAutomaticRepliesSettings() throws GraphException
    Retrieves automatic replies (out-of-office) settings for the authenticated user.

    Returns settings for automatic replies, including status, messages, and schedule.

    Returns:
      the AutomaticRepliesSettings for the current user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user mailbox settings

  - ### getAutomaticRepliesSettings

    public AutomaticRepliesSettings getAutomaticRepliesSettings​(String userId) throws GraphException
    Retrieves automatic replies (out-of-office) settings for a specific user.
    Parameters:
      `userId` - the ID or user principal name of the user
    Returns:
      the AutomaticRepliesSettings for the specified user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user mailbox settings

  - ### getAutomaticRepliesSettings

    public AutomaticRepliesSettings getAutomaticRepliesSettings​(UserId userId) throws GraphException
    Retrieves automatic replies (out-of-office) settings for a specific user.
    Parameters:
      `userId` - the UserId object representing the user
    Returns:
      the AutomaticRepliesSettings for the specified user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user mailbox settings

  - ### createUser

    public User createUser​(User user) throws GraphException
    Creates a new user in the organization.

    Requires User.ReadWrite.All delegated or application permission.

    Parameters:
      `user` - the User object containing user properties
    Returns:
      the created User object with assigned ID and properties
    Throws:
      `GraphException` - if the creation fails
    See Also:
      Create user

  - ### updateUser

    public void updateUser​(User user) throws GraphException
    Updates a user's properties.
    Parameters:
      `user` - the User object with the updated properties (must include user ID)
    Throws:
      `GraphException` - if the update fails
    See Also:
      Update user

  - ### updateUser

    public void updateUser​(User user, List<String> propertyNames) throws GraphException
    Updates specific properties of a user.
    Parameters:
      `user` - the User object with the updated properties (must include user ID)
      `propertyNames` - list of property names to update (null to update all modified properties)
    Throws:
      `GraphException` - if the update fails
    See Also:
      Update user

  - ### deleteUser

    public void deleteUser​(String userId) throws GraphException
    Deletes a user from the organization.

    Requires User.ReadWrite.All delegated or application permission.

    Parameters:
      `userId` - the ID or user principal name of the user to delete
    Throws:
      `GraphException` - if the deletion fails
    See Also:
      Delete user

  - ### getUser

    public User getUser() throws GraphException
    Retrieves the profile of the authenticated user.
    Returns:
      the User object for the authenticated user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user

  - ### getUser

    public User getUser​(String userId) throws GraphException
    Retrieves a user's profile by ID or user principal name.
    Parameters:
      `userId` - the ID or user principal name of the user
    Returns:
      the User object for the specified user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user

  - ### getUser

    public User getUser​(UserId userId) throws GraphException
    Retrieves a user's profile.
    Parameters:
      `userId` - the UserId object representing the user
    Returns:
      the User object for the specified user
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get user

  - ### getUsers

    public List<User> getUsers() throws GraphException
    Retrieves a list of all users in the organization.
    Returns:
      a list of User objects
    Throws:
      `GraphException` - if the request fails
    See Also:
      List users

  - ### getUsers

    public List<User> getUsers​(Query query) throws GraphException
    Retrieves a list of users with query options.

    Supports filtering, sorting, selecting specific properties, and pagination.

    Parameters:
      `query` - query options for filtering, sorting, and paging (can be null)
    Returns:
      a list of User objects matching the query
    Throws:
      `GraphException` - if the request fails
    See Also:
      List users

  - ### getUserChanges

    public UserChanges getUserChanges() throws GraphException
    Tracks changes to users using delta query.

    Returns users that have been added, updated, or deleted since the last query. Use the deltaLink from the response for subsequent calls to get incremental changes.

    Returns:
      UserChanges containing changed users and a deltaLink for tracking
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get incremental changes for users

  - ### getUserChanges

    public UserChanges getUserChanges​(String nextLinkOrDeltaLink) throws GraphException
    Continues tracking user changes using a next link or delta link from a previous call.
    Parameters:
      `nextLinkOrDeltaLink` - the next link or delta link from a previous getUserChanges response
    Returns:
      UserChanges containing the next set of changes
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get incremental changes for users

  - ### getUserChanges

    public UserChanges getUserChanges​(Query query) throws GraphException
    Tracks changes to users with query options.
    Parameters:
      `query` - query options for filtering and selecting properties
    Returns:
      UserChanges containing changed users and a deltaLink
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get incremental changes for users

  - ### getGroups

    public List<Group> getGroups() throws GraphException
    Retrieves a list of all groups in the organization.

    Includes Microsoft 365 groups, security groups, and mail-enabled security groups.

    Returns:
      a list of Group objects
    Throws:
      `GraphException` - if the request fails
    See Also:
      List groups

  - ### getGroups

    public List<Group> getGroups​(Query query) throws GraphException
    Retrieves a list of groups with query options.

    Supports filtering, sorting, selecting specific properties, and pagination.

    Parameters:
      `query` - query options for filtering, sorting, and paging (can be null)
    Returns:
      a list of Group objects matching the query
    Throws:
      `GraphException` - if the request fails
    See Also:
      List groups

  - ### getGroupChanges

    public GroupChanges getGroupChanges() throws GraphException
    Tracks changes to groups using delta query.

    Returns groups that have been added, updated, or deleted since the last query.

    Returns:
      GroupChanges containing changed groups and a deltaLink for tracking
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get incremental changes for groups

  - ### getGroupChanges

    public GroupChanges getGroupChanges​(String nextLinkOrDeltaLink) throws GraphException
    Continues tracking group changes using a next link or delta link.
    Parameters:
      `nextLinkOrDeltaLink` - the next link or delta link from a previous response
    Returns:
      GroupChanges containing the next set of changes
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get incremental changes for groups

  - ### getGroupChanges

    public GroupChanges getGroupChanges​(Query query) throws GraphException
    Tracks changes to groups with query options.
    Parameters:
      `query` - query options for filtering and selecting properties
    Returns:
      GroupChanges containing changed groups and a deltaLink
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get incremental changes for groups

  - ### getGroup

    public Group getGroup​(String groupId) throws GraphException
    Retrieves the properties and relationships of a group.
    Parameters:
      `groupId` - the ID of the group
    Returns:
      the Group object
    Throws:
      `GraphException` - if the request fails
    See Also:
      Get group

  - ### getGroupOwners

    public List<DirectoryObject> getGroupOwners​(String groupId) throws GraphException
    Retrieves the owners of a group.

    Group owners are users or service principals who can manage the group.

    Parameters:
      `groupId` - the ID of the group
    Returns:
      a list of DirectoryObject representing the owners (typically User objects)
    Throws:
      `GraphException` - if the request fails
    See Also:
      List group owners

  - ### getGroupOwners

    public List<DirectoryObject> getGroupOwners​(String groupId, Query query) throws GraphException
    Retrieves the owners of a group with query options.
    Parameters:
      `groupId` - the ID of the group
      `query` - query options for filtering and paging
    Returns:
      a list of DirectoryObject representing the owners
    Throws:
      `GraphException` - if the request fails
    See Also:
      List group owners

  - ### getGroupMembers

    public List<DirectoryObject> getGroupMembers​(String groupId) throws GraphException
    Gets the members of a specified group. Members can include users, groups, and other directory objects.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
    Returns:
      A list of DirectoryObject representing the group members
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupMembers

    public List<DirectoryObject> getGroupMembers​(String groupId, Query query) throws GraphException
    Gets the members of a specified group with optional query parameters. Members can include users, groups, and other directory objects.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of DirectoryObject representing the group members
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupMemberOf

    public List<DirectoryObject> getGroupMemberOf​(String groupId) throws GraphException
    Gets the groups and directory roles that a group is a direct member of.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
    Returns:
      A list of DirectoryObject representing the groups and directory roles
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupMemberOf

    public List<DirectoryObject> getGroupMemberOf​(String groupId, Query query) throws GraphException
    Gets the groups and directory roles that a group is a direct member of with optional query parameters.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of DirectoryObject representing the groups and directory roles
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupTransitiveMembers

    public List<DirectoryObject> getGroupTransitiveMembers​(String groupId) throws GraphException
    Gets the transitive members of a group, including nested group members. This returns all members in the group's membership tree, not just direct members.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
    Returns:
      A list of DirectoryObject representing all transitive members
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupTransitiveMembers

    public List<DirectoryObject> getGroupTransitiveMembers​(String groupId, Query query) throws GraphException
    Gets the transitive members of a group with optional query parameters. This returns all members in the group's membership tree, including nested group members.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of DirectoryObject representing all transitive members
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupTransitiveMemberOf

    public List<DirectoryObject> getGroupTransitiveMemberOf​(String groupId) throws GraphException
    Gets the groups and directory roles that a group is a member of, including nested memberships. This API returns all the groups and directory roles that the group is a member of transitively.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
    Returns:
      A list of DirectoryObject representing all groups and directory roles
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupTransitiveMemberOf

    public List<DirectoryObject> getGroupTransitiveMemberOf​(String groupId, Query query) throws GraphException
    Gets the groups and directory roles that a group is a member of with optional query parameters. This returns transitive memberships including nested groups and directory roles.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of DirectoryObject representing all groups and directory roles
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDeletedGroups

    public List<Group> getDeletedGroups() throws GraphException
    Gets a list of deleted groups from the directory. Deleted groups are available in the directory's deleted items container for up to 30 days.

    See Microsoft Graph API documentation

    Returns:
      A list of deleted Group objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDeletedGroups

    public List<Group> getDeletedGroups​(Query query) throws GraphException
    Gets a list of deleted groups from the directory with optional query parameters. Deleted groups can be restored within 30 days before permanent deletion.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of deleted Group objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createGroup

    public Group createGroup​(Group group) throws GraphException
    Creates a new group in the directory. The group can be created as a Microsoft 365 group, Security group, or Mail-enabled security group.

    See Microsoft Graph API documentation

    Parameters:
      `group` - The Group object containing the properties of the group to create
    Returns:
      The created Group object with server-generated properties
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteGroup

    public void deleteGroup​(String groupId) throws GraphException
    Deletes a group from the directory. The deleted group is moved to deleted items and can be restored within 30 days.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateGroup

    public void updateGroup​(Group group) throws GraphException
    Updates all properties of a group. Only properties set in the Group object will be updated.

    See Microsoft Graph API documentation

    Parameters:
      `group` - The Group object containing the updated properties (must have ID set)
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateGroup

    public void updateGroup​(Group group, List<String> propertyNames) throws GraphException
    Updates specific properties of a group. Only the properties specified in the propertyNames list will be updated.

    See Microsoft Graph API documentation

    Parameters:
      `group` - The Group object containing the updated properties (must have ID set)
      `propertyNames` - List of property names to update; if null, all properties are updated
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### addGroupOwner

    public void addGroupOwner​(String groupId) throws GraphException
    Adds the currently authenticated user as an owner of the specified group. Group owners can manage group membership, update group settings, and delete the group.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### addGroupOwner

    public void addGroupOwner​(String groupId, String userId) throws GraphException
    Adds a user as an owner of the specified group. Group owners can manage group membership, update group settings, and delete the group.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `userId` - The ID of the user to add as owner
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### addGroupOwner

    public void addGroupOwner​(String groupId, UserId userId) throws GraphException
    Adds a user as an owner of the specified group using a UserId object. Group owners can manage group membership, update group settings, and delete the group.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `userId` - The UserId object representing the user to add as owner
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### addGroupMember

    public void addGroupMember​(String groupId, String memberId) throws GraphException
    Adds a member to a group. Members can be users, groups, or other directory objects.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `memberId` - The ID of the directory object to add as a member
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteGroupMember

    public void deleteGroupMember​(String groupId, String memberId) throws GraphException
    Removes a member from a group. This operation removes users, groups, or other directory objects from group membership.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `memberId` - The ID of the member to remove
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteGroupOwner

    public void deleteGroupOwner​(String groupId, String ownerId) throws GraphException
    Removes an owner from a group. Groups must have at least one owner; removing the last owner will fail.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `ownerId` - The ID of the owner to remove
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### addGroupToFavorite

    public void addGroupToFavorite​(String groupId) throws GraphException
    Adds a group to the list of favorite groups for the signed-in user. Favorite groups appear at the top of the user's groups list in Microsoft 365.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group to add to favorites
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getStatusReport

    public AsyncJobStatus getStatusReport​(String uri) throws GraphException
    Gets the status of an asynchronous job, such as a long-running copy operation. This method is used to check the progress and completion status of operations that return a monitor URI.

    See Microsoft Graph API documentation

    Parameters:
      `uri` - The monitor URI returned from an asynchronous operation
    Returns:
      AsyncJobStatus object containing the job's status and progress information
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemThumbnails

    public List<ThumbnailSet> getDriveItemThumbnails​(String itemId) throws GraphException
    Gets the thumbnail images for a drive item. Retrieves a collection of ThumbnailSet resources for the specified drive item.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
    Returns:
      A list of ThumbnailSet objects containing thumbnail images in different sizes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemThumbnails

    public List<ThumbnailSet> getDriveItemThumbnails​(String itemId, ResourceId resourceId) throws GraphException
    Gets the thumbnail images for a drive item with a specific resource context. Retrieves thumbnails from a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A list of ThumbnailSet objects containing thumbnail images in different sizes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendSharingInvitation

    public DriveItem sendSharingInvitation​(SharingInvitationMessage message, String itemId) throws GraphException
    Sends a sharing invitation for a drive item to specified recipients. This creates sharing permissions and sends email notifications to the recipients.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The SharingInvitationMessage containing recipients and optional message
      `itemId` - The ID of the drive item to share
    Returns:
      The updated DriveItem with the new sharing permissions
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendSharingInvitation

    public DriveItem sendSharingInvitation​(SharingInvitationMessage message, String itemId, ResourceId resourceId) throws GraphException
    Sends a sharing invitation for a drive item with a specific resource context. This creates sharing permissions and sends email notifications to the recipients.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The SharingInvitationMessage containing recipients and optional message
      `itemId` - The ID of the drive item to share
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      The updated DriveItem with the new sharing permissions
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### followDriveItem

    public DriveItem followDriveItem​(String itemId) throws GraphException
    Follows a drive item for the signed-in user. Following an item makes it appear in the user's list of followed items for quick access.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to follow
    Returns:
      The DriveItem that was followed
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### followDriveItem

    public DriveItem followDriveItem​(String itemId, ResourceId resourceId) throws GraphException
    Follows a drive item with a specific resource context. Following an item makes it appear in the user's list of followed items for quick access.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to follow
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      The DriveItem that was followed
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### unfollowDriveItem

    public void unfollowDriveItem​(String itemId) throws GraphException
    Unfollows a drive item for the signed-in user. Removes the item from the user's list of followed items.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to unfollow
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### unfollowDriveItem

    public void unfollowDriveItem​(String itemId, ResourceId resourceId) throws GraphException
    Unfollows a drive item with a specific resource context. Removes the item from the user's list of followed items.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to unfollow
      `resourceId` - The ResourceId specifying the user, group, or site context
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### checkInDriveItem

    public void checkInDriveItem​(String itemId) throws GraphException
    Checks in a drive item, making it available for others to edit. Check-in releases the lock on the item after it has been checked out.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to check in
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### checkInDriveItem

    public void checkInDriveItem​(String itemId, ResourceId resourceId) throws GraphException
    Checks in a drive item with a specific resource context. Check-in releases the lock on the item after it has been checked out.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to check in
      `resourceId` - The ResourceId specifying the user, group, or site context
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### checkOutDriveItem

    public void checkOutDriveItem​(String itemId) throws GraphException
    Checks out a drive item, locking it for editing by the current user. This prevents other users from editing the item until it is checked in.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to check out
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### checkOutDriveItem

    public void checkOutDriveItem​(String itemId, ResourceId resourceId) throws GraphException
    Checks out a drive item with a specific resource context. This prevents other users from editing the item until it is checked in.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to check out
      `resourceId` - The ResourceId specifying the user, group, or site context
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemAsStream

    public InputStream getDriveItemAsStream​(String itemId) throws GraphException
    Downloads a drive item's content as a stream. This method retrieves the binary content of a file stored in OneDrive or SharePoint.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to download
    Returns:
      An InputStream containing the file content
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemAsStream

    public InputStream getDriveItemAsStream​(String itemId, ResourceId resourceId) throws GraphException
    Downloads a drive item's content as a stream with a specific resource context. This method retrieves the binary content from a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to download
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      An InputStream containing the file content
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemVersions

    public List<DriveItemVersion> getDriveItemVersions​(String itemId) throws GraphException
    Gets the version history of a drive item. Retrieves all previous versions of a file, allowing access to earlier content.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
    Returns:
      A list of DriveItemVersion objects representing the version history
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemVersions

    public List<DriveItemVersion> getDriveItemVersions​(String itemId, ResourceId resourceId) throws GraphException
    Gets the version history of a drive item with a specific resource context. Retrieves all previous versions from a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A list of DriveItemVersion objects representing the version history
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemVersion

    public DriveItemVersion getDriveItemVersion​(String versionId, String itemId) throws GraphException
    Gets a specific version of a drive item. Retrieves metadata and content information for a particular version of a file.

    See Microsoft Graph API documentation

    Parameters:
      `versionId` - The ID of the version to retrieve
      `itemId` - The ID of the drive item
    Returns:
      A DriveItemVersion object representing the specified version
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemVersion

    public DriveItemVersion getDriveItemVersion​(String versionId, String itemId, ResourceId resourceId) throws GraphException
    Gets a specific version of a drive item with a resource context. Retrieves metadata and content information for a version from a specific location.

    See Microsoft Graph API documentation

    Parameters:
      `versionId` - The ID of the version to retrieve
      `itemId` - The ID of the drive item
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A DriveItemVersion object representing the specified version
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### restoreDriveItemVersion

    public void restoreDriveItemVersion​(String versionId, String itemId) throws GraphException
    Restores a previous version of a drive item, making it the current version. The current version becomes a new version in the history after the restoration.

    See Microsoft Graph API documentation

    Parameters:
      `versionId` - The ID of the version to restore
      `itemId` - The ID of the drive item
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### restoreDriveItemVersion

    public void restoreDriveItemVersion​(String versionId, String itemId, ResourceId resourceId) throws GraphException
    Restores a previous version of a drive item with a specific resource context. The current version becomes a new version in the history after the restoration.

    See Microsoft Graph API documentation

    Parameters:
      `versionId` - The ID of the version to restore
      `itemId` - The ID of the drive item
      `resourceId` - The ResourceId specifying the user, group, or site context
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemAsByteArray

    public byte[] getDriveItemAsByteArray​(String itemId) throws GraphException
    Downloads a drive item's content as a byte array. Retrieves the entire file content and stores it in memory.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to download
    Returns:
      A byte array containing the complete file content
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemAsByteArray

    public byte[] getDriveItemAsByteArray​(String itemId, long rangeBegin, long rangeEnd) throws GraphException
    Downloads a specific byte range of a drive item's content. Useful for downloading large files in chunks or reading partial content.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to download
      `rangeBegin` - The starting byte position (inclusive)
      `rangeEnd` - The ending byte position (inclusive)
    Returns:
      A byte array containing the requested byte range
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemAsByteArray

    public byte[] getDriveItemAsByteArray​(String itemId, ResourceId resourceId) throws GraphException
    Downloads a drive item's content as a byte array with a specific resource context. Retrieves the entire file content from a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to download
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A byte array containing the complete file content
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemAsByteArray

    public byte[] getDriveItemAsByteArray​(String itemId, ResourceId resourceId, long rangeBegin, long rangeEnd) throws GraphException
    Downloads a specific byte range of a drive item's content with a resource context. Useful for downloading large files in chunks from a specific location.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to download
      `resourceId` - The ResourceId specifying the user, group, or site context
      `rangeBegin` - The starting byte position (inclusive)
      `rangeEnd` - The ending byte position (inclusive)
    Returns:
      A byte array containing the requested byte range
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveDriveItem

    public DriveItem moveDriveItem​(String itemId, String destinationName) throws GraphException
    Moves and/or renames a drive item. Updates the item's name and keeps it in the same parent folder.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to move
      `destinationName` - The new name for the item
    Returns:
      The updated DriveItem after the move operation
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveDriveItem

    public DriveItem moveDriveItem​(String itemId, String destinationName, ItemReference destinationFolder) throws GraphException
    Moves and/or renames a drive item to a different folder. Updates the item's name and moves it to the specified destination folder.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to move
      `destinationName` - The new name for the item
      `destinationFolder` - ItemReference specifying the target folder
    Returns:
      The updated DriveItem after the move operation
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveDriveItem

    public DriveItem moveDriveItem​(String itemId, String destinationName, ResourceId resourceId) throws GraphException
    Moves and/or renames a drive item with a specific resource context. Updates the item's name in a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to move
      `destinationName` - The new name for the item
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      The updated DriveItem after the move operation
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveDriveItem

    public DriveItem moveDriveItem​(String itemId, String destinationName, ItemReference destinationFolder, ResourceId resourceId) throws GraphException
    Moves and/or renames a drive item with full control over destination and context. Updates the item's name and location with specified folder and resource context.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to move
      `destinationName` - The new name for the item
      `destinationFolder` - ItemReference specifying the target folder
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      The updated DriveItem after the move operation
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyDriveItem

    public String copyDriveItem​(String itemId, String destinationName) throws GraphException
    Asynchronously copies a drive item to a new location with a new name. The copy operation is performed asynchronously; use the returned monitor URI to check progress.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to copy
      `destinationName` - The name for the copied item
    Returns:
      A monitor URI to track the copy operation's progress
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyDriveItem

    public String copyDriveItem​(String itemId, String destinationName, ItemReference destinationFolder) throws GraphException
    Asynchronously copies a drive item to a specified folder with a new name. The copy operation is performed asynchronously; use the returned monitor URI to check progress.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to copy
      `destinationName` - The name for the copied item
      `destinationFolder` - ItemReference specifying the target folder
    Returns:
      A monitor URI to track the copy operation's progress
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyDriveItem

    public String copyDriveItem​(String itemId, String destinationName, ResourceId resourceId) throws GraphException
    Asynchronously copies a drive item with a specific resource context. The copy operation is performed asynchronously; use the returned monitor URI to check progress.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to copy
      `destinationName` - The name for the copied item
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A monitor URI to track the copy operation's progress
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyDriveItem

    public String copyDriveItem​(String itemId, String destinationName, ItemReference destinationFolder, ResourceId resourceId) throws GraphException
    Asynchronously copies a drive item with full control over destination and context. The copy operation is performed asynchronously; use the returned monitor URI to check progress.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to copy
      `destinationName` - The name for the copied item
      `destinationFolder` - ItemReference specifying the target folder
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A monitor URI to track the copy operation's progress
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### convertDriveItem

    public byte[] convertDriveItem​(String itemId, String format) throws GraphException
    Converts a drive item's content to a different format. Supported formats include PDF and other formats depending on the file type.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to convert
      `format` - The target format (e.g., "pdf")
    Returns:
      A byte array containing the converted content
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### convertDriveItem

    public byte[] convertDriveItem​(String itemId, String format, ResourceId resourceId) throws GraphException
    Converts a drive item's content to a different format with a specific resource context. Supported formats include PDF and other formats depending on the file type.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to convert
      `format` - The target format (e.g., "pdf")
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A byte array containing the converted content
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### convertDriveItemAsStream

    public InputStream convertDriveItemAsStream​(String itemId, String format) throws GraphException
    Converts a drive item's content to a different format and returns it as a stream. Useful for processing converted content without loading it entirely into memory.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to convert
      `format` - The target format (e.g., "pdf")
    Returns:
      An InputStream containing the converted content
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### convertDriveItemAsStream

    public InputStream convertDriveItemAsStream​(String itemId, String format, ResourceId resourceId) throws GraphException
    Converts a drive item's content to a different format as a stream with a resource context. Useful for processing converted content without loading it entirely into memory.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to convert
      `format` - The target format (e.g., "pdf")
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      An InputStream containing the converted content
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemChanges

    public DriveItemChanges getDriveItemChanges() throws GraphException
    Gets the changes to drive items for the current user's drive. This tracks additions, updates, and deletions to items using delta queries.

    See Microsoft Graph API documentation

    Returns:
      DriveItemChanges containing the list of changed items and delta token
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemChanges

    public DriveItemChanges getDriveItemChanges​(String nextLinkOrDeltaLink) throws GraphException
    Gets the next page of drive item changes using a next link or delta link. Use the next/delta link from a previous response to continue tracking changes.

    See Microsoft Graph API documentation

    Parameters:
      `nextLinkOrDeltaLink` - The next link or delta link from a previous response
    Returns:
      DriveItemChanges containing the list of changed items and delta token
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemChanges

    public DriveItemChanges getDriveItemChanges​(ResourceId resourceId) throws GraphException
    Gets the changes to drive items for a specific resource. This tracks additions, updates, and deletions for a user's, group's, or site's drive.

    See Microsoft Graph API documentation

    Parameters:
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      DriveItemChanges containing the list of changed items and delta token
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemChanges

    public DriveItemChanges getDriveItemChanges​(Query query) throws GraphException
    Gets the changes to drive items for the current user with query options. This allows filtering, selecting specific properties, or setting a token for tracking.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, or providing a delta token
    Returns:
      DriveItemChanges containing the list of changed items and delta token
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemChanges

    public DriveItemChanges getDriveItemChanges​(ResourceId resourceId, Query query) throws GraphException
    Gets the changes to drive items for a specific resource with query options. This allows tracking changes for a specific location with filtering and selection.

    See Microsoft Graph API documentation

    Parameters:
      `resourceId` - The ResourceId specifying the user, group, or site context
      `query` - Optional Query object for filtering, selecting, or providing a delta token
    Returns:
      DriveItemChanges containing the list of changed items and delta token
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSharingPermission

    public SharingPermission getSharingPermission​(String itemId, String permissionId) throws GraphException
    Gets a specific sharing permission for a drive item. Retrieves details about who has access to the item and their permission level.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
      `permissionId` - The ID of the permission to retrieve
    Returns:
      A SharingPermission object containing the permission details
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSharingPermission

    public SharingPermission getSharingPermission​(String itemId, String permissionId, ResourceId resourceId) throws GraphException
    Gets a specific sharing permission for a drive item with a resource context. Retrieves permission details from a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
      `permissionId` - The ID of the permission to retrieve
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A SharingPermission object containing the permission details
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteSharingPermission

    public void deleteSharingPermission​(String itemId, String permissionId) throws GraphException
    Removes a sharing permission from a drive item. This revokes access for the specified permission, removing the user's or group's access.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
      `permissionId` - The ID of the permission to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteSharingPermission

    public void deleteSharingPermission​(String itemId, String permissionId, ResourceId resourceId) throws GraphException
    Removes a sharing permission from a drive item with a specific resource context. This revokes access for a user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
      `permissionId` - The ID of the permission to delete
      `resourceId` - The ResourceId specifying the user, group, or site context
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createSharingLink

    public SharingPermission createSharingLink​(SharingLink link, String itemId) throws GraphException
    Creates a sharing link for a drive item. This generates a shareable link with specified permissions (view, edit, or embed).

    See Microsoft Graph API documentation

    Parameters:
      `link` - The SharingLink configuration specifying link type and scope
      `itemId` - The ID of the drive item to share
    Returns:
      A SharingPermission object containing the generated sharing link
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createSharingLink

    public SharingPermission createSharingLink​(SharingLink link, String itemId, ResourceId resourceId) throws GraphException
    Creates a sharing link for a drive item with a specific resource context. This generates a shareable link from a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `link` - The SharingLink configuration specifying link type and scope
      `itemId` - The ID of the drive item to share
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A SharingPermission object containing the generated sharing link
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSharingPermissions

    public List<SharingPermission> getSharingPermissions​(String itemId) throws GraphException
    Gets all sharing permissions for a drive item. Returns the complete list of users, groups, and links that have access to the item.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
    Returns:
      A list of SharingPermission objects representing all permissions
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSharingPermissions

    public List<SharingPermission> getSharingPermissions​(String itemId, ResourceId resourceId) throws GraphException
    Gets all sharing permissions for a drive item with a specific resource context. Returns permissions from a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A list of SharingPermission objects representing all permissions
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createDriveItem

    public DriveItem createDriveItem​(String parentId, String fileName) throws GraphException
    Creates an empty drive item (file or folder) in the specified parent folder. Creates an empty file with the specified name.

    See Microsoft Graph API documentation

    Parameters:
      `parentId` - The ID of the parent folder
      `fileName` - The name for the new file or folder
    Returns:
      The created DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createDriveItem

    public DriveItem createDriveItem​(String parentId, String fileName, byte[] content) throws GraphException, IOException
    Creates a drive item with content from a byte array. Uploads the content and creates a new file in the specified parent folder.

    See Microsoft Graph API documentation

    Parameters:
      `parentId` - The ID of the parent folder
      `fileName` - The name for the new file
      `content` - The byte array containing the file content
    Returns:
      The created DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### createDriveItem

    public DriveItem createDriveItem​(String parentId, String fileName, InputStream stream) throws GraphException
    Creates a drive item with content from a stream. Uploads the content from the stream and creates a new file.

    See Microsoft Graph API documentation

    Parameters:
      `parentId` - The ID of the parent folder
      `fileName` - The name for the new file
      `stream` - The InputStream containing the file content
    Returns:
      The created DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createDriveItem

    public DriveItem createDriveItem​(String parentId, ResourceId resourceId, String fileName) throws GraphException
    Creates an empty drive item with a specific resource context. Creates an empty file in a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `parentId` - The ID of the parent folder
      `resourceId` - The ResourceId specifying the user, group, or site context
      `fileName` - The name for the new file
    Returns:
      The created DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createDriveItem

    public DriveItem createDriveItem​(String parentId, ResourceId resourceId, String fileName, byte[] content) throws GraphException, IOException
    Creates a drive item with content from a byte array and specific resource context. Uploads content to a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `parentId` - The ID of the parent folder
      `resourceId` - The ResourceId specifying the user, group, or site context
      `fileName` - The name for the new file
      `content` - The byte array containing the file content
    Returns:
      The created DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### createDriveItem

    public DriveItem createDriveItem​(String parentId, ResourceId resourceId, String fileName, InputStream stream) throws GraphException
    Creates a drive item with content from a stream and specific resource context. Uploads content from the stream to a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `parentId` - The ID of the parent folder
      `resourceId` - The ResourceId specifying the user, group, or site context
      `fileName` - The name for the new file
      `stream` - The InputStream containing the file content
    Returns:
      The created DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createDriveItem

    public DriveItem createDriveItem​(String parentId, DriveItem driveItem) throws GraphException
    Creates a drive item (file or folder) using a DriveItem object. This allows setting metadata properties when creating the item.

    See Microsoft Graph API documentation

    Parameters:
      `parentId` - The ID of the parent folder
      `driveItem` - The DriveItem object with properties for the new item
    Returns:
      The created DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createDriveItem

    public DriveItem createDriveItem​(String parentId, ResourceId resourceId, DriveItem driveItem) throws GraphException
    Creates a drive item using a DriveItem object with specific resource context. This allows setting metadata properties when creating the item in a specific location.

    See Microsoft Graph API documentation

    Parameters:
      `parentId` - The ID of the parent folder
      `resourceId` - The ResourceId specifying the user, group, or site context
      `driveItem` - The DriveItem object with properties for the new item
    Returns:
      The created DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### uploadDriveItem

    public DriveItem uploadDriveItem​(String itemId, byte[] content) throws GraphException, IOException
    Uploads or replaces the content of a drive item using a byte array. Updates the content of an existing file with new data.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to update
      `content` - The byte array containing the new file content
    Returns:
      The updated DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItem

    public DriveItem uploadDriveItem​(String itemId, InputStream stream) throws GraphException
    Uploads or replaces the content of a drive item using a stream. Updates the content of an existing file with data from the stream.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to update
      `stream` - The InputStream containing the new file content
    Returns:
      The updated DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### uploadDriveItem

    public DriveItem uploadDriveItem​(String itemId, ResourceId resourceId, byte[] content) throws GraphException, IOException
    Uploads or replaces the content of a drive item with a specific resource context. Updates content in a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to update
      `resourceId` - The ResourceId specifying the user, group, or site context
      `content` - The byte array containing the new file content
    Returns:
      The updated DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItem

    public DriveItem uploadDriveItem​(String itemId, ResourceId resourceId, InputStream stream) throws GraphException
    Uploads or replaces the content of a drive item with a specific resource context. Updates content from a stream to a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to update
      `resourceId` - The ResourceId specifying the user, group, or site context
      `stream` - The InputStream containing the new file content
    Returns:
      The updated DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createUploadSession

    public UploadSession createUploadSession​(String driveItemId) throws GraphException
    Creates an upload session for uploading large files in chunks. Use for files larger than 4MB to upload them in multiple parts.

    See Microsoft Graph API documentation

    Parameters:
      `driveItemId` - The ID of the drive item to upload
    Returns:
      An UploadSession object containing the upload URL and expiration
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createUploadSession

    public UploadSession createUploadSession​(String driveItemId, DriveItemUploadableProperties properties) throws GraphException
    Creates an upload session with uploadable properties. Allows setting metadata for the file being uploaded.

    See Microsoft Graph API documentation

    Parameters:
      `driveItemId` - The ID of the drive item to upload
      `properties` - DriveItemUploadableProperties with metadata for the uploaded file
    Returns:
      An UploadSession object containing the upload URL and expiration
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createUploadSession

    public UploadSession createUploadSession​(String driveItemId, DriveItemUploadableProperties properties, boolean deferCommit) throws GraphException
    Creates an upload session with deferred commit option. When deferCommit is true, the file is not finalized until explicitly committed.

    See Microsoft Graph API documentation

    Parameters:
      `driveItemId` - The ID of the drive item to upload
      `properties` - DriveItemUploadableProperties with metadata for the uploaded file
      `deferCommit` - If true, the upload must be explicitly committed after completion
    Returns:
      An UploadSession object containing the upload URL and expiration
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createUploadSession

    public UploadSession createUploadSession​(String driveItemId, ResourceId resourceId) throws GraphException
    Creates an upload session with a specific resource context. Creates an upload session in a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `driveItemId` - The ID of the drive item to upload
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      An UploadSession object containing the upload URL and expiration
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createUploadSession

    public UploadSession createUploadSession​(String driveItemId, ResourceId resourceId, DriveItemUploadableProperties properties) throws GraphException
    Creates an upload session with resource context and properties. Creates an upload session with metadata in a specific location.

    See Microsoft Graph API documentation

    Parameters:
      `driveItemId` - The ID of the drive item to upload
      `resourceId` - The ResourceId specifying the user, group, or site context
      `properties` - DriveItemUploadableProperties with metadata for the uploaded file
    Returns:
      An UploadSession object containing the upload URL and expiration
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createUploadSession

    public UploadSession createUploadSession​(String driveItemId, ResourceId resourceId, boolean deferCommit) throws GraphException
    Creates an upload session with resource context and deferred commit. Creates an upload session that must be explicitly committed after completion.

    See Microsoft Graph API documentation

    Parameters:
      `driveItemId` - The ID of the drive item to upload
      `resourceId` - The ResourceId specifying the user, group, or site context
      `deferCommit` - If true, the upload must be explicitly committed after completion
    Returns:
      An UploadSession object containing the upload URL and expiration
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createUploadSession

    public UploadSession createUploadSession​(String driveItemId, ResourceId resourceId, DriveItemUploadableProperties properties, boolean deferCommit) throws GraphException
    Creates an upload session with full control over properties and options. Creates an upload session with metadata, specific location, and commit behavior.

    See Microsoft Graph API documentation

    Parameters:
      `driveItemId` - The ID of the drive item to upload
      `resourceId` - The ResourceId specifying the user, group, or site context
      `properties` - DriveItemUploadableProperties with metadata for the uploaded file
      `deferCommit` - If true, the upload must be explicitly committed after completion
    Returns:
      An UploadSession object containing the upload URL and expiration
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### uploadDriveItem

    public DriveItem uploadDriveItem​(UploadSession uploadSession, byte[] content) throws GraphException, IOException
    Uploads a large file using an upload session with content from a byte array. This method handles chunked upload for files larger than 4MB.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `content` - The byte array containing the complete file content
    Returns:
      The uploaded DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItem

    public DriveItem uploadDriveItem​(UploadSession uploadSession, String filePath) throws GraphException, IOException
    Uploads a large file using an upload session from a file path. This method reads the file and uploads it in chunks.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `filePath` - The path to the file to upload
    Returns:
      The uploaded DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItem

    public DriveItem uploadDriveItem​(UploadSession uploadSession, String filePath, int bufferSize) throws GraphException, IOException
    Uploads a large file using an upload session from a file path with custom buffer size. This allows controlling the chunk size for the upload.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `filePath` - The path to the file to upload
      `bufferSize` - The size of each upload chunk in bytes (default: 1024000)
    Returns:
      The uploaded DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItem

    public DriveItem uploadDriveItem​(UploadSession uploadSession, InputStream stream) throws GraphException, IOException
    Uploads a large file using an upload session from a stream. This method handles chunked upload with default buffer size.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `stream` - The InputStream containing the file content
    Returns:
      The uploaded DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItem

    public DriveItem uploadDriveItem​(UploadSession uploadSession, InputStream stream, int bufferSize) throws GraphException, IOException
    Uploads a large file using an upload session from a stream with custom buffer size. This provides full control over the chunked upload process.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `stream` - The InputStream containing the file content
      `bufferSize` - The size of each upload chunk in bytes (default: 1024000)
    Returns:
      The uploaded DriveItem object
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItemWithProgress

    public UploadResult uploadDriveItemWithProgress​(UploadSession uploadSession, byte[] content) throws GraphException, IOException
    Uploads a file using an upload session and reports progress.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `content` - The file content
    Returns:
      An UploadResult containing the drive item (if completed) and the upload session state
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItemWithProgress

    public UploadResult uploadDriveItemWithProgress​(UploadSession uploadSession, String filePath) throws GraphException, IOException
    Uploads a file using an upload session from a file path and reports progress.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `filePath` - The path to the file to upload
    Returns:
      An UploadResult containing the drive item (if completed) and the upload session state
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItemWithProgress

    public UploadResult uploadDriveItemWithProgress​(UploadSession uploadSession, String filePath, int bufferSize) throws GraphException, IOException
    Uploads a file using an upload session from a file path with a custom buffer size and reports progress.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `filePath` - The path to the file to upload
      `bufferSize` - The size of each upload chunk in bytes (default: 1024000)
    Returns:
      An UploadResult containing the drive item (if completed) and the upload session state
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItemWithProgress

    public UploadResult uploadDriveItemWithProgress​(UploadSession uploadSession, InputStream stream) throws GraphException, IOException
    Uploads a file using an upload session from a stream and reports progress.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `stream` - The InputStream containing the file content
    Returns:
      An UploadResult containing the drive item (if completed) and the upload session state
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItemWithProgress

    public UploadResult uploadDriveItemWithProgress​(UploadSession uploadSession, InputStream stream, int bufferSize) throws GraphException, IOException
    Uploads a file using an upload session from a stream with a custom buffer size and reports progress.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `stream` - The InputStream containing the file content
      `bufferSize` - The size of each upload chunk in bytes (default: 1024000)
    Returns:
      An UploadResult containing the drive item (if completed) and the upload session state
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### uploadDriveItemWithProgress

    public UploadResult uploadDriveItemWithProgress​(UploadSession uploadSession, InputStream stream, int bufferSize, UploadProgressListener progressListener) throws GraphException, IOException
    Uploads a file using an upload session from a stream with a custom buffer size and a progress listener. The listener is invoked after each chunk is uploaded, providing real-time progress updates.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession created by createUploadSession
      `stream` - The InputStream containing the file content
      `bufferSize` - The size of each upload chunk in bytes (default: 1024000)
      `progressListener` - A listener invoked after each chunk is uploaded (may be null)
    Returns:
      An UploadResult containing the drive item (if completed) and the upload session state
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### deleteDriveItem

    public void deleteDriveItem​(String itemId) throws GraphException
    Deletes a drive item (file or folder). The deleted item is moved to the recycle bin and can be restored.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteDriveItem

    public void deleteDriveItem​(String itemId, ResourceId resourceId) throws GraphException
    Deletes a drive item with a specific resource context. The deleted item is moved to the recycle bin in the specified location.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item to delete
      `resourceId` - The ResourceId specifying the user, group, or site context
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItem

    public DriveItem getDriveItem​(String itemId) throws GraphException
    Gets metadata for a drive item by its ID. Retrieves properties like name, size, creation date, and modification date.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
    Returns:
      A DriveItem object containing the item's metadata
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItem

    public DriveItem getDriveItem​(String itemId, ResourceId resourceId) throws GraphException
    Gets metadata for a drive item with a specific resource context. Retrieves item properties from a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the drive item
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A DriveItem object containing the item's metadata
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public GetDriveItemsResponse getDriveItems() throws GraphException
    Gets the children of the root folder in the current user's drive. Returns all files and folders in the root directory.

    See Microsoft Graph API documentation

    Returns:
      GetDriveItemsResponse containing the list of child items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public GetDriveItemsResponse getDriveItems​(String itemId) throws GraphException
    Gets the children of a specific folder. Returns all files and folders within the specified parent folder.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the parent folder (use "/" for root)
    Returns:
      GetDriveItemsResponse containing the list of child items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public GetDriveItemsResponse getDriveItems​(ResourceId resourceId) throws GraphException
    Gets the children of the root folder with a specific resource context. Returns items from a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      GetDriveItemsResponse containing the list of child items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public GetDriveItemsResponse getDriveItems​(Query query) throws GraphException
    Gets the children of the root folder with query options. Allows filtering, sorting, selecting specific properties, or paging results.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      GetDriveItemsResponse containing the list of child items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public GetDriveItemsResponse getDriveItems​(String itemId, Query query) throws GraphException
    Gets the children of a specific folder with query options. Allows filtering, sorting, and selecting properties for the children.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the parent folder (use "/" for root)
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      GetDriveItemsResponse containing the list of child items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public GetDriveItemsResponse getDriveItems​(ResourceId resourceId, Query query) throws GraphException
    Gets the children of the root folder with resource context and query options. Combines specific location with filtering and sorting capabilities.

    See Microsoft Graph API documentation

    Parameters:
      `resourceId` - The ResourceId specifying the user, group, or site context
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      GetDriveItemsResponse containing the list of child items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public GetDriveItemsResponse getDriveItems​(String itemId, ResourceId resourceId) throws GraphException
    Gets the children of a specific folder with resource context. Returns children from a specific location without additional query options.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the parent folder (use "/" for root)
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      GetDriveItemsResponse containing the list of child items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public GetDriveItemsResponse getDriveItems​(String itemId, ResourceId resourceId, Query query) throws GraphException
    Gets the children of a specific folder with full control over location and query options. Provides complete flexibility for retrieving folder contents with filtering and sorting.

    See Microsoft Graph API documentation

    Parameters:
      `itemId` - The ID of the parent folder (use "/" for root) or a skipToken URL for pagination
      `resourceId` - The ResourceId specifying the user, group, or site context
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      GetDriveItemsResponse containing the list of child items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### searchDriveItems

    public SearchDriveItemsResponse searchDriveItems​(String searchText) throws GraphException
    Searches for drive items using a text query. Searches file and folder names, metadata, and content across the user's drive.

    See Microsoft Graph API documentation

    Parameters:
      `searchText` - The search query text
    Returns:
      SearchDriveItemsResponse containing matching items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### searchDriveItems

    public SearchDriveItemsResponse searchDriveItems​(String searchText, Query query) throws GraphException
    Searches for drive items with query options. Allows filtering, sorting, and selecting properties for search results.

    See Microsoft Graph API documentation

    Parameters:
      `searchText` - The search query text or a skipToken URL for pagination
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      SearchDriveItemsResponse containing matching items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### searchDriveItems

    public SearchDriveItemsResponse searchDriveItems​(String searchText, ResourceId resourceId) throws GraphException
    Searches for drive items with a specific resource context. Searches within a specific user's drive, group drive, or site.

    See Microsoft Graph API documentation

    Parameters:
      `searchText` - The search query text
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      SearchDriveItemsResponse containing matching items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### searchDriveItems

    public SearchDriveItemsResponse searchDriveItems​(String searchText, Query query, ResourceId resourceId) throws GraphException
    Searches for drive items with full control over query and location. Combines search text, query options, and specific resource location.

    See Microsoft Graph API documentation

    Parameters:
      `searchText` - The search query text or a skipToken URL for pagination
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      SearchDriveItemsResponse containing matching items and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getStandardDriveFolder

    public DriveItem getStandardDriveFolder​(StandardDriveFolder standardDriveFolder) throws GraphException
    Gets a standard system folder from the user's drive. Retrieves special folders like Documents, Photos, or CameraRoll by their well-known names.

    See Microsoft Graph API documentation

    Parameters:
      `standardDriveFolder` - The StandardDriveFolder enum value (e.g., DOCUMENTS, PHOTOS)
    Returns:
      A DriveItem representing the standard folder
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public List<DriveItem> getDriveItems​(StandardDriveFolder standardDriveFolder) throws GraphException
    Gets the children of a standard system folder. Retrieves files and folders within special folders like Documents or Photos.

    See Microsoft Graph API documentation

    Parameters:
      `standardDriveFolder` - The StandardDriveFolder enum value (e.g., DOCUMENTS, PHOTOS)
    Returns:
      A list of DriveItem objects representing the folder's contents
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItems

    public List<DriveItem> getDriveItems​(StandardDriveFolder standardDriveFolder, Query query) throws GraphException
    Gets the children of a standard system folder with query options. Retrieves files and folders with filtering, sorting, or property selection.

    See Microsoft Graph API documentation

    Parameters:
      `standardDriveFolder` - The StandardDriveFolder enum value (e.g., DOCUMENTS, PHOTOS)
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of DriveItem objects representing the folder's contents
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getFollowedDriveItems

    public List<DriveItem> getFollowedDriveItems() throws GraphException
    Gets all drive items that the user is following. Returns items that have been explicitly marked as followed for quick access.

    See Microsoft Graph API documentation

    Returns:
      A list of DriveItem objects representing followed items
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSharedDriveItems

    public List<DriveItem> getSharedDriveItems() throws GraphException
    Gets all drive items that have been shared with the user. Returns files and folders that other users or groups have shared.

    See Microsoft Graph API documentation

    Returns:
      A list of DriveItem objects representing shared items
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getRecentDriveItems

    public List<DriveItem> getRecentDriveItems() throws GraphException
    Gets recently accessed drive items. Returns files and folders that the user has recently viewed or modified.

    See Microsoft Graph API documentation

    Returns:
      A list of DriveItem objects representing recently accessed items
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDrives

    public GetDrivesResponse getDrives() throws GraphException
    Gets all accessible drives. Returns all OneDrive and SharePoint document libraries the user has access to.

    See Microsoft Graph API documentation

    Returns:
      GetDrivesResponse containing the list of drives and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDrives

    public GetDrivesResponse getDrives​(String nextLink) throws GraphException
    Gets the next page of drives using a next link. Continues pagination from a previous getDrives call.

    See Microsoft Graph API documentation

    Parameters:
      `nextLink` - The next link URL from a previous response
    Returns:
      GetDrivesResponse containing the list of drives and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDrives

    public GetDrivesResponse getDrives​(ResourceId resourceId) throws GraphException
    Gets drives with a specific resource context. Returns drives from a specific user, group, or site.

    See Microsoft Graph API documentation

    Parameters:
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      GetDrivesResponse containing the list of drives and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDrives

    public GetDrivesResponse getDrives​(Query query) throws GraphException
    Gets drives with query options. Allows filtering, sorting, and selecting properties for drives.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      GetDrivesResponse containing the list of drives and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDrives

    public GetDrivesResponse getDrives​(ResourceId resourceId, Query query) throws GraphException
    Gets drives with resource context and query options. Combines specific location with filtering and sorting capabilities.

    See Microsoft Graph API documentation

    Parameters:
      `resourceId` - The ResourceId specifying the user, group, or site context
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      GetDrivesResponse containing the list of drives and pagination info
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDrive

    public Drive getDrive() throws GraphException
    Gets the user's default drive. Retrieves the OneDrive for the authenticated user.

    See Microsoft Graph API documentation

    Returns:
      A Drive object representing the user's default drive
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDrive

    public Drive getDrive​(String driveId) throws GraphException
    Gets a specific drive by ID. Retrieves details of a drive using its unique identifier.

    See Microsoft Graph API documentation

    Parameters:
      `driveId` - The ID of the drive to retrieve
    Returns:
      A Drive object representing the specified drive
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDrive

    public Drive getDrive​(ResourceId resourceId) throws GraphException
    Gets a drive from a specific resource context. Retrieves the default drive for a user, group, or site.

    See Microsoft Graph API documentation

    Parameters:
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A Drive object representing the resource's default drive
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDrive

    public Drive getDrive​(String driveId, ResourceId resourceId) throws GraphException
    Gets a specific drive from a resource context. Retrieves a particular drive by ID within a user, group, or site.

    See Microsoft Graph API documentation

    Parameters:
      `driveId` - The ID of the drive to retrieve
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A Drive object representing the specified drive
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveRoot

    public DriveItem getDriveRoot() throws GraphException
    Gets the root folder of the user's default drive. Returns the root item of the user's OneDrive.

    See Microsoft Graph API documentation

    Returns:
      A DriveItem representing the root folder
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveRoot

    public DriveItem getDriveRoot​(String driveId) throws GraphException
    Gets the root folder of a specific drive. Returns the root item of a drive by its ID.

    See Microsoft Graph API documentation

    Parameters:
      `driveId` - The ID of the drive
    Returns:
      A DriveItem representing the root folder
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveRoot

    public DriveItem getDriveRoot​(ResourceId resourceId) throws GraphException
    Gets the root folder from a resource context. Returns the root item of the default drive for a user, group, or site.

    See Microsoft Graph API documentation

    Parameters:
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A DriveItem representing the root folder
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveRoot

    public DriveItem getDriveRoot​(String driveId, ResourceId resourceId) throws GraphException
    Gets the root folder of a specific drive within a resource context. Returns the root item by combining drive ID and resource location.

    See Microsoft Graph API documentation

    Parameters:
      `driveId` - The ID of the drive
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A DriveItem representing the root folder
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemActivities

    public List<DriveItemActivity> getDriveItemActivities() throws GraphException
    Gets activities for items in the user's default drive. Returns recent activities like views, edits, and shares.

    See Microsoft Graph API documentation

    Returns:
      A list of DriveItemActivity objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemActivities

    public List<DriveItemActivity> getDriveItemActivities​(String driveId) throws GraphException
    Gets activities for items in a specific drive. Returns recent activities for a drive by its ID.

    See Microsoft Graph API documentation

    Parameters:
      `driveId` - The ID of the drive
    Returns:
      A list of DriveItemActivity objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemActivities

    public List<DriveItemActivity> getDriveItemActivities​(ResourceId resourceId) throws GraphException
    Gets activities from a resource context. Returns activities for the default drive of a user, group, or site.

    See Microsoft Graph API documentation

    Parameters:
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A list of DriveItemActivity objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getDriveItemActivities

    public List<DriveItemActivity> getDriveItemActivities​(String driveId, ResourceId resourceId) throws GraphException
    Gets activities for a specific drive within a resource context. Returns activities by combining drive ID and resource location.

    See Microsoft Graph API documentation

    Parameters:
      `driveId` - The ID of the drive
      `resourceId` - The ResourceId specifying the user, group, or site context
    Returns:
      A list of DriveItemActivity objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendarGroup

    public CalendarGroup createCalendarGroup​(String name) throws GraphException
    Creates a new calendar group for the authenticated user. Calendar groups allow organizing multiple calendars.

    See Microsoft Graph API documentation

    Parameters:
      `name` - The name of the calendar group
    Returns:
      The created CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendarGroup

    public CalendarGroup createCalendarGroup​(String name, String userId) throws GraphException
    Creates a new calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `name` - The name of the calendar group
      `userId` - The ID of the user
    Returns:
      The created CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendarGroup

    public CalendarGroup createCalendarGroup​(String name, UserId userId) throws GraphException
    Creates a new calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `name` - The name of the calendar group
      `userId` - The UserId object specifying the user
    Returns:
      The created CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendarGroup

    public CalendarGroup createCalendarGroup​(CalendarGroup calendarGroup) throws GraphException
    Creates a new calendar group with full properties. Allows setting all calendar group properties during creation.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroup` - The CalendarGroup object with properties to create
    Returns:
      The created CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendarGroup

    public CalendarGroup createCalendarGroup​(CalendarGroup calendarGroup, String userId) throws GraphException
    Creates a new calendar group for a specific user with full properties.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroup` - The CalendarGroup object with properties to create
      `userId` - The ID of the user
    Returns:
      The created CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendarGroup

    public CalendarGroup createCalendarGroup​(CalendarGroup calendarGroup, UserId userId) throws GraphException
    Creates a new calendar group for a specific user with full properties.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroup` - The CalendarGroup object with properties to create
      `userId` - The UserId object specifying the user
    Returns:
      The created CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendarGroup

    public CalendarGroup updateCalendarGroup​(CalendarGroup calendarGroup) throws GraphException
    Updates a calendar group for the authenticated user. Modifies properties of an existing calendar group.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroup` - The CalendarGroup object with updated properties and ID
    Returns:
      The updated CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendarGroup

    public CalendarGroup updateCalendarGroup​(CalendarGroup calendarGroup, List<String> propertyNames) throws GraphException
    Updates specific properties of a calendar group. Only updates the properties specified in the propertyNames list.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroup` - The CalendarGroup object with updated values
      `propertyNames` - List of property names to update
    Returns:
      The updated CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendarGroup

    public CalendarGroup updateCalendarGroup​(CalendarGroup calendarGroup, String userId) throws GraphException
    Updates a calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroup` - The CalendarGroup object with updated properties and ID
      `userId` - The ID of the user
    Returns:
      The updated CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendarGroup

    public CalendarGroup updateCalendarGroup​(CalendarGroup calendarGroup, UserId userId) throws GraphException
    Updates a calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroup` - The CalendarGroup object with updated properties and ID
      `userId` - The UserId object specifying the user
    Returns:
      The updated CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendarGroup

    public CalendarGroup updateCalendarGroup​(CalendarGroup calendarGroup, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of a calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroup` - The CalendarGroup object with updated values
      `propertyNames` - List of property names to update, or null to update all
      `userId` - The UserId object specifying the user
    Returns:
      The updated CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getRoom

    public Room getRoom​(String roomId) throws GraphException
    Gets a specific room by its ID. Retrieves details of a conference room or meeting space.

    See Microsoft Graph API documentation

    Parameters:
      `roomId` - The ID of the room
    Returns:
      A Room object containing room details
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getRooms

    public List<Room> getRooms() throws GraphException
    Gets all available rooms in the organization. Returns conference rooms and meeting spaces.

    See Microsoft Graph API documentation

    Returns:
      A list of Room objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getRooms

    public List<Room> getRooms​(String roomListEmailAddress) throws GraphException
    Gets rooms from a specific room list. Retrieves rooms that belong to a particular building or location.

    See Microsoft Graph API documentation

    Parameters:
      `roomListEmailAddress` - The email address of the room list
    Returns:
      A list of Room objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getRooms

    public List<Room> getRooms​(Query query) throws GraphException
    Gets rooms with query options. Allows filtering, sorting, and selecting room properties.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Room objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getRooms

    public List<Room> getRooms​(String roomListEmailAddress, Query query) throws GraphException
    Gets rooms from a specific room list with query options.

    See Microsoft Graph API documentation

    Parameters:
      `roomListEmailAddress` - The email address of the room list, or null for all rooms
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Room objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getRoomLists

    public List<RoomList> getRoomLists() throws GraphException
    Gets all room lists in the organization. Room lists represent buildings or locations containing rooms.

    See Microsoft Graph API documentation

    Returns:
      A list of RoomList objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getRoomList

    public RoomList getRoomList​(String id) throws GraphException
    Gets a specific room list by ID. Retrieves details of a building or location containing rooms.

    See Microsoft Graph API documentation

    Parameters:
      `id` - The ID of the room list
    Returns:
      A RoomList object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getReminderView

    public List<Reminder> getReminderView​(Date startTime, Date endTime) throws GraphException
    Gets reminders for the authenticated user within a time range. Returns calendar event reminders that fall within the specified period.

    See Microsoft Graph API documentation

    Parameters:
      `startTime` - The start of the time range
      `endTime` - The end of the time range
    Returns:
      A list of Reminder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getReminderView

    public List<Reminder> getReminderView​(Date startTime, Date endTime, String userId) throws GraphException
    Gets reminders for a specific user within a time range.

    See Microsoft Graph API documentation

    Parameters:
      `startTime` - The start of the time range
      `endTime` - The end of the time range
      `userId` - The ID of the user
    Returns:
      A list of Reminder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getReminderView

    public List<Reminder> getReminderView​(Date startTime, Date endTime, UserId userId) throws GraphException
    Gets reminders for a specific user within a time range.

    See Microsoft Graph API documentation

    Parameters:
      `startTime` - The start of the time range
      `endTime` - The end of the time range
      `userId` - The UserId object specifying the user
    Returns:
      A list of Reminder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSchedule

    public List<ScheduleInformation> getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end) throws GraphException
    Gets schedule information for users, rooms, or resources. Returns availability and free/busy information with a default 30-minute interval.

    See Microsoft Graph API documentation

    Parameters:
      `schedules` - List of email addresses to get schedules for (users, rooms, etc.)
      `start` - The start time for the schedule query
      `end` - The end time for the schedule query
    Returns:
      A list of ScheduleInformation objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSchedule

    public List<ScheduleInformation> getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, int availabilityViewInterval) throws GraphException
    Gets schedule information with a custom availability view interval.

    See Microsoft Graph API documentation

    Parameters:
      `schedules` - List of email addresses to get schedules for (users, rooms, etc.)
      `start` - The start time for the schedule query
      `end` - The end time for the schedule query
      `availabilityViewInterval` - The time slot interval in minutes (e.g., 30, 60)
    Returns:
      A list of ScheduleInformation objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSchedule

    public List<ScheduleInformation> getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, String userId) throws GraphException
    Gets schedule information for users, rooms, or resources for a specific user. Uses a default 30-minute availability view interval.

    See Microsoft Graph API documentation

    Parameters:
      `schedules` - List of email addresses to get schedules for (users, rooms, etc.)
      `start` - The start time for the schedule query
      `end` - The end time for the schedule query
      `userId` - The ID of the user
    Returns:
      A list of ScheduleInformation objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSchedule

    public List<ScheduleInformation> getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, UserId userId) throws GraphException
    Gets schedule information for users, rooms, or resources for a specific user. Uses a default 30-minute availability view interval.

    See Microsoft Graph API documentation

    Parameters:
      `schedules` - List of email addresses to get schedules for (users, rooms, etc.)
      `start` - The start time for the schedule query
      `end` - The end time for the schedule query
      `userId` - The UserId object specifying the user
    Returns:
      A list of ScheduleInformation objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSchedule

    public List<ScheduleInformation> getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, int availabilityViewInterval, String userId) throws GraphException
    Gets schedule information for users, rooms, or resources with a custom availability view interval.

    See Microsoft Graph API documentation

    Parameters:
      `schedules` - List of email addresses to get schedules for (users, rooms, etc.)
      `start` - The start time for the schedule query
      `end` - The end time for the schedule query
      `availabilityViewInterval` - The time slot interval in minutes (e.g., 30, 60)
      `userId` - The ID of the user
    Returns:
      A list of ScheduleInformation objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSchedule

    public List<ScheduleInformation> getSchedule​(List<String> schedules, DateTimeTimeZone start, DateTimeTimeZone end, int availabilityViewInterval, UserId userId) throws GraphException
    Gets schedule information for users, rooms, or resources with a custom availability view interval.

    See Microsoft Graph API documentation

    Parameters:
      `schedules` - List of email addresses to get schedules for (users, rooms, etc.)
      `start` - The start time for the schedule query
      `end` - The end time for the schedule query
      `availabilityViewInterval` - The time slot interval in minutes (e.g., 30, 60)
      `userId` - The UserId object specifying the user
    Returns:
      A list of ScheduleInformation objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### findMeetingTimes

    public MeetingTimeSuggestionsResult findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint) throws GraphException
    Finds meeting time suggestions based on attendees and time constraints.

    See Microsoft Graph API documentation

    Parameters:
      `attendees` - List of meeting attendees
      `timeConstraint` - Time constraints for the meeting
    Returns:
      A MeetingTimeSuggestionsResult containing suggested meeting times
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### findMeetingTimes

    public MeetingTimeSuggestionsResult findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, UserId userid) throws GraphException
    Finds meeting time suggestions for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `attendees` - List of meeting attendees
      `timeConstraint` - Time constraints for the meeting
      `userid` - The UserId object specifying the organizer
    Returns:
      A MeetingTimeSuggestionsResult containing suggested meeting times
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### findMeetingTimes

    public MeetingTimeSuggestionsResult findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, Duration meetingDuration) throws GraphException
    Finds meeting time suggestions including meeting duration.

    See Microsoft Graph API documentation

    Parameters:
      `attendees` - List of meeting attendees
      `timeConstraint` - Time constraints for the meeting
      `meetingDuration` - The meeting duration
    Returns:
      A MeetingTimeSuggestionsResult containing suggested meeting times
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### findMeetingTimes

    public MeetingTimeSuggestionsResult findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, Duration meetingDuration, UserId userid) throws GraphException
    Finds meeting time suggestions including meeting duration for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `attendees` - List of meeting attendees
      `timeConstraint` - Time constraints for the meeting
      `meetingDuration` - The meeting duration
      `userid` - The UserId object specifying the organizer
    Returns:
      A MeetingTimeSuggestionsResult containing suggested meeting times
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### findMeetingTimes

    public MeetingTimeSuggestionsResult findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, Duration meetingDuration, boolean isOrganizerOptional, LocationConstraint locationConstraint, int maxCandidates, double minimumAttendeePercentage, boolean returnSuggestionReasons) throws GraphException
    Finds meeting time suggestions with advanced configuration.

    See Microsoft Graph API documentation

    Parameters:
      `attendees` - List of meeting attendees
      `timeConstraint` - Time constraints for the meeting
      `meetingDuration` - The meeting duration
      `isOrganizerOptional` - Whether the organizer is optional
      `locationConstraint` - Optional location constraints
      `maxCandidates` - Maximum number of candidate suggestions to return
      `minimumAttendeePercentage` - Minimum attendee percentage required for a suggestion
      `returnSuggestionReasons` - Whether to include suggestion reasons
    Returns:
      A MeetingTimeSuggestionsResult containing suggested meeting times
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### findMeetingTimes

    public MeetingTimeSuggestionsResult findMeetingTimes​(List<Attendee> attendees, TimeConstraint timeConstraint, Duration meetingDuration, boolean isOrganizerOptional, LocationConstraint locationConstraint, int maxCandidates, double minimumAttendeePercentage, boolean returnSuggestionReasons, UserId userId) throws GraphException
    Finds meeting time suggestions with advanced configuration for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `attendees` - List of meeting attendees
      `timeConstraint` - Time constraints for the meeting
      `meetingDuration` - The meeting duration
      `isOrganizerOptional` - Whether the organizer is optional
      `locationConstraint` - Optional location constraints
      `maxCandidates` - Maximum number of candidate suggestions to return
      `minimumAttendeePercentage` - Minimum attendee percentage required for a suggestion
      `returnSuggestionReasons` - Whether to include suggestion reasons
      `userId` - The UserId object specifying the organizer
    Returns:
      A MeetingTimeSuggestionsResult containing suggested meeting times
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendar

    public Calendar getCalendar​(String calendarId) throws GraphException
    Gets a calendar by ID for the authenticated user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
    Returns:
      A Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendar

    public Calendar getCalendar​(String calendarId, String userId) throws GraphException
    Gets a calendar by ID for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
      `userId` - The ID of the user
    Returns:
      A Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendar

    public Calendar getCalendar​(String calendarId, UserId userId) throws GraphException
    Gets a calendar by ID for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
      `userId` - The UserId object specifying the user
    Returns:
      A Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupCalendar

    public Calendar getGroupCalendar​(String groupId) throws GraphException
    Gets the group calendar for a Microsoft 365 group.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
    Returns:
      A Calendar object representing the group's calendar
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarGroups

    public List<CalendarGroup> getCalendarGroups() throws GraphException
    Lists calendar groups for the authenticated user. Calendar groups allow organizing multiple calendars.

    See Microsoft Graph API documentation

    Returns:
      A list of CalendarGroup objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarGroups

    public List<CalendarGroup> getCalendarGroups​(Query query) throws GraphException
    Lists calendar groups for the authenticated user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of CalendarGroup objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarGroups

    public List<CalendarGroup> getCalendarGroups​(String userId) throws GraphException
    Lists calendar groups for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      A list of CalendarGroup objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarGroups

    public List<CalendarGroup> getCalendarGroups​(String userId, Query query) throws GraphException
    Lists calendar groups for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of CalendarGroup objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarGroups

    public List<CalendarGroup> getCalendarGroups​(UserId userId) throws GraphException
    Lists calendar groups for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      A list of CalendarGroup objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarGroups

    public List<CalendarGroup> getCalendarGroups​(UserId userId, Query query) throws GraphException
    Lists calendar groups for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of CalendarGroup objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteCalendarGroup

    public void deleteCalendarGroup​(String calendarGroupId) throws GraphException
    Deletes a calendar group for the authenticated user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The ID of the calendar group to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteCalendarGroup

    public void deleteCalendarGroup​(String calendarGroupId, String userId) throws GraphException
    Deletes a calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The ID of the calendar group to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteCalendarGroup

    public void deleteCalendarGroup​(String calendarGroupId, UserId userId) throws GraphException
    Deletes a calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The ID of the calendar group to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarGroup

    public CalendarGroup getCalendarGroup​(String calendarGroupId) throws GraphException
    Gets a calendar group by ID for the authenticated user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The ID of the calendar group
    Returns:
      A CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarGroup

    public CalendarGroup getCalendarGroup​(String calendarGroupId, String userId) throws GraphException
    Gets a calendar group by ID for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
    Returns:
      A CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarGroup

    public CalendarGroup getCalendarGroup​(String calendarGroupId, UserId userId) throws GraphException
    Gets a calendar group by ID for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The ID of the calendar group
      `userId` - The UserId object specifying the user
    Returns:
      A CalendarGroup object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars() throws GraphException
    Lists all calendars for the authenticated user.

    See Microsoft Graph API documentation

    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars​(Query query) throws GraphException
    Lists all calendars with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars​(String userId) throws GraphException
    Lists all calendars for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars​(String userId, Query query) throws GraphException
    Lists all calendars for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars​(UserId userId) throws GraphException
    Lists all calendars for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars​(UserId userId, Query query) throws GraphException
    Lists all calendars for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars​(String calendarGroupId, String userId) throws GraphException
    Lists calendars within a specific calendar group.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars​(String calendarGroupId, String userId, Query query) throws GraphException
    Lists calendars within a specific calendar group with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars​(CalendarGroupId calendarGroupId, UserId userId) throws GraphException
    Lists calendars within a specific calendar group.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The CalendarGroupId object
      `userId` - The UserId object specifying the user
    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendars

    public List<Calendar> getCalendars​(CalendarGroupId calendarGroupId, UserId userId, Query query) throws GraphException
    Lists calendars within a specific calendar group with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarGroupId` - The CalendarGroupId object
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Calendar objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents() throws GraphException
    Lists all events for the authenticated user.

    See Microsoft Graph API documentation

    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(UserId userId) throws GraphException
    Lists all events for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(String calendarId) throws GraphException
    Lists events from a specific calendar.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(CalendarId calendarId) throws GraphException
    Lists events from a specific calendar.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The CalendarId object
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(String calendarId, String calendarGroupId) throws GraphException
    Lists events from a calendar within a calendar group.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(CalendarId calendarId, CalendarGroupId calendarGroupId) throws GraphException
    Lists events from a calendar within a calendar group.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The CalendarId object
      `calendarGroupId` - The CalendarGroupId object
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(String calendarId, String calendarGroupId, String userId) throws GraphException
    Lists events from a calendar within a calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(String calendarId, UserId userId) throws GraphException
    Lists events from a specific calendar for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
      `userId` - The UserId object specifying the user
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(CalendarId calendarId, UserId userId) throws GraphException
    Lists events from a specific calendar for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The CalendarId object
      `userId` - The UserId object specifying the user
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId) throws GraphException
    Lists events from a calendar within a calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The CalendarId object
      `calendarGroupId` - The CalendarGroupId object
      `userId` - The UserId object specifying the user
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(Query query) throws GraphException
    Lists all events with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(UserId userId, Query query) throws GraphException
    Lists all events for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(String calendarId, Query query) throws GraphException
    Lists events from a specific calendar with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(CalendarId calendarId, Query query) throws GraphException
    Lists events from a specific calendar with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The CalendarId object
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(String calendarId, String calendarGroupId, Query query) throws GraphException
    Lists events from a calendar within a calendar group with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(CalendarId calendarId, CalendarGroupId calendarGroupId, Query query) throws GraphException
    Lists events from a calendar within a calendar group with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The CalendarId object
      `calendarGroupId` - The CalendarGroupId object
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(String calendarId, UserId userId, Query query) throws GraphException
    Lists events from a specific calendar for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(CalendarId calendarId, UserId userId, Query query) throws GraphException
    Lists events from a specific calendar for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The CalendarId object
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(String calendarId, String calendarGroupId, String userId, Query query) throws GraphException
    Lists events from a calendar within a calendar group for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvents

    public List<Event> getEvents​(CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId, Query query) throws GraphException
    Lists events from a calendar within a calendar group for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The CalendarId object
      `calendarGroupId` - The CalendarGroupId object
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupCalendarEvents

    public List<Event> getGroupCalendarEvents​(String groupId) throws GraphException
    Lists events from a group's calendar.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getGroupCalendarEvents

    public List<Event> getGroupCalendarEvents​(String groupId, Query query) throws GraphException
    Lists events from a group's calendar with query options.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvent

    public Event getEvent​(String eventId) throws GraphException
    Gets a specific event by ID for the authenticated user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
    Returns:
      An Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvent

    public Event getEvent​(String eventId, Query query) throws GraphException
    Gets a specific event by ID with query options.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvent

    public Event getEvent​(String eventId, String userId) throws GraphException
    Gets a specific event by ID for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `userId` - The ID of the user
    Returns:
      An Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvent

    public Event getEvent​(String eventId, String userId, Query query) throws GraphException
    Gets a specific event by ID for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvent

    public Event getEvent​(String eventId, UserId userId) throws GraphException
    Gets a specific event by ID for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `userId` - The UserId object specifying the user
    Returns:
      An Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvent

    public Event getEvent​(String eventId, UserId userId, Query query) throws GraphException
    Gets a specific event by ID for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvent

    public Event getEvent​(String eventId, List<ExtendedPropertyId> extendedProperties) throws GraphException
    Throws:
      `GraphException`

  - ### getEvent

    public Event getEvent​(String eventId, String userId, List<ExtendedPropertyId> extendedProperties) throws GraphException
    Throws:
      `GraphException`

  - ### getEvent

    public Event getEvent​(String eventId, UserId userId, List<ExtendedPropertyId> extendedProperties) throws GraphException
    Throws:
      `GraphException`

  - ### getEvent

    public Event getEvent​(EventMessageId eventMessageId) throws GraphException
    Gets an event from an event message. Retrieves the event associated with an event message (meeting request, cancellation, etc.).

    See Microsoft Graph API documentation

    Parameters:
      `eventMessageId` - The EventMessageId object
    Returns:
      An Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvent

    public Event getEvent​(EventMessageId eventMessageId, String userId) throws GraphException
    Gets an event from an event message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventMessageId` - The EventMessageId object
      `userId` - The ID of the user
    Returns:
      An Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEvent

    public Event getEvent​(EventMessageId eventMessageId, UserId userId) throws GraphException
    Gets an event from an event message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventMessageId` - The EventMessageId object
      `userId` - The UserId object specifying the user
    Returns:
      An Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end) throws GraphException
    Gets a calendar view of events within a specified time range. Returns events that occur, begin, or end in the specified time period.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, Query query) throws GraphException
    Gets a calendar view with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, String calendarId) throws GraphException
    Gets a calendar view from a specific calendar.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, String calendarId, Query query) throws GraphException
    Gets a calendar view from a specific calendar with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, UserId userId) throws GraphException
    Gets a calendar view for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `userId` - The UserId object specifying the user
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, UserId userId, Query query) throws GraphException
    Gets a calendar view for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, CalendarId calendarId) throws GraphException
    Gets a calendar view from a specific calendar using CalendarId object.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, CalendarId calendarId, Query query) throws GraphException
    Gets a calendar view from a specific calendar with query options using CalendarId object.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, CalendarId calendarId, UserId userId) throws GraphException
    Gets a calendar view from a specific calendar for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `userId` - The UserId object specifying the user
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, CalendarId calendarId, UserId userId, Query query) throws GraphException
    Gets a calendar view from a specific calendar for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, String calendarId, String calendarGroupId) throws GraphException
    Gets a calendar view from a specific calendar in a specific calendar group.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, String calendarId, String calendarGroupId, Query query) throws GraphException
    Gets a calendar view from a specific calendar in a specific calendar group with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId) throws GraphException
    Gets a calendar view from a specific calendar in a specific calendar group using ID objects.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, Query query) throws GraphException
    Gets a calendar view from a specific calendar in a specific calendar group with query options using ID objects.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, String calendarId, String calendarGroupId, String userId) throws GraphException
    Gets a calendar view from a specific calendar in a specific calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, String calendarId, String calendarGroupId, String userId, Query query) throws GraphException
    Gets a calendar view from a specific calendar in a specific calendar group for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId) throws GraphException
    Gets a calendar view from a specific calendar in a specific calendar group for a specific user using ID objects.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
      `userId` - The UserId object specifying the user
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getCalendarView

    public List<Event> getCalendarView​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId, Query query) throws GraphException
    Gets a calendar view from a specific calendar in a specific calendar group for a specific user with query options using ID objects.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(String nextLinkOrDeltaLink) throws GraphException
    Gets event changes using a next link or delta link for change tracking. Use this to get the next page of changes from a previous delta query.

    See Microsoft Graph API documentation

    Parameters:
      `nextLinkOrDeltaLink` - The next link or delta link URL from a previous response
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end) throws GraphException
    Gets event changes within a specified time range for delta tracking. Use this to synchronize events and track changes.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, Query query) throws GraphException
    Gets event changes within a specified time range with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, String calendarId) throws GraphException
    Gets event changes for a specific calendar.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, String calendarId, Query query) throws GraphException
    Gets event changes for a specific calendar with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, CalendarId calendarId) throws GraphException
    Gets event changes for a specific calendar using CalendarId object.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, CalendarId calendarId, Query query) throws GraphException
    Gets event changes for a specific calendar with query options using CalendarId object.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, CalendarId calendarId, UserId userId) throws GraphException
    Gets event changes for a specific calendar for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `userId` - The UserId object specifying the user
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, String calendarId, String calendarGroupId) throws GraphException
    Gets event changes from a specific calendar in a specific calendar group.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, String calendarId, String calendarGroupId, Query query) throws GraphException
    Gets event changes from a specific calendar in a specific calendar group with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId) throws GraphException
    Gets event changes from a specific calendar in a specific calendar group using ID objects.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, Query query) throws GraphException
    Gets event changes from a specific calendar in a specific calendar group with query options using ID objects.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, String calendarId, String calendarGroupId, String userId) throws GraphException
    Gets event changes from a specific calendar in a specific calendar group for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, String calendarId, String calendarGroupId, String userId, Query query) throws GraphException
    Gets event changes from a specific calendar in a specific calendar group for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The ID of the calendar
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId) throws GraphException
    Gets event changes from a specific calendar in a specific calendar group for a specific user using ID objects.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
      `userId` - The UserId object specifying the user
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getEventChanges

    public EventChanges getEventChanges​(Date start, Date end, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId, Query query) throws GraphException
    Gets event changes from a specific calendar in a specific calendar group for a specific user with query options using ID objects.

    See Microsoft Graph API documentation

    Parameters:
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `calendarId` - The CalendarId object specifying the calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      An EventChanges object containing the events and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOccurrences

    public List<Event> getOccurrences​(String eventId, Date start, Date end) throws GraphException
    Gets occurrences of a recurring event within a specified time range. Returns individual instances of a recurring event.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the recurring event
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
    Returns:
      A list of Event objects representing individual occurrences
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOccurrences

    public List<Event> getOccurrences​(String eventId, Date start, Date end, Query query) throws GraphException
    Gets occurrences of a recurring event with query options.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the recurring event
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects representing individual occurrences
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOccurrences

    public List<Event> getOccurrences​(String eventId, Date start, Date end, UserId userId) throws GraphException
    Gets occurrences of a recurring event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the recurring event
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `userId` - The UserId object specifying the user
    Returns:
      A list of Event objects representing individual occurrences
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOccurrences

    public List<Event> getOccurrences​(String eventId, Date start, Date end, UserId userId, Query query) throws GraphException
    Gets occurrences of a recurring event for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the recurring event
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects representing individual occurrences
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOccurrences

    public List<Event> getOccurrences​(String eventId, Date start, Date end, GroupId groupId) throws GraphException
    Gets occurrences of a group recurring event.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the recurring event
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `groupId` - The GroupId object specifying the group
    Returns:
      A list of Event objects representing individual occurrences
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOccurrences

    public List<Event> getOccurrences​(String eventId, Date start, Date end, GroupId groupId, Query query) throws GraphException
    Gets occurrences of a group recurring event with query options.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the recurring event
      `start` - The start date and time of the time range
      `end` - The end date and time of the time range
      `groupId` - The GroupId object specifying the group
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Event objects representing individual occurrences
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createOutlookCategory

    public OutlookCategory createOutlookCategory​(OutlookCategory category) throws GraphException
    Creates a new Outlook category for the signed-in user. Categories allow users to organize and track items like emails, events, and contacts.

    See Microsoft Graph API documentation

    Parameters:
      `category` - The OutlookCategory object to create
    Returns:
      The created OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createOutlookCategory

    public OutlookCategory createOutlookCategory​(OutlookCategory category, String userId) throws GraphException
    Creates a new Outlook category for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `category` - The OutlookCategory object to create
      `userId` - The ID of the user
    Returns:
      The created OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createOutlookCategory

    public OutlookCategory createOutlookCategory​(OutlookCategory category, UserId userId) throws GraphException
    Creates a new Outlook category for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `category` - The OutlookCategory object to create
      `userId` - The UserId object specifying the user
    Returns:
      The created OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateOutlookCategory

    public OutlookCategory updateOutlookCategory​(OutlookCategory category) throws GraphException
    Updates an Outlook category for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `category` - The OutlookCategory object with updated properties
    Returns:
      The updated OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateOutlookCategory

    public OutlookCategory updateOutlookCategory​(OutlookCategory category, List<String> propertyNames) throws GraphException
    Updates specific properties of an Outlook category.

    See Microsoft Graph API documentation

    Parameters:
      `category` - The OutlookCategory object with updated properties
      `propertyNames` - List of property names to update (null to update all changed properties)
    Returns:
      The updated OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateOutlookCategory

    public OutlookCategory updateOutlookCategory​(OutlookCategory category, String userId) throws GraphException
    Updates an Outlook category for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `category` - The OutlookCategory object with updated properties
      `userId` - The ID of the user
    Returns:
      The updated OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateOutlookCategory

    public OutlookCategory updateOutlookCategory​(OutlookCategory category, UserId userId) throws GraphException
    Updates an Outlook category for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `category` - The OutlookCategory object with updated properties
      `userId` - The UserId object specifying the user
    Returns:
      The updated OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateOutlookCategory

    public OutlookCategory updateOutlookCategory​(OutlookCategory category, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of an Outlook category for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `category` - The OutlookCategory object with updated properties
      `propertyNames` - List of property names to update (null to update all changed properties)
      `userId` - The UserId object specifying the user
    Returns:
      The updated OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteOutlookCategory

    public void deleteOutlookCategory​(String categoryId) throws GraphException
    Deletes an Outlook category for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `categoryId` - The ID of the category to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteOutlookCategory

    public void deleteOutlookCategory​(String categoryId, String userId) throws GraphException
    Deletes an Outlook category for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `categoryId` - The ID of the category to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteOutlookCategory

    public void deleteOutlookCategory​(String categoryId, UserId userId) throws GraphException
    Deletes an Outlook category for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `categoryId` - The ID of the category to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOutlookCategories

    public List<OutlookCategory> getOutlookCategories() throws GraphException
    Gets all Outlook categories for the signed-in user.

    See Microsoft Graph API documentation

    Returns:
      A list of OutlookCategory objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOutlookCategories

    public List<OutlookCategory> getOutlookCategories​(Query query) throws GraphException
    Gets all Outlook categories with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of OutlookCategory objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOutlookCategories

    public List<OutlookCategory> getOutlookCategories​(String userId) throws GraphException
    Gets all Outlook categories for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      A list of OutlookCategory objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOutlookCategories

    public List<OutlookCategory> getOutlookCategories​(UserId userId) throws GraphException
    Gets all Outlook categories for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      A list of OutlookCategory objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOutlookCategories

    public List<OutlookCategory> getOutlookCategories​(String userId, Query query) throws GraphException
    Gets all Outlook categories for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of OutlookCategory objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOutlookCategories

    public List<OutlookCategory> getOutlookCategories​(UserId userId, Query query) throws GraphException
    Gets all Outlook categories for a specific user with query options using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of OutlookCategory objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOutlookCategory

    public OutlookCategory getOutlookCategory​(String categoryId) throws GraphException
    Gets a specific Outlook category for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `categoryId` - The ID of the category to retrieve
    Returns:
      The OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOutlookCategory

    public OutlookCategory getOutlookCategory​(String categoryId, String userId) throws GraphException
    Gets a specific Outlook category for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `categoryId` - The ID of the category to retrieve
      `userId` - The ID of the user
    Returns:
      The OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getOutlookCategory

    public OutlookCategory getOutlookCategory​(String categoryId, UserId userId) throws GraphException
    Gets a specific Outlook category for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `categoryId` - The ID of the category to retrieve
      `userId` - The UserId object specifying the user
    Returns:
      The OutlookCategory object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardEvent

    public void forwardEvent​(String eventId, List<EmailAddress> toRecipients) throws GraphException
    Forwards an event to specified recipients. Allows forwarding a meeting request to additional attendees.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to forward
      `toRecipients` - List of EmailAddress objects for the recipients
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardEvent

    public void forwardEvent​(String eventId, List<EmailAddress> toRecipients, UserId userId) throws GraphException
    Forwards an event to specified recipients for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to forward
      `toRecipients` - List of EmailAddress objects for the recipients
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardEvent

    public void forwardEvent​(String eventId, List<EmailAddress> toRecipients, String newBody) throws GraphException
    Forwards an event with a comment message.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to forward
      `toRecipients` - List of EmailAddress objects for the recipients
      `newBody` - Comment text to include in the forwarding message
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardEvent

    public void forwardEvent​(String eventId, List<EmailAddress> toRecipients, String newBody, String userId) throws GraphException
    Forwards an event with a comment message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to forward
      `toRecipients` - List of EmailAddress objects for the recipients
      `newBody` - Comment text to include in the forwarding message
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardEvent

    public void forwardEvent​(String eventId, List<EmailAddress> toRecipients, String newBody, UserId userId) throws GraphException
    Forwards an event with a comment message for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to forward
      `toRecipients` - List of EmailAddress objects for the recipients
      `newBody` - Comment text to include in the forwarding message
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### cancelEvent

    public void cancelEvent​(String eventId) throws GraphException
    Cancels an event and sends cancellation notification. Allows the organizer to cancel a meeting and notify all attendees.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to cancel
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### cancelEvent

    public void cancelEvent​(String eventId, String newBody) throws GraphException
    Cancels an event with a comment message.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to cancel
      `newBody` - Comment text to include in the cancellation message
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### cancelEvent

    public void cancelEvent​(String eventId, UserId userId) throws GraphException
    Cancels an event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to cancel
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### cancelEvent

    public void cancelEvent​(String eventId, String newBody, String userId) throws GraphException
    Cancels an event with a comment message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to cancel
      `newBody` - Comment text to include in the cancellation message
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### cancelEvent

    public void cancelEvent​(String eventId, String newBody, UserId userId) throws GraphException
    Cancels an event with a comment message for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to cancel
      `newBody` - Comment text to include in the cancellation message
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### acceptEvent

    public void acceptEvent​(String eventId) throws GraphException
    Accepts an event invitation and sends a response to the organizer. Allows the attendee to accept a meeting invitation.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to accept
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### acceptEvent

    public void acceptEvent​(String eventId, boolean sendResponse) throws GraphException
    Accepts an event invitation with control over sending response.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to accept
      `sendResponse` - Whether to send a response to the organizer
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### acceptEvent

    public void acceptEvent​(String eventId, String newBody) throws GraphException
    Accepts an event with a comment message.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to accept
      `newBody` - Comment text to include in the response
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### acceptEvent

    public void acceptEvent​(String eventId, boolean sendResponse, String newBody) throws GraphException
    Accepts an event with send response control and comment message.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to accept
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### acceptEvent

    public void acceptEvent​(String eventId, UserId userId) throws GraphException
    Accepts an event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to accept
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### acceptEvent

    public void acceptEvent​(String eventId, boolean sendResponse, UserId userId) throws GraphException
    Accepts an event for a specific user with send response control.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to accept
      `sendResponse` - Whether to send a response to the organizer
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### acceptEvent

    public void acceptEvent​(String eventId, boolean sendResponse, String newBody, String userId) throws GraphException
    Accepts an event for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to accept
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### acceptEvent

    public void acceptEvent​(String eventId, boolean sendResponse, String newBody, UserId userId) throws GraphException
    Accepts an event for a specific user with all options using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to accept
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId) throws GraphException
    Tentatively accepts an event invitation and sends a response to the organizer. Allows the attendee to tentatively accept a meeting invitation.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, TimeSlot proposedNewTime) throws GraphException
    Tentatively accepts an event with a proposed new time.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `proposedNewTime` - Proposed new time for the event
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, boolean sendResponse) throws GraphException
    Tentatively accepts an event with control over sending response.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `sendResponse` - Whether to send a response to the organizer
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, boolean sendResponse, String newBody) throws GraphException
    Tentatively accepts an event with a comment message.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, boolean sendResponse, TimeSlot proposedNewTime) throws GraphException
    Tentatively accepts an event with a proposed new time.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `sendResponse` - Whether to send a response to the organizer
      `proposedNewTime` - Proposed new time for the event
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, UserId userId) throws GraphException
    Tentatively accepts an event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, TimeSlot proposedNewTime, UserId userId) throws GraphException
    Tentatively accepts an event with a proposed new time for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `proposedNewTime` - Proposed new time for the event
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, boolean sendResponse, UserId userId) throws GraphException
    Tentatively accepts an event for a specific user with send response control.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `sendResponse` - Whether to send a response to the organizer
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, boolean sendResponse, String newBody, UserId userId) throws GraphException
    Tentatively accepts an event for a specific user with a comment message.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, boolean sendResponse, TimeSlot proposedNewTime, UserId userId) throws GraphException
    Tentatively accepts an event with a proposed new time for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `sendResponse` - Whether to send a response to the organizer
      `proposedNewTime` - Proposed new time for the event
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, boolean sendResponse, String newBody, TimeSlot proposedNewTime) throws GraphException
    Tentatively accepts an event with comment and proposed new time.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
      `proposedNewTime` - Proposed new time for the event
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### tentativelyAcceptEvent

    public void tentativelyAcceptEvent​(String eventId, boolean sendResponse, String newBody, TimeSlot proposedNewTime, UserId userId) throws GraphException
    Tentatively accepts an event with all options for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to tentatively accept
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
      `proposedNewTime` - Proposed new time for the event
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId) throws GraphException
    Declines an event invitation and sends a response to the organizer. Allows the attendee to decline a meeting invitation.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, TimeSlot proposedNewTime) throws GraphException
    Declines an event with a proposed new time.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `proposedNewTime` - Proposed new time for the event
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, boolean sendResponse) throws GraphException
    Declines an event with control over sending response.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `sendResponse` - Whether to send a response to the organizer
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, boolean sendResponse, String newBody) throws GraphException
    Declines an event with a comment message.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, boolean sendResponse, TimeSlot proposedNewTime) throws GraphException
    Declines an event with a proposed new time.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `sendResponse` - Whether to send a response to the organizer
      `proposedNewTime` - Proposed new time for the event
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, UserId userId) throws GraphException
    Declines an event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, TimeSlot proposedNewTime, UserId userId) throws GraphException
    Declines an event with a proposed new time for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `proposedNewTime` - Proposed new time for the event
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, boolean sendResponse, UserId userId) throws GraphException
    Declines an event for a specific user with send response control.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `sendResponse` - Whether to send a response to the organizer
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, boolean sendResponse, String newBody, UserId userId) throws GraphException
    Declines an event for a specific user with a comment message.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, boolean sendResponse, TimeSlot proposedNewTime, UserId userId) throws GraphException
    Declines an event with a proposed new time for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `sendResponse` - Whether to send a response to the organizer
      `proposedNewTime` - Proposed new time for the event
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, boolean sendResponse, String newBody, TimeSlot proposedNewTime) throws GraphException
    Declines an event with comment and proposed new time.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
      `proposedNewTime` - Proposed new time for the event
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### declineEvent

    public void declineEvent​(String eventId, boolean sendResponse, String newBody, TimeSlot proposedNewTime, UserId userId) throws GraphException
    Declines an event with all options for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to decline
      `sendResponse` - Whether to send a response to the organizer
      `newBody` - Comment text to include in the response
      `proposedNewTime` - Proposed new time for the event
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### dismissReminder

    public void dismissReminder​(String eventId) throws GraphException
    Dismisses a reminder for an event. Dismisses the reminder that has been triggered for an event in the signed-in user's calendar.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### dismissReminder

    public void dismissReminder​(String eventId, String userId) throws GraphException
    Dismisses a reminder for an event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### dismissReminder

    public void dismissReminder​(String eventId, UserId userId) throws GraphException
    Dismisses a reminder for an event for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### snoozeReminder

    public void snoozeReminder​(String eventId, DateTimeTimeZone newReminderTime) throws GraphException
    Snoozes a reminder for an event to a new time. Postpones the reminder for an event in the signed-in user's calendar until a new time.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `newReminderTime` - The new date, time, and time zone to which the reminder should be snoozed
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### snoozeReminder

    public void snoozeReminder​(String eventId, DateTimeTimeZone newReminderTime, String userId) throws GraphException
    Snoozes a reminder for an event to a new time for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `newReminderTime` - The new date, time, and time zone to which the reminder should be snoozed
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### snoozeReminder

    public void snoozeReminder​(String eventId, DateTimeTimeZone newReminderTime, UserId userId) throws GraphException
    Snoozes a reminder for an event to a new time for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event
      `newReminderTime` - The new date, time, and time zone to which the reminder should be snoozed
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteEvent

    public void deleteEvent​(String eventId) throws GraphException
    Deletes an event from the signed-in user's calendar.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteEvent

    public void deleteEvent​(String eventId, String userId) throws GraphException
    Deletes an event from a specific user's calendar.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteEvent

    public void deleteEvent​(String eventId, UserId userId) throws GraphException
    Deletes an event from a specific user's calendar using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `eventId` - The ID of the event to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendar

    public Calendar createCalendar​(Calendar calendar) throws GraphException
    Creates a new calendar in the signed-in user's mailbox.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object to create
    Returns:
      The created Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendar

    public Calendar createCalendar​(Calendar calendar, CalendarId calendarId) throws GraphException
    Creates a new calendar in a specific calendar.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object to create
      `calendarId` - The CalendarId object specifying the parent calendar
    Returns:
      The created Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendar

    public Calendar createCalendar​(Calendar calendar, CalendarId calendarId, CalendarGroupId calendarGroupId) throws GraphException
    Creates a new calendar in a specific calendar within a calendar group.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object to create
      `calendarId` - The CalendarId object specifying the parent calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
    Returns:
      The created Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendar

    public Calendar createCalendar​(Calendar calendar, UserId userid) throws GraphException
    Creates a new calendar for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object to create
      `userid` - The UserId object specifying the user
    Returns:
      The created Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendar

    public Calendar createCalendar​(Calendar calendar, CalendarId calendarId, UserId userid) throws GraphException
    Creates a new calendar in a specific calendar for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object to create
      `calendarId` - The CalendarId object specifying the parent calendar
      `userid` - The UserId object specifying the user
    Returns:
      The created Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendar

    public Calendar createCalendar​(Calendar calendar, CalendarId calendarId, CalendarGroupId calendarGroupId, UserId userId) throws GraphException
    Creates a new calendar with all options.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object to create
      `calendarId` - The CalendarId object specifying the parent calendar
      `calendarGroupId` - The CalendarGroupId object specifying the calendar group
      `userId` - The UserId object specifying the user
    Returns:
      The created Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendar

    public Calendar createCalendar​(Calendar calendar, String calendarId) throws GraphException
    Creates a new calendar in a specific calendar.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object to create
      `calendarId` - The ID of the parent calendar
    Returns:
      The created Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendar

    public Calendar createCalendar​(Calendar calendar, String calendarId, String calendarGroupId) throws GraphException
    Creates a new calendar in a specific calendar within a calendar group.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object to create
      `calendarId` - The ID of the parent calendar
      `calendarGroupId` - The ID of the calendar group
    Returns:
      The created Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createCalendar

    public Calendar createCalendar​(Calendar calendar, String calendarId, String calendarGroupId, String userId) throws GraphException
    Creates a new calendar with all options for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object to create
      `calendarId` - The ID of the parent calendar
      `calendarGroupId` - The ID of the calendar group
      `userId` - The ID of the user
    Returns:
      The created Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteCalendar

    public void deleteCalendar​(String calendarId) throws GraphException
    Deletes a calendar from the signed-in user's mailbox.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteCalendar

    public void deleteCalendar​(String calendarId, String userId) throws GraphException
    Deletes a calendar from a specific user's mailbox.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteCalendar

    public void deleteCalendar​(String calendarId, UserId userId) throws GraphException
    Deletes a calendar from a specific user's mailbox using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `calendarId` - The ID of the calendar to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendar

    public Calendar updateCalendar​(Calendar calendar) throws GraphException
    Updates a calendar in the signed-in user's mailbox.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object with updated properties
    Returns:
      The updated Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendar

    public Calendar updateCalendar​(Calendar calendar, List<String> propertyNames) throws GraphException
    Updates specific properties of a calendar.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object with updated properties
      `propertyNames` - List of property names to update (null to update all changed properties)
    Returns:
      The updated Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendar

    public Calendar updateCalendar​(Calendar calendar, String userId) throws GraphException
    Updates a calendar for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object with updated properties
      `userId` - The ID of the user
    Returns:
      The updated Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendar

    public Calendar updateCalendar​(Calendar calendar, UserId userId) throws GraphException
    Updates a calendar for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object with updated properties
      `userId` - The UserId object specifying the user
    Returns:
      The updated Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateCalendar

    public Calendar updateCalendar​(Calendar calendar, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of a calendar for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `calendar` - The Calendar object with updated properties
      `propertyNames` - List of property names to update (null to update all changed properties)
      `userId` - The UserId object specifying the user
    Returns:
      The updated Calendar object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateEvent

    public Event updateEvent​(Event eventItem) throws GraphException
    Updates an event in the signed-in user's calendar.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object with updated properties
    Returns:
      The updated Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateEvent

    public Event updateEvent​(Event eventItem, List<String> propertyNames) throws GraphException
    Updates specific properties of an event.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object with updated properties
      `propertyNames` - List of property names to update (null to update all changed properties)
    Returns:
      The updated Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateEvent

    public Event updateEvent​(Event eventItem, String userId) throws GraphException
    Updates an event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object with updated properties
      `userId` - The ID of the user
    Returns:
      The updated Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateEvent

    public Event updateEvent​(Event eventItem, UserId userId) throws GraphException
    Updates an event for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object with updated properties
      `userId` - The UserId object specifying the user
    Returns:
      The updated Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateEvent

    public Event updateEvent​(Event eventItem, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of an event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object with updated properties
      `propertyNames` - List of property names to update (null to update all changed properties)
      `userId` - The UserId object specifying the user
    Returns:
      The updated Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createEvent

    public Event createEvent​(Event eventItem) throws GraphException
    Creates a new event in the signed-in user's default calendar.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object to create
    Returns:
      The created Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createEvent

    public Event createEvent​(Event eventItem, String calendarId) throws GraphException
    Creates a new event in a specific calendar.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object to create
      `calendarId` - The ID of the calendar
    Returns:
      The created Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createEvent

    public Event createEvent​(Event eventItem, CalendarId calendarId) throws GraphException
    Creates a new event in a specific calendar using CalendarId object.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object to create
      `calendarId` - The CalendarId object specifying the calendar
    Returns:
      The created Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createEvent

    public Event createEvent​(Event eventItem, UserId userId) throws GraphException
    Creates a new event for a specific user's default calendar.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object to create
      `userId` - The UserId object specifying the user
    Returns:
      The created Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createEvent

    public Event createEvent​(Event eventItem, String calendarId, String userId) throws GraphException
    Creates a new event in a specific calendar for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object to create
      `calendarId` - The ID of the calendar
      `userId` - The ID of the user
    Returns:
      The created Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createEvent

    public Event createEvent​(Event eventItem, CalendarId calendarId, UserId userId) throws GraphException
    Creates a new event in a specific calendar for a specific user using ID objects.

    See Microsoft Graph API documentation

    Parameters:
      `eventItem` - The Event object to create
      `calendarId` - The CalendarId object specifying the calendar
      `userId` - The UserId object specifying the user
    Returns:
      The created Event object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts() throws GraphException
    Gets all contacts for the signed-in user.

    See Microsoft Graph API documentation

    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts​(String contactFolderId) throws GraphException
    Gets all contacts from a specific contact folder.

    See Microsoft Graph API documentation

    Parameters:
      `contactFolderId` - The ID of the contact folder
    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts​(Query query) throws GraphException
    Gets all contacts with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts​(String contactFolderId, Query query) throws GraphException
    Gets all contacts from a specific folder with query options.

    See Microsoft Graph API documentation

    Parameters:
      `contactFolderId` - The ID of the contact folder
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts​(UserId userId) throws GraphException
    Gets all contacts for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts​(UserId userId, Query query) throws GraphException
    Gets all contacts for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts​(String contactFolderId, String userId) throws GraphException
    Gets all contacts from a specific folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `contactFolderId` - The ID of the contact folder
      `userId` - The ID of the user
    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts​(String contactFolderId, UserId userId) throws GraphException
    Gets all contacts from a specific folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `contactFolderId` - The ID of the contact folder
      `userId` - The UserId object specifying the user
    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts​(String contactFolderId, String userId, Query query) throws GraphException
    Gets all contacts from a specific folder for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `contactFolderId` - The ID of the contact folder
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContacts

    public List<Contact> getContacts​(String contactFolderId, UserId userId, Query query) throws GraphException
    Gets all contacts from a specific folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `contactFolderId` - The ID of the contact folder
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Contact objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactChanges

    public ContactChanges getContactChanges() throws GraphException
    Gets contact changes for delta tracking. Returns changes that have been made to contacts for synchronization.

    See Microsoft Graph API documentation

    Returns:
      A ContactChanges object containing contacts and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactChanges

    public ContactChanges getContactChanges​(String nextLinkOrDeltaLink) throws GraphException
    Gets contact changes using a next link or delta link. Use this to get the next page of changes from a previous delta query.

    See Microsoft Graph API documentation

    Parameters:
      `nextLinkOrDeltaLink` - The next link or delta link URL from a previous response
    Returns:
      A ContactChanges object containing contacts and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactChanges

    public ContactChanges getContactChanges​(Query query) throws GraphException
    Gets contact changes with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A ContactChanges object containing contacts and delta link for tracking changes
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContact

    public Contact getContact​(String contactId) throws GraphException
    Gets a specific contact for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `contactId` - The ID of the contact to retrieve
    Returns:
      The Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContact

    public Contact getContact​(String contactId, String userId) throws GraphException
    Gets a specific contact for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `contactId` - The ID of the contact to retrieve
      `userId` - The ID of the user
    Returns:
      The Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContact

    public Contact getContact​(String contactId, UserId userId) throws GraphException
    Gets a specific contact for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `contactId` - The ID of the contact to retrieve
      `userId` - The UserId object specifying the user
    Returns:
      The Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteContact

    public void deleteContact​(String contactId) throws GraphException
    Deletes a contact for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `contactId` - The ID of the contact to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteContact

    public void deleteContact​(String contactId, String userId) throws GraphException
    Deletes a contact for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `contactId` - The ID of the contact to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteContact

    public void deleteContact​(String contactId, UserId userId) throws GraphException
    Deletes a contact for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `contactId` - The ID of the contact to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateContact

    public Contact updateContact​(Contact contact) throws GraphException
    Updates a contact for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object with updated properties
    Returns:
      The updated Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateContact

    public Contact updateContact​(Contact contact, List<String> propertyNames) throws GraphException
    Updates specific properties of a contact.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object with updated properties
      `propertyNames` - List of property names to update (null to update all changed properties)
    Returns:
      The updated Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateContact

    public Contact updateContact​(Contact contact, String userId) throws GraphException
    Updates a contact for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object with updated properties
      `userId` - The ID of the user
    Returns:
      The updated Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateContact

    public Contact updateContact​(Contact contact, UserId userId) throws GraphException
    Updates a contact for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object with updated properties
      `userId` - The UserId object specifying the user
    Returns:
      The updated Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateContact

    public Contact updateContact​(Contact contact, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of a contact for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object with updated properties
      `propertyNames` - List of property names to update (null to update all changed properties)
      `userId` - The UserId object specifying the user
    Returns:
      The updated Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContact

    public Contact createContact​(Contact contact) throws GraphException
    Creates a new contact for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object to create
    Returns:
      The created Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContact

    public Contact createContact​(Contact contact, String contactFolderId) throws GraphException
    Creates a new contact in a specific contact folder.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object to create
      `contactFolderId` - The ID of the contact folder
    Returns:
      The created Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContact

    public Contact createContact​(Contact contact, UserId userId) throws GraphException
    Creates a new contact for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object to create
      `userId` - The UserId object specifying the user
    Returns:
      The created Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContact

    public Contact createContact​(Contact contact, String contactFolderId, String userId) throws GraphException
    Creates a new contact in a specific folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object to create
      `contactFolderId` - The ID of the contact folder
      `userId` - The ID of the user
    Returns:
      The created Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContact

    public Contact createContact​(Contact contact, String contactFolderId, UserId userId) throws GraphException
    Creates a new contact in a specific folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `contact` - The Contact object to create
      `contactFolderId` - The ID of the contact folder
      `userId` - The UserId object specifying the user
    Returns:
      The created Contact object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders() throws GraphException
    Gets all contact folders for the signed-in user.

    See Microsoft Graph API documentation

    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders​(String parentFolderId) throws GraphException
    Gets all child contact folders from a parent folder.

    See Microsoft Graph API documentation

    Parameters:
      `parentFolderId` - The ID of the parent contact folder
    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders​(Query query) throws GraphException
    Gets all contact folders with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders​(String parentFolderId, Query query) throws GraphException
    Gets all child contact folders from a parent folder with query options.

    See Microsoft Graph API documentation

    Parameters:
      `parentFolderId` - The ID of the parent contact folder
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders​(UserId userId) throws GraphException
    Gets all contact folders for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders​(UserId userId, Query query) throws GraphException
    Gets all contact folders for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders​(String parentFolderId, String userId) throws GraphException
    Gets all child contact folders from a parent folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `parentFolderId` - The ID of the parent contact folder
      `userId` - The ID of the user
    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders​(String parentFolderId, String userId, Query query) throws GraphException
    Gets all child contact folders from a parent folder for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `parentFolderId` - The ID of the parent contact folder
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders​(String parentFolderId, UserId userId) throws GraphException
    Gets all child contact folders from a parent folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `parentFolderId` - The ID of the parent contact folder
      `userId` - The UserId object specifying the user
    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getContactFolders

    public List<ContactFolder> getContactFolders​(String parentFolderId, UserId userId, Query query) throws GraphException
    Gets all child contact folders from a parent folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `parentFolderId` - The ID of the parent contact folder
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of ContactFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContactFolder

    public ContactFolder createContactFolder​(String displayName) throws GraphException
    Creates a new contact folder for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name for the new contact folder
    Returns:
      The created ContactFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContactFolder

    public ContactFolder createContactFolder​(String displayName, String parentFolderId) throws GraphException
    Creates a new child contact folder within a parent folder.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name for the new contact folder
      `parentFolderId` - The ID of the parent contact folder
    Returns:
      The created ContactFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContactFolder

    public ContactFolder createContactFolder​(String displayName, UserId userId) throws GraphException
    Creates a new contact folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name for the new contact folder
      `userId` - The UserId object specifying the user
    Returns:
      The created ContactFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContactFolder

    public ContactFolder createContactFolder​(String displayName, String parentFolderId, String userId) throws GraphException
    Creates a new child contact folder within a parent folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name for the new contact folder
      `parentFolderId` - The ID of the parent contact folder
      `userId` - The ID of the user
    Returns:
      The created ContactFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createContactFolder

    public ContactFolder createContactFolder​(String displayName, String parentFolderId, UserId userId) throws GraphException
    Creates a new child contact folder within a parent folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name for the new contact folder
      `parentFolderId` - The ID of the parent contact folder
      `userId` - The UserId object specifying the user
    Returns:
      The created ContactFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### translateExchangeIds

    public Hashtable<String,​String> translateExchangeIds​(List<String> sourceIds, ExchangeIdFormat sourceIdFormat, ExchangeIdFormat targetIdFormat) throws GraphException
    Translates Exchange IDs from one format to another for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `sourceIds` - List of Exchange IDs to translate
      `sourceIdFormat` - The format of the source IDs (e.g., EntryId, EwsId, ImmutableEntryId, RestId, RestImmutableEntryId)
      `targetIdFormat` - The target format for the translated IDs
    Returns:
      A Hashtable mapping source IDs to translated target IDs
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### translateExchangeIds

    public Hashtable<String,​String> translateExchangeIds​(List<String> sourceIds, ExchangeIdFormat sourceIdFormat, ExchangeIdFormat targetIdFormat, String userId) throws GraphException
    Translates Exchange IDs from one format to another for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `sourceIds` - List of Exchange IDs to translate
      `sourceIdFormat` - The format of the source IDs
      `targetIdFormat` - The target format for the translated IDs
      `userId` - The ID of the user
    Returns:
      A Hashtable mapping source IDs to translated target IDs
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### translateExchangeIds

    public Hashtable<String,​String> translateExchangeIds​(List<String> sourceIds, ExchangeIdFormat sourceIdFormat, ExchangeIdFormat targetIdFormat, UserId userId) throws GraphException
    Translates Exchange IDs from one format to another for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `sourceIds` - List of Exchange IDs to translate
      `sourceIdFormat` - The format of the source IDs
      `targetIdFormat` - The target format for the translated IDs
      `userId` - The UserId object specifying the user
    Returns:
      A Hashtable mapping source IDs to translated target IDs
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardMessage

    public void forwardMessage​(String messageId, List<EmailAddress> toRecipients) throws GraphException
    Forwards a message to recipients.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to forward
      `toRecipients` - List of EmailAddress recipients to forward the message to
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardMessage

    public void forwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody) throws GraphException
    Forwards a message with a comment.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to forward
      `toRecipients` - List of EmailAddress recipients to forward the message to
      `newBody` - Comment or additional message body to include
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardMessage

    public void forwardMessage​(String messageId, List<EmailAddress> toRecipients, Message updateMessage) throws GraphException
    Forwards a message with updated message properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to forward
      `toRecipients` - List of EmailAddress recipients to forward the message to
      `updateMessage` - Message object with updated properties to apply to the forwarded message
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardMessage

    public void forwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, Message updateMessage) throws GraphException
    Forwards a message with a comment and updated message properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to forward
      `toRecipients` - List of EmailAddress recipients to forward the message to
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardMessage

    public void forwardMessage​(String messageId, List<EmailAddress> toRecipients, UserId userId) throws GraphException
    Forwards a message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to forward
      `toRecipients` - List of EmailAddress recipients to forward the message to
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardMessage

    public void forwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, UserId userId) throws GraphException
    Forwards a message with a comment for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to forward
      `toRecipients` - List of EmailAddress recipients to forward the message to
      `newBody` - Comment or additional message body to include
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardMessage

    public void forwardMessage​(String messageId, List<EmailAddress> toRecipients, Message updateMessage, UserId userId) throws GraphException
    Forwards a message with updated message properties for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to forward
      `toRecipients` - List of EmailAddress recipients to forward the message to
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### forwardMessage

    public void forwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, Message updateMessage, UserId userId) throws GraphException
    Forwards a message with all options for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to forward
      `toRecipients` - List of EmailAddress recipients to forward the message to
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createForwardMessage

    public Message createForwardMessage​(String messageId, List<EmailAddress> toRecipients) throws GraphException
    Creates a forward message draft without sending it.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a forward for
      `toRecipients` - List of EmailAddress recipients for the forward message
    Returns:
      The created forward Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createForwardMessage

    public Message createForwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody) throws GraphException
    Creates a forward message draft with a comment.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a forward for
      `toRecipients` - List of EmailAddress recipients for the forward message
      `newBody` - Comment or additional message body to include
    Returns:
      The created forward Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createForwardMessage

    public Message createForwardMessage​(String messageId, List<EmailAddress> toRecipients, Message updateMessage) throws GraphException
    Creates a forward message draft with updated message properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a forward for
      `toRecipients` - List of EmailAddress recipients for the forward message
      `updateMessage` - Message object with updated properties to apply
    Returns:
      The created forward Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createForwardMessage

    public Message createForwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, Message updateMessage) throws GraphException
    Creates a forward message draft with a comment and updated properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a forward for
      `toRecipients` - List of EmailAddress recipients for the forward message
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
    Returns:
      The created forward Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createForwardMessage

    public Message createForwardMessage​(String messageId, List<EmailAddress> toRecipients, UserId userId) throws GraphException
    Creates a forward message draft for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a forward for
      `toRecipients` - List of EmailAddress recipients for the forward message
      `userId` - The UserId object specifying the user
    Returns:
      The created forward Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createForwardMessage

    public Message createForwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, UserId userId) throws GraphException
    Creates a forward message draft with a comment for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a forward for
      `toRecipients` - List of EmailAddress recipients for the forward message
      `newBody` - Comment or additional message body to include
      `userId` - The UserId object specifying the user
    Returns:
      The created forward Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createForwardMessage

    public Message createForwardMessage​(String messageId, List<EmailAddress> toRecipients, Message updateMessage, UserId userId) throws GraphException
    Creates a forward message draft with updated properties for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a forward for
      `toRecipients` - List of EmailAddress recipients for the forward message
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Returns:
      The created forward Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createForwardMessage

    public Message createForwardMessage​(String messageId, List<EmailAddress> toRecipients, String newBody, Message updateMessage, UserId userId) throws GraphException
    Creates a forward message draft with all options for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a forward for
      `toRecipients` - List of EmailAddress recipients for the forward message
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Returns:
      The created forward Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyToAll

    public void replyToAll​(String messageId) throws GraphException
    Replies to all recipients of a message.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyToAll

    public void replyToAll​(String messageId, String newBody) throws GraphException
    Replies to all recipients with a comment.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `newBody` - Comment or additional message body to include in the reply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyToAll

    public void replyToAll​(String messageId, Message updateMessage) throws GraphException
    Replies to all recipients with updated message properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `updateMessage` - Message object with updated properties to apply to the reply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyToAll

    public void replyToAll​(String messageId, String newBody, Message updateMessage) throws GraphException
    Replies to all recipients with a comment and updated properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyToAll

    public void replyToAll​(String messageId, UserId userId) throws GraphException
    Replies to all recipients for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyToAll

    public void replyToAll​(String messageId, String newBody, UserId userId) throws GraphException
    Replies to all recipients with a comment for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `newBody` - Comment or additional message body to include
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyToAll

    public void replyToAll​(String messageId, Message updateMessage, UserId userId) throws GraphException
    Replies to all recipients with updated properties for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyToAll

    public void replyToAll​(String messageId, String newBody, Message updateMessage, UserId userId) throws GraphException
    Replies to all recipients with all options for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyTo

    public void replyTo​(String messageId) throws GraphException
    Replies to the sender of a message.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyTo

    public void replyTo​(String messageId, String newBody) throws GraphException
    Replies to the sender with a comment.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `newBody` - Comment or additional message body to include in the reply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyTo

    public void replyTo​(String messageId, Message updateMessage) throws GraphException
    Replies to the sender with updated message properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `updateMessage` - Message object with updated properties to apply to the reply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyTo

    public void replyTo​(String messageId, String newBody, Message updateMessage) throws GraphException
    Replies to the sender with a comment and updated properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyTo

    public void replyTo​(String messageId, UserId userId) throws GraphException
    Replies to the sender for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyTo

    public void replyTo​(String messageId, String newBody, UserId userId) throws GraphException
    Replies to the sender with a comment for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `newBody` - Comment or additional message body to include
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyTo

    public void replyTo​(String messageId, Message updateMessage, UserId userId) throws GraphException
    Replies to the sender with updated properties for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### replyTo

    public void replyTo​(String messageId, String newBody, Message updateMessage, UserId userId) throws GraphException
    Replies to the sender with all options for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to reply to
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToAllMessage

    public Message createReplyToAllMessage​(String messageId) throws GraphException
    Creates a reply-to-all message draft without sending it.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToAllMessage

    public Message createReplyToAllMessage​(String messageId, String newBody) throws GraphException
    Creates a reply-to-all message draft with a comment.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `newBody` - Comment or additional message body to include
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToAllMessage

    public Message createReplyToAllMessage​(String messageId, Message updateMessage) throws GraphException
    Creates a reply-to-all message draft with updated message properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `updateMessage` - Message object with updated properties to apply
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToAllMessage

    public Message createReplyToAllMessage​(String messageId, String newBody, Message updateMessage) throws GraphException
    Creates a reply-to-all message draft with a comment and updated properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToAllMessage

    public Message createReplyToAllMessage​(String messageId, UserId userId) throws GraphException
    Creates a reply-to-all message draft for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `userId` - The UserId object specifying the user
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToAllMessage

    public Message createReplyToAllMessage​(String messageId, String newBody, UserId userId) throws GraphException
    Creates a reply-to-all message draft with a comment for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `newBody` - Comment or additional message body to include
      `userId` - The UserId object specifying the user
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToAllMessage

    public Message createReplyToAllMessage​(String messageId, Message updateMessage, UserId userId) throws GraphException
    Creates a reply-to-all message draft with updated properties for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToAllMessage

    public Message createReplyToAllMessage​(String messageId, String newBody, Message updateMessage, UserId userId) throws GraphException
    Creates a reply-to-all message draft with all options for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToMessage

    public Message createReplyToMessage​(String messageId) throws GraphException
    Creates a reply message draft without sending it.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToMessage

    public Message createReplyToMessage​(String messageId, String newBody) throws GraphException
    Creates a reply message draft with a comment.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `newBody` - Comment or additional message body to include
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToMessage

    public Message createReplyToMessage​(String messageId, Message updateMessage) throws GraphException
    Creates a reply message draft with updated message properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `updateMessage` - Message object with updated properties to apply
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToMessage

    public Message createReplyToMessage​(String messageId, String newBody, Message updateMessage) throws GraphException
    Creates a reply message draft with a comment and updated properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToMessage

    public Message createReplyToMessage​(String messageId, UserId userId) throws GraphException
    Creates a reply message draft for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `userId` - The UserId object specifying the user
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToMessage

    public Message createReplyToMessage​(String messageId, String newBody, UserId userId) throws GraphException
    Creates a reply message draft with a comment for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `newBody` - Comment or additional message body to include
      `userId` - The UserId object specifying the user
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToMessage

    public Message createReplyToMessage​(String messageId, Message updateMessage, UserId userId) throws GraphException
    Creates a reply message draft with updated properties for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createReplyToMessage

    public Message createReplyToMessage​(String messageId, String newBody, Message updateMessage, UserId userId) throws GraphException
    Creates a reply message draft with all options for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to create a reply for
      `newBody` - Comment or additional message body to include
      `updateMessage` - Message object with updated properties to apply
      `userId` - The UserId object specifying the user
    Returns:
      The created reply Message draft
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createUploadSession

    public UploadSession createUploadSession​(AttachmentItem attachmentItem, OutlookResourceId outlookResourceId) throws GraphException
    Creates an upload session for uploading large attachments.

    See Microsoft Graph API documentation

    Parameters:
      `attachmentItem` - The AttachmentItem containing metadata about the attachment
      `outlookResourceId` - The OutlookResourceId identifying the resource (message, event, etc.) to attach to
    Returns:
      An UploadSession object with upload URL and expiration information
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createUploadSession

    public UploadSession createUploadSession​(AttachmentItem attachmentItem, OutlookResourceId outlookResourceId, UserId userId) throws GraphException
    Creates an upload session for uploading large attachments for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `attachmentItem` - The AttachmentItem containing metadata about the attachment
      `outlookResourceId` - The OutlookResourceId identifying the resource to attach to
      `userId` - The UserId object specifying the user
    Returns:
      An UploadSession object with upload URL and expiration information
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createAttachment

    public String createAttachment​(UploadSession uploadSession, byte[] buffer) throws GraphException, IOException
    Uploads an attachment using an existing upload session from a byte array.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession obtained from createUploadSession
      `buffer` - The byte array containing the file content
    Returns:
      The attachment ID of the uploaded file
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### createAttachment

    public String createAttachment​(UploadSession uploadSession, String filePath) throws GraphException, IOException
    Uploads an attachment using an existing upload session from a file.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession obtained from createUploadSession
      `filePath` - The file path to upload
    Returns:
      The attachment ID of the uploaded file
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### createAttachment

    public String createAttachment​(UploadSession uploadSession, String filePath, int bufferSize) throws GraphException, IOException
    Uploads an attachment using an existing upload session from a file with custom buffer size.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession obtained from createUploadSession
      `filePath` - The file path to upload
      `bufferSize` - The buffer size for chunked upload (0 for default 1MB)
    Returns:
      The attachment ID of the uploaded file
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### createAttachment

    public String createAttachment​(UploadSession uploadSession, InputStream stream) throws GraphException, IOException
    Uploads an attachment using an existing upload session from an InputStream.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession obtained from createUploadSession
      `stream` - The InputStream containing the file content
    Returns:
      The attachment ID of the uploaded file
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### createAttachment

    public String createAttachment​(UploadSession uploadSession, InputStream stream, int bufferSize) throws GraphException, IOException
    Uploads an attachment using an existing upload session from an InputStream with custom buffer size.

    See Microsoft Graph API documentation

    Parameters:
      `uploadSession` - The UploadSession obtained from createUploadSession
      `stream` - The InputStream containing the file content
      `bufferSize` - The buffer size for chunked upload (0 for default 1MB)
    Returns:
      The attachment ID of the uploaded file
    Throws:
      `GraphException` - If an error occurs during the API request
      `IOException` - If an I/O error occurs

  - ### createAttachment

    public Attachment createAttachment​(Attachment attachment, OutlookResourceId outlookResourceId) throws GraphException
    Creates an attachment for a message or event.

    See Microsoft Graph API documentation

    Parameters:
      `attachment` - The Attachment object to create (FileAttachment, ItemAttachment, or ReferenceAttachment)
      `outlookResourceId` - The OutlookResourceId identifying the resource (message, event, etc.) to attach to
    Returns:
      The created Attachment object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createAttachment

    public Attachment createAttachment​(Attachment attachment, OutlookResourceId outlookResourceId, String userId) throws GraphException
    Creates an attachment for a message or event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `attachment` - The Attachment object to create
      `outlookResourceId` - The OutlookResourceId identifying the resource to attach to
      `userId` - The ID of the user
    Returns:
      The created Attachment object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createAttachment

    public Attachment createAttachment​(Attachment attachment, OutlookResourceId outlookResourceId, UserId userId) throws GraphException
    Creates an attachment for a message or event for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `attachment` - The Attachment object to create
      `outlookResourceId` - The OutlookResourceId identifying the resource to attach to
      `userId` - The UserId object specifying the user
    Returns:
      The created Attachment object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteAttachment

    public void deleteAttachment​(String attachmentId, OutlookResourceId outlookResourceId) throws GraphException
    Deletes an attachment from a message or event.

    See Microsoft Graph API documentation

    Parameters:
      `attachmentId` - The ID of the attachment to delete
      `outlookResourceId` - The OutlookResourceId identifying the resource (message, event, etc.)
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteAttachment

    public void deleteAttachment​(String attachmentId, OutlookResourceId outlookResourceId, String userId) throws GraphException
    Deletes an attachment from a message or event for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `attachmentId` - The ID of the attachment to delete
      `outlookResourceId` - The OutlookResourceId identifying the resource
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteAttachment

    public void deleteAttachment​(String attachmentId, OutlookResourceId outlookResourceId, UserId userId) throws GraphException
    Deletes an attachment from a message or event for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `attachmentId` - The ID of the attachment to delete
      `outlookResourceId` - The OutlookResourceId identifying the resource
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAttachments

    public List<Attachment> getAttachments​(OutlookResourceId outlookResourceId) throws GraphException
    Gets all attachments for a message or event.

    See Microsoft Graph API documentation

    Parameters:
      `outlookResourceId` - The OutlookResourceId identifying the resource (message, event, etc.)
    Returns:
      A list of Attachment objects (FileAttachment, ItemAttachment, or ReferenceAttachment)
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAttachments

    public List<Attachment> getAttachments​(OutlookResourceId outlookResourceId, Query query) throws GraphException
    Gets all attachments with query options.

    See Microsoft Graph API documentation

    Parameters:
      `outlookResourceId` - The OutlookResourceId identifying the resource
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Attachment objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAttachments

    public List<Attachment> getAttachments​(OutlookResourceId outlookResourceId, ResourceId resourceId) throws GraphException
    Gets all attachments for a specific resource.

    See Microsoft Graph API documentation

    Parameters:
      `outlookResourceId` - The OutlookResourceId identifying the resource
      `resourceId` - The ResourceId for user identification
    Returns:
      A list of Attachment objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAttachments

    public List<Attachment> getAttachments​(OutlookResourceId outlookResourceId, ResourceId resourceId, Query query) throws GraphException
    Gets all attachments with all options.

    See Microsoft Graph API documentation

    Parameters:
      `outlookResourceId` - The OutlookResourceId identifying the resource
      `resourceId` - The ResourceId for user identification
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      A list of Attachment objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAttachment

    public Attachment getAttachment​(String attachmentId, OutlookResourceId outlookResourceId) throws GraphException
    Gets a specific attachment.

    See Microsoft Graph API documentation

    Parameters:
      `attachmentId` - The ID of the attachment to retrieve
      `outlookResourceId` - The OutlookResourceId identifying the resource (message, event, etc.)
    Returns:
      The Attachment object (FileAttachment, ItemAttachment, or ReferenceAttachment)
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAttachment

    public Attachment getAttachment​(String attachmentId, OutlookResourceId outlookResourceId, Query query) throws GraphException
    Gets a specific attachment with query options.

    See Microsoft Graph API documentation

    Parameters:
      `attachmentId` - The ID of the attachment to retrieve
      `outlookResourceId` - The OutlookResourceId identifying the resource
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      The Attachment object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAttachment

    public Attachment getAttachment​(String attachmentId, OutlookResourceId outlookResourceId, ResourceId resourceId) throws GraphException
    Gets a specific attachment for a specific resource.

    See Microsoft Graph API documentation

    Parameters:
      `attachmentId` - The ID of the attachment to retrieve
      `outlookResourceId` - The OutlookResourceId identifying the resource
      `resourceId` - The ResourceId for user identification
    Returns:
      The Attachment object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAttachment

    public Attachment getAttachment​(String attachmentId, OutlookResourceId outlookResourceId, ResourceId resourceId, Query query) throws GraphException
    Gets a specific attachment with all options.

    See Microsoft Graph API documentation

    Parameters:
      `attachmentId` - The ID of the attachment to retrieve
      `outlookResourceId` - The OutlookResourceId identifying the resource
      `resourceId` - The ResourceId for user identification
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      The Attachment object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMessage

    public Message moveMessage​(String messageId, StandardMailboxFolder standardMailboxFolder) throws GraphException
    Moves a message to a standard mailbox folder.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to move
      `standardMailboxFolder` - The standard folder to move the message to (e.g., DeletedItems, Drafts, Inbox)
    Returns:
      The moved Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMessage

    public Message moveMessage​(String messageId, StandardMailboxFolder standardMailboxFolder, String userId) throws GraphException
    Moves a message to a standard mailbox folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to move
      `standardMailboxFolder` - The standard folder to move the message to
      `userId` - The ID of the user
    Returns:
      The moved Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMessage

    public Message moveMessage​(String messageId, StandardMailboxFolder standardMailboxFolder, UserId userId) throws GraphException
    Moves a message to a standard mailbox folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to move
      `standardMailboxFolder` - The standard folder to move the message to
      `userId` - The UserId object specifying the user
    Returns:
      The moved Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMessage

    public Message moveMessage​(String messageId, String destintionFolderId) throws GraphException
    Moves a message to a specific folder.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to move
      `destintionFolderId` - The ID of the destination folder
    Returns:
      The moved Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMessage

    public Message moveMessage​(String messageId, String destintionFolderId, String userId) throws GraphException
    Moves a message to a specific folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to move
      `destintionFolderId` - The ID of the destination folder
      `userId` - The ID of the user
    Returns:
      The moved Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMessage

    public Message moveMessage​(String messageId, String destintionFolderId, UserId userId) throws GraphException
    Moves a message to a specific folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to move
      `destintionFolderId` - The ID of the destination folder
      `userId` - The UserId object specifying the user
    Returns:
      The moved Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMessage

    public Message copyMessage​(String messageId, StandardMailboxFolder standardMailboxFolder) throws GraphException
    Copies a message to a standard mailbox folder.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to copy
      `standardMailboxFolder` - The standard folder to copy the message to (e.g., DeletedItems, Drafts, Inbox)
    Returns:
      The copied Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMessage

    public Message copyMessage​(String messageId, StandardMailboxFolder standardMailboxFolder, String userId) throws GraphException
    Copies a message to a standard mailbox folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to copy
      `standardMailboxFolder` - The standard folder to copy the message to
      `userId` - The ID of the user
    Returns:
      The copied Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMessage

    public Message copyMessage​(String messageId, StandardMailboxFolder standardMailboxFolder, UserId userId) throws GraphException
    Copies a message to a standard mailbox folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to copy
      `standardMailboxFolder` - The standard folder to copy the message to
      `userId` - The UserId object specifying the user
    Returns:
      The copied Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMessage

    public Message copyMessage​(String messageId, String destintionFolderId) throws GraphException
    Copies a message to a specific folder.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to copy
      `destintionFolderId` - The ID of the destination folder
    Returns:
      The copied Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMessage

    public Message copyMessage​(String messageId, String destintionFolderId, String userId) throws GraphException
    Copies a message to a specific folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to copy
      `destintionFolderId` - The ID of the destination folder
      `userId` - The ID of the user
    Returns:
      The copied Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMessage

    public Message copyMessage​(String messageId, String destintionFolderId, UserId userId) throws GraphException
    Copies a message to a specific folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to copy
      `destintionFolderId` - The ID of the destination folder
      `userId` - The UserId object specifying the user
    Returns:
      The copied Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteMessage

    public void deleteMessage​(String messageId) throws GraphException
    Deletes a message for the signed-in user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteMessage

    public void deleteMessage​(String messageId, String userId) throws GraphException
    Deletes a message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteMessage

    public void deleteMessage​(String messageId, UserId userId) throws GraphException
    Deletes a message for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageMimeContent

    public String getMessageMimeContent​(String messageId) throws GraphException
    Gets the MIME content of a message.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message
    Returns:
      The MIME content as a string
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageMimeContent

    public String getMessageMimeContent​(String messageId, String userId) throws GraphException
    Gets the MIME content of a message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message
      `userId` - The ID of the user
    Returns:
      The MIME content as a string
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageMimeContent

    public String getMessageMimeContent​(String messageId, UserId userId) throws GraphException
    Gets the MIME content of a message for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message
      `userId` - The UserId object specifying the user
    Returns:
      The MIME content as a string
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessage

    public Message getMessage​(String messageId) throws GraphException
    Gets a specific message.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
    Returns:
      The Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessage

    public Message getMessage​(String messageId, Query query) throws GraphException
    Gets a specific message with query options.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      The Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessage

    public Message getMessage​(String messageId, String userId) throws GraphException
    Gets a specific message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
      `userId` - The ID of the user
    Returns:
      The Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessage

    public Message getMessage​(String messageId, String userId, Query query) throws GraphException
    Gets a specific message for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      The Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessage

    public Message getMessage​(String messageId, UserId userId) throws GraphException
    Gets a specific message for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
      `userId` - The UserId object specifying the user
    Returns:
      The Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessage

    public Message getMessage​(String messageId, UserId userId, Query query) throws GraphException
    Gets a specific message for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      The Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessage

    public Message getMessage​(String messageId, List<ExtendedPropertyId> extendedProperties) throws GraphException
    Throws:
      `GraphException`

  - ### getMessage

    public Message getMessage​(String messageId, String userId, List<ExtendedPropertyId> extendedProperties) throws GraphException
    Throws:
      `GraphException`

  - ### getMessage

    public Message getMessage​(String messageId, UserId userId, List<ExtendedPropertyId> extendedProperties) throws GraphException
    Throws:
      `GraphException`

  - ### getMessageFile

    public Message getMessageFile​(String messageId) throws GraphException
    Gets a message as an MSG file format object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
    Returns:
      The Message object in MSG file format
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageFile

    public Message getMessageFile​(String messageId, String userId) throws GraphException
    Gets a message as an MSG file format object for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
      `userId` - The ID of the user
    Returns:
      The Message object in MSG file format
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageFile

    public Message getMessageFile​(String messageId, String userId, List<ExtendedPropertyId> extendedProperties) throws GraphException
    Gets a message as an MSG file format object for a specific user with extended properties.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
      `userId` - The ID of the user
      `extendedProperties` - List of extended properties to retrieve
    Returns:
      The Message object in MSG file format
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageFile

    public Message getMessageFile​(String messageId, UserId userId) throws GraphException
    Gets a message as an MSG file format object for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
      `userId` - The UserId object specifying the user
    Returns:
      The Message object in MSG file format
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageFile

    public Message getMessageFile​(String messageId, UserId userId, List<ExtendedPropertyId> extendedProperties) throws GraphException
    Gets a message as an MSG file format object with all options.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the message to retrieve
      `userId` - The UserId object specifying the user
      `extendedProperties` - List of extended properties to retrieve
    Returns:
      The Message object in MSG file format
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages() throws GraphException
    Gets the list of messages in the signed-in user's mailbox (including Inbox, Sent Items, and Deleted Items folders).

    See Microsoft Graph API documentation

    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(StandardMailboxFolder standardMailboxFolder) throws GraphException
    Gets the list of messages from a standard mailbox folder.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(String folderId) throws GraphException
    Gets the list of messages from a specific folder.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(Query query) throws GraphException
    Gets the list of messages with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(StandardMailboxFolder standardMailboxFolder, Query query) throws GraphException
    Gets the list of messages from a standard mailbox folder with query options.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(String folderId, Query query) throws GraphException
    Gets the list of messages from a specific folder with query options.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(UserId userId) throws GraphException
    Gets the list of messages for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(StandardMailboxFolder standardMailboxFolder, String userId) throws GraphException
    Gets the list of messages from a standard mailbox folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The ID of the user
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(StandardMailboxFolder standardMailboxFolder, UserId userId) throws GraphException
    Gets the list of messages from a standard mailbox folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The UserId object specifying the user
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(String folderId, String userId) throws GraphException
    Gets the list of messages from a specific folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `userId` - The ID of the user
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(String folderId, UserId userId) throws GraphException
    Gets the list of messages from a specific folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `userId` - The UserId object specifying the user
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(UserId userId, Query query) throws GraphException
    Gets the list of messages for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(StandardMailboxFolder standardMailboxFolder, String userId, Query query) throws GraphException
    Gets the list of messages from a standard mailbox folder for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(String folderId, String userId, Query query) throws GraphException
    Gets the list of messages from a specific folder for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(StandardMailboxFolder standardMailboxFolder, UserId userId, Query query) throws GraphException
    Gets the list of messages from a standard mailbox folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessages

    public List<Message> getMessages​(String folderId, UserId userId, Query query) throws GraphException
    Gets the list of messages from a specific folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Message objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(String nextLinkOrDeltaLink) throws GraphException
    Gets delta changes for messages using a nextLink or deltaLink URL.

    See Microsoft Graph API documentation

    Parameters:
      `nextLinkOrDeltaLink` - The nextLink or deltaLink URL from a previous response
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(StandardMailboxFolder standardMailboxFolder) throws GraphException
    Gets delta changes for messages in a standard mailbox folder.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(Query query) throws GraphException
    Gets delta changes for messages with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(StandardMailboxFolder standardMailboxFolder, Query query) throws GraphException
    Gets delta changes for messages in a standard mailbox folder with query options.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(String folderId, Query query) throws GraphException
    Gets delta changes for messages from a specific folder with query options.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(UserId userId) throws GraphException
    Gets delta changes for messages for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(StandardMailboxFolder standardMailboxFolder, String userId) throws GraphException
    Gets delta changes for messages in a standard mailbox folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The ID of the user
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(StandardMailboxFolder standardMailboxFolder, UserId userId) throws GraphException
    Gets delta changes for messages in a standard mailbox folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The UserId object specifying the user
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(String folderId, String userId) throws GraphException
    Gets delta changes for messages from a specific folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `userId` - The ID of the user
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(String folderId, UserId userId) throws GraphException
    Gets delta changes for messages from a specific folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `userId` - The UserId object specifying the user
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(UserId userId, Query query) throws GraphException
    Gets delta changes for messages for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(StandardMailboxFolder standardMailboxFolder, String userId, Query query) throws GraphException
    Gets delta changes for messages in a standard mailbox folder for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(String folderId, String userId, Query query) throws GraphException
    Gets delta changes for messages from a specific folder for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(StandardMailboxFolder standardMailboxFolder, UserId userId, Query query) throws GraphException
    Gets delta changes for messages in a standard mailbox folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageChanges

    public MessageChanges getMessageChanges​(String folderId, UserId userId, Query query) throws GraphException
    Gets delta changes for messages from a specific folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `folderId` - The ID of the mail folder
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MessageChanges object containing messages and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMessage

    public void sendMessage​(String messageId) throws GraphException
    Sends an existing draft message.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the draft message to send
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMessage

    public void sendMessage​(String messageId, String userId) throws GraphException
    Sends an existing draft message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the draft message to send
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMessage

    public void sendMessage​(String messageId, UserId userId) throws GraphException
    Sends an existing draft message for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageId` - The ID of the draft message to send
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMessage

    public void sendMessage​(Message message) throws GraphException
    Sends a new message without saving to Sent Items folder.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to send
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMessage

    public void sendMessage​(Message message, boolean saveToSentItems) throws GraphException
    Sends a new message with option to save to Sent Items folder.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to send
      `saveToSentItems` - Whether to save a copy of the message in the Sent Items folder
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMessage

    public void sendMessage​(Message message, String userId) throws GraphException
    Sends a new message for a specific user without saving to Sent Items folder.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to send
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMessage

    public void sendMessage​(Message message, boolean saveToSentItems, String userId) throws GraphException
    Sends a new message for a specific user with option to save to Sent Items folder.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to send
      `saveToSentItems` - Whether to save a copy of the message in the Sent Items folder
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMessage

    public void sendMessage​(Message message, UserId userId) throws GraphException
    Sends a new message for a specific user using UserId object without saving to Sent Items folder.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to send
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMessage

    public void sendMessage​(Message message, boolean saveToSentItems, UserId userId) throws GraphException
    Sends a new message for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to send
      `saveToSentItems` - Whether to save a copy of the message in the Sent Items folder
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMimeMessage

    public void sendMimeMessage​(String mimeContent) throws GraphException
    Sends a message in MIME format.

    See Microsoft Graph API documentation

    Parameters:
      `mimeContent` - The MIME content of the message
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMimeMessage

    public void sendMimeMessage​(String mimeContent, String userId) throws GraphException
    Sends a message in MIME format for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `mimeContent` - The MIME content of the message
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendMimeMessage

    public void sendMimeMessage​(String mimeContent, UserId userId) throws GraphException
    Sends a message in MIME format for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `mimeContent` - The MIME content of the message
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessage

    public Message createMessage​(Message message) throws GraphException
    Creates a draft message in the Drafts folder.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to create
    Returns:
      The created Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessage

    public Message createMessage​(Message message, StandardMailboxFolder standardMailboxFolder) throws GraphException
    Creates a message in a specific standard mailbox folder.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to create
      `standardMailboxFolder` - The standard mailbox folder to create the message in
    Returns:
      The created Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessage

    public Message createMessage​(Message message, StandardMailboxFolder standardMailboxFolder, String userId) throws GraphException
    Creates a message in a specific standard mailbox folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to create
      `standardMailboxFolder` - The standard mailbox folder to create the message in
      `userId` - The ID of the user
    Returns:
      The created Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessage

    public Message createMessage​(Message message, UserId userId) throws GraphException
    Creates a draft message for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to create
      `userId` - The UserId object specifying the user
    Returns:
      The created Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessage

    public Message createMessage​(Message message, StandardMailboxFolder standardMailboxFolder, UserId userId) throws GraphException
    Creates a message in a specific standard mailbox folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to create
      `standardMailboxFolder` - The standard mailbox folder to create the message in
      `userId` - The UserId object specifying the user
    Returns:
      The created Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessage

    public Message createMessage​(Message message, String folderId) throws GraphException
    Creates a message in a specific folder.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to create
      `folderId` - The ID of the mail folder
    Returns:
      The created Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessage

    public Message createMessage​(Message message, String folderId, String userId) throws GraphException
    Creates a message in a specific folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to create
      `folderId` - The ID of the mail folder
      `userId` - The ID of the user
    Returns:
      The created Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessage

    public Message createMessage​(Message message, String folderId, UserId userId) throws GraphException
    Creates a message in a specific folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object to create
      `folderId` - The ID of the mail folder
      `userId` - The UserId object specifying the user
    Returns:
      The created Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessage

    public Message updateMessage​(Message message) throws GraphException
    Updates a message.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object with updated properties
    Returns:
      The updated Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessage

    public Message updateMessage​(Message message, List<String> propertyNames) throws GraphException
    Updates specific properties of a message.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object with updated properties
      `propertyNames` - List of property names to update (if null, all modified properties are updated)
    Returns:
      The updated Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessage

    public Message updateMessage​(Message message, String userId) throws GraphException
    Updates a message for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object with updated properties
      `userId` - The ID of the user
    Returns:
      The updated Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessage

    public Message updateMessage​(Message message, UserId userId) throws GraphException
    Updates a message for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object with updated properties
      `userId` - The UserId object specifying the user
    Returns:
      The updated Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessage

    public Message updateMessage​(Message message, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of a message for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `message` - The Message object with updated properties
      `propertyNames` - List of property names to update (if null, all modified properties are updated)
      `userId` - The UserId object specifying the user
    Returns:
      The updated Message object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolders

    public List<MailFolder> getMailFolders() throws GraphException
    Gets the list of mail folders for the signed-in user.

    See Microsoft Graph API documentation

    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolders

    public List<MailFolder> getMailFolders​(String userId) throws GraphException
    Gets the list of mail folders for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolders

    public List<MailFolder> getMailFolders​(UserId userId) throws GraphException
    Gets the list of mail folders for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolders

    public List<MailFolder> getMailFolders​(Query query) throws GraphException
    Gets the list of mail folders with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolders

    public List<MailFolder> getMailFolders​(String userId, Query query) throws GraphException
    Gets the list of mail folders for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolders

    public List<MailFolder> getMailFolders​(UserId userId, Query query) throws GraphException
    Gets the list of mail folders for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolderChanges

    public MailFolderChanges getMailFolderChanges() throws GraphException
    Gets delta changes for mail folders for the signed-in user.

    See Microsoft Graph API documentation

    Returns:
      MailFolderChanges object containing mail folders and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolderChanges

    public MailFolderChanges getMailFolderChanges​(String nextLinkOrDeltaLink) throws GraphException
    Gets delta changes for mail folders using a nextLink or deltaLink URL.

    See Microsoft Graph API documentation

    Parameters:
      `nextLinkOrDeltaLink` - The nextLink or deltaLink URL from a previous response
    Returns:
      MailFolderChanges object containing mail folders and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolderChanges

    public MailFolderChanges getMailFolderChanges​(UserId userId) throws GraphException
    Gets delta changes for mail folders for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      MailFolderChanges object containing mail folders and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolderChanges

    public MailFolderChanges getMailFolderChanges​(Query query) throws GraphException
    Gets delta changes for mail folders with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MailFolderChanges object containing mail folders and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolderChanges

    public MailFolderChanges getMailFolderChanges​(String userId, Query query) throws GraphException
    Gets delta changes for mail folders for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MailFolderChanges object containing mail folders and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolderChanges

    public MailFolderChanges getMailFolderChanges​(UserId userId, Query query) throws GraphException
    Gets delta changes for mail folders for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      MailFolderChanges object containing mail folders and delta links
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChildMailFolders

    public List<MailFolder> getChildMailFolders​(String mailFolderId) throws GraphException
    Gets the list of child mail folders under a specific mail folder.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the parent mail folder
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChildMailFolders

    public List<MailFolder> getChildMailFolders​(String mailFolderId, String userId) throws GraphException
    Gets the list of child mail folders under a specific mail folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the parent mail folder
      `userId` - The ID of the user
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChildMailFolders

    public List<MailFolder> getChildMailFolders​(String mailFolderId, UserId userId) throws GraphException
    Gets the list of child mail folders under a specific mail folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the parent mail folder
      `userId` - The UserId object specifying the user
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChildMailFolders

    public List<MailFolder> getChildMailFolders​(String mailFolderId, Query query) throws GraphException
    Gets the list of child mail folders under a specific mail folder with query options.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the parent mail folder
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChildMailFolders

    public List<MailFolder> getChildMailFolders​(String mailFolderId, String userId, Query query) throws GraphException
    Gets the list of child mail folders under a specific mail folder for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the parent mail folder
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChildMailFolders

    public List<MailFolder> getChildMailFolders​(String mailFolderId, UserId userId, Query query) throws GraphException
    Gets the list of child mail folders under a specific mail folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the parent mail folder
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of MailFolder objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolder

    public MailFolder getMailFolder​(StandardMailboxFolder standardMailboxFolder) throws GraphException
    Gets a specific mail folder by standard mailbox folder.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
    Returns:
      The MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolder

    public MailFolder getMailFolder​(StandardMailboxFolder standardMailboxFolder, String userId) throws GraphException
    Gets a specific mail folder by standard mailbox folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The ID of the user
    Returns:
      The MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolder

    public MailFolder getMailFolder​(StandardMailboxFolder standardMailboxFolder, UserId userId) throws GraphException
    Gets a specific mail folder by standard mailbox folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `standardMailboxFolder` - The standard mailbox folder (e.g., Inbox, SentItems, DeletedItems)
      `userId` - The UserId object specifying the user
    Returns:
      The MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolder

    public MailFolder getMailFolder​(String mailFolderId) throws GraphException
    Gets a specific mail folder by ID.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the mail folder
    Returns:
      The MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolder

    public MailFolder getMailFolder​(String mailFolderId, String userId) throws GraphException
    Gets a specific mail folder by ID for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the mail folder
      `userId` - The ID of the user
    Returns:
      The MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMailFolder

    public MailFolder getMailFolder​(String mailFolderId, UserId userId) throws GraphException
    Gets a specific mail folder by ID for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the mail folder
      `userId` - The UserId object specifying the user
    Returns:
      The MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMailFolder

    public MailFolder copyMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder) throws GraphException
    Copies a mail folder to a standard mailbox folder.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to copy
      `destinationParentFolder` - The standard mailbox folder destination
    Returns:
      The copied MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMailFolder

    public MailFolder copyMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder, String userId) throws GraphException
    Copies a mail folder to a standard mailbox folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to copy
      `destinationParentFolder` - The standard mailbox folder destination
      `userId` - The ID of the user
    Returns:
      The copied MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMailFolder

    public MailFolder copyMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder, UserId userId) throws GraphException
    Copies a mail folder to a standard mailbox folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to copy
      `destinationParentFolder` - The standard mailbox folder destination
      `userId` - The UserId object specifying the user
    Returns:
      The copied MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMailFolder

    public MailFolder copyMailFolder​(String sourceFolderId, String destinationParentFolderId) throws GraphException
    Copies a mail folder to another folder.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to copy
      `destinationParentFolderId` - The ID of the destination parent folder
    Returns:
      The copied MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMailFolder

    public MailFolder copyMailFolder​(String sourceFolderId, String destinationParentFolderId, String userId) throws GraphException
    Copies a mail folder to another folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to copy
      `destinationParentFolderId` - The ID of the destination parent folder
      `userId` - The ID of the user
    Returns:
      The copied MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### copyMailFolder

    public MailFolder copyMailFolder​(String sourceFolderId, String destinationParentFolderId, UserId userId) throws GraphException
    Copies a mail folder to another folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to copy
      `destinationParentFolderId` - The ID of the destination parent folder
      `userId` - The UserId object specifying the user
    Returns:
      The copied MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMailFolder

    public MailFolder moveMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder) throws GraphException
    Moves a mail folder to a standard mailbox folder.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to move
      `destinationParentFolder` - The standard mailbox folder destination
    Returns:
      The moved MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMailFolder

    public MailFolder moveMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder, String userId) throws GraphException
    Moves a mail folder to a standard mailbox folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to move
      `destinationParentFolder` - The standard mailbox folder destination
      `userId` - The ID of the user
    Returns:
      The moved MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMailFolder

    public MailFolder moveMailFolder​(String sourceFolderId, StandardMailboxFolder destinationParentFolder, UserId userId) throws GraphException
    Moves a mail folder to a standard mailbox folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to move
      `destinationParentFolder` - The standard mailbox folder destination
      `userId` - The UserId object specifying the user
    Returns:
      The moved MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMailFolder

    public MailFolder moveMailFolder​(String sourceFolderId, String destinationParentFolderId) throws GraphException
    Moves a mail folder to another folder.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to move
      `destinationParentFolderId` - The ID of the destination parent folder
    Returns:
      The moved MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMailFolder

    public MailFolder moveMailFolder​(String sourceFolderId, String destinationParentFolderId, String userId) throws GraphException
    Moves a mail folder to another folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to move
      `destinationParentFolderId` - The ID of the destination parent folder
      `userId` - The ID of the user
    Returns:
      The moved MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### moveMailFolder

    public MailFolder moveMailFolder​(String sourceFolderId, String destinationParentFolderId, UserId userId) throws GraphException
    Moves a mail folder to another folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `sourceFolderId` - The ID of the source mail folder to move
      `destinationParentFolderId` - The ID of the destination parent folder
      `userId` - The UserId object specifying the user
    Returns:
      The moved MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteMailFolder

    public void deleteMailFolder​(String mailFolderId) throws GraphException
    Deletes a mail folder.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the mail folder to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteMailFolder

    public void deleteMailFolder​(String mailFolderId, String userId) throws GraphException
    Deletes a mail folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the mail folder to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteMailFolder

    public void deleteMailFolder​(String mailFolderId, UserId userId) throws GraphException
    Deletes a mail folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolderId` - The ID of the mail folder to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMailFolder

    public MailFolder updateMailFolder​(MailFolder mailFolder) throws GraphException
    Updates a mail folder.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object with updated properties
    Returns:
      The updated MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMailFolder

    public MailFolder updateMailFolder​(MailFolder mailFolder, List<String> propertyNames) throws GraphException
    Updates specific properties of a mail folder.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object with updated properties
      `propertyNames` - List of property names to update (if null, all modified properties are updated)
    Returns:
      The updated MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMailFolder

    public MailFolder updateMailFolder​(MailFolder mailFolder, String userId) throws GraphException
    Updates a mail folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object with updated properties
      `userId` - The ID of the user
    Returns:
      The updated MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMailFolder

    public MailFolder updateMailFolder​(MailFolder mailFolder, UserId userId) throws GraphException
    Updates a mail folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object with updated properties
      `userId` - The UserId object specifying the user
    Returns:
      The updated MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMailFolder

    public MailFolder updateMailFolder​(MailFolder mailFolder, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of a mail folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object with updated properties
      `propertyNames` - List of property names to update (if null, all modified properties are updated)
      `userId` - The UserId object specifying the user
    Returns:
      The updated MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMailFolder

    public MailFolder createMailFolder​(String displayName) throws GraphException
    Creates a mail folder with a display name.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name of the mail folder
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMailFolder

    public MailFolder createMailFolder​(String displayName, String userId) throws GraphException
    Creates a mail folder with a display name for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name of the mail folder
      `userId` - The ID of the user
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMailFolder

    public MailFolder createMailFolder​(String displayName, UserId userId) throws GraphException
    Creates a mail folder with a display name for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name of the mail folder
      `userId` - The UserId object specifying the user
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMailFolder

    public MailFolder createMailFolder​(MailFolder mailFolder) throws GraphException
    Creates a mail folder.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object to create
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMailFolder

    public MailFolder createMailFolder​(MailFolder mailFolder, String userId) throws GraphException
    Creates a mail folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object to create
      `userId` - The ID of the user
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMailFolder

    public MailFolder createMailFolder​(MailFolder mailFolder, UserId userId) throws GraphException
    Creates a mail folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object to create
      `userId` - The UserId object specifying the user
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createChildMailFolder

    public MailFolder createChildMailFolder​(String displayName, String parentFolderId) throws GraphException
    Creates a child mail folder under a parent folder.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name of the child mail folder
      `parentFolderId` - The ID of the parent folder
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createChildMailFolder

    public MailFolder createChildMailFolder​(String displayName, String parentFolderId, String userId) throws GraphException
    Creates a child mail folder under a parent folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name of the child mail folder
      `parentFolderId` - The ID of the parent folder
      `userId` - The ID of the user
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createChildMailFolder

    public MailFolder createChildMailFolder​(String displayName, String parentFolderId, UserId userId) throws GraphException
    Creates a child mail folder under a parent folder for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `displayName` - The display name of the child mail folder
      `parentFolderId` - The ID of the parent folder
      `userId` - The UserId object specifying the user
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createChildMailFolder

    public MailFolder createChildMailFolder​(MailFolder mailFolder, String parentFolderId) throws GraphException
    Creates a child mail folder under a parent folder.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object to create
      `parentFolderId` - The ID of the parent folder
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createChildMailFolder

    public MailFolder createChildMailFolder​(MailFolder mailFolder, String parentFolderId, String userId) throws GraphException
    Creates a child mail folder under a parent folder for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object to create
      `parentFolderId` - The ID of the parent folder
      `userId` - The ID of the user
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createChildMailFolder

    public MailFolder createChildMailFolder​(MailFolder mailFolder, String parentFolderId, UserId userId) throws GraphException
    Creates a child mail folder under a parent folder for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `mailFolder` - The MailFolder object to create
      `parentFolderId` - The ID of the parent folder
      `userId` - The UserId object specifying the user
    Returns:
      The created MailFolder object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessageRule

    public MessageRule createMessageRule​(MessageRule messageRule) throws GraphException
    Creates a message rule.

    See Microsoft Graph API documentation

    Parameters:
      `messageRule` - The MessageRule object to create
    Returns:
      The created MessageRule object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessageRule

    public MessageRule createMessageRule​(MessageRule messageRule, String userId) throws GraphException
    Creates a message rule for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageRule` - The MessageRule object to create
      `userId` - The ID of the user
    Returns:
      The created MessageRule object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createMessageRule

    public MessageRule createMessageRule​(MessageRule messageRule, UserId userId) throws GraphException
    Creates a message rule for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageRule` - The MessageRule object to create
      `userId` - The UserId object specifying the user
    Returns:
      The created MessageRule object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessageRule

    public MessageRule updateMessageRule​(MessageRule messageRule) throws GraphException
    Updates a message rule.

    See Microsoft Graph API documentation

    Parameters:
      `messageRule` - The MessageRule object with updated properties
    Returns:
      The updated MessageRule object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessageRule

    public MessageRule updateMessageRule​(MessageRule messageRule, List<String> propertyNames) throws GraphException
    Updates specific properties of a message rule.

    See Microsoft Graph API documentation

    Parameters:
      `messageRule` - The MessageRule object with updated properties
      `propertyNames` - List of property names to update (if null, all modified properties are updated)
    Returns:
      The updated MessageRule object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessageRule

    public MessageRule updateMessageRule​(MessageRule messageRule, String userId) throws GraphException
    Updates a message rule for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageRule` - The MessageRule object with updated properties
      `userId` - The ID of the user
    Returns:
      The updated MessageRule object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessageRule

    public MessageRule updateMessageRule​(MessageRule messageRule, UserId userId) throws GraphException
    Updates a message rule for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageRule` - The MessageRule object with updated properties
      `userId` - The UserId object specifying the user
    Returns:
      The updated MessageRule object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateMessageRule

    public MessageRule updateMessageRule​(MessageRule messageRule, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of a message rule for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `messageRule` - The MessageRule object with updated properties
      `propertyNames` - List of property names to update (if null, all modified properties are updated)
      `userId` - The UserId object specifying the user
    Returns:
      The updated MessageRule object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteMessageRule

    public void deleteMessageRule​(String messageRuleId) throws GraphException
    Deletes a message rule.

    See Microsoft Graph API documentation

    Parameters:
      `messageRuleId` - The ID of the message rule to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteMessageRule

    public void deleteMessageRule​(String messageRuleId, String userId) throws GraphException
    Deletes a message rule for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `messageRuleId` - The ID of the message rule to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteMessageRule

    public void deleteMessageRule​(String messageRuleId, UserId userId) throws GraphException
    Deletes a message rule for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `messageRuleId` - The ID of the message rule to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageRules

    public List<MessageRule> getMessageRules() throws GraphException
    Gets the list of message rules for the signed-in user.

    See Microsoft Graph API documentation

    Returns:
      List of MessageRule objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageRules

    public List<MessageRule> getMessageRules​(Query query) throws GraphException
    Gets the list of message rules with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of MessageRule objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageRules

    public List<MessageRule> getMessageRules​(String userId) throws GraphException
    Gets the list of message rules for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      List of MessageRule objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageRules

    public List<MessageRule> getMessageRules​(UserId userId) throws GraphException
    Gets the list of message rules for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of MessageRule objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageRules

    public List<MessageRule> getMessageRules​(String userId, Query query) throws GraphException
    Gets the list of message rules for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of MessageRule objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getMessageRules

    public List<MessageRule> getMessageRules​(UserId userId, Query query) throws GraphException
    Gets the list of message rules for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of MessageRule objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### listMailboxItems

    public List<MailboxItem> listMailboxItems​(String mailboxId, String folderId) throws GraphException
    Throws:
      `GraphException`

  - ### listMailboxItems

    public List<MailboxItem> listMailboxItems​(String mailboxId, String folderId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxItem

    public MailboxItem getMailboxItem​(String mailboxId, String folderId, String itemId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxItem

    public MailboxItem getMailboxItem​(String mailboxId, String folderId, String itemId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxItem

    public MailboxItem getMailboxItem​(String mailboxId, String folderId, String itemId, List<ExtendedPropertyId> extendedProperties) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxItem

    public MailboxItem getMailboxItem​(String mailboxId, String folderId, String itemId, List<ExtendedPropertyId> extendedProperties, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getExchangeSettings

    public ExchangeSettings getExchangeSettings() throws GraphException
    Throws:
      `GraphException`

  - ### getExchangeSettings

    public ExchangeSettings getExchangeSettings​(String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getExchangeSettings

    public ExchangeSettings getExchangeSettings​(UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxFolders

    public List<MailboxFolder> getMailboxFolders​(String mailboxId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxFolders

    public List<MailboxFolder> getMailboxFolders​(String mailboxId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getChildMailboxFolders

    public List<MailboxFolder> getChildMailboxFolders​(String mailboxId, String parentFolderId) throws GraphException
    Throws:
      `GraphException`

  - ### getChildMailboxFolders

    public List<MailboxFolder> getChildMailboxFolders​(String mailboxId, String parentFolderId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxFolder

    public MailboxFolder getMailboxFolder​(String mailboxId, String folderId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxFolder

    public MailboxFolder getMailboxFolder​(String mailboxId, String folderId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### createMailboxFolder

    public MailboxFolder createMailboxFolder​(MailboxFolder folder, String mailboxId) throws GraphException
    Throws:
      `GraphException`

  - ### createChildMailboxFolder

    public MailboxFolder createChildMailboxFolder​(MailboxFolder folder, String mailboxId, String parentFolderId) throws GraphException
    Throws:
      `GraphException`

  - ### updateMailboxFolder

    public MailboxFolder updateMailboxFolder​(MailboxFolder folder, String mailboxId) throws GraphException
    Throws:
      `GraphException`

  - ### updateMailboxFolder

    public MailboxFolder updateMailboxFolder​(MailboxFolder folder, String mailboxId, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### deleteMailboxFolder

    public void deleteMailboxFolder​(String mailboxId, String folderId) throws GraphException
    Throws:
      `GraphException`

  - ### exportItems

    public List<ExportItemResponse> exportItems​(String mailboxId, List<String> itemIds) throws GraphException
    Throws:
      `GraphException`

  - ### createMailboxImportSession

    public MailboxItemImportSession createMailboxImportSession​(String mailboxId) throws GraphException
    Throws:
      `GraphException`

  - ### importMailboxItem

    public void importMailboxItem​(MailboxItemImportSession importSession, byte[] content) throws GraphException
    Throws:
      `GraphException`

  - ### importMailboxItem

    public void importMailboxItem​(String importUrl, byte[] content) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxFolderChanges

    public MailboxFolderChanges getMailboxFolderChanges​(String mailboxId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxFolderChanges

    public MailboxFolderChanges getMailboxFolderChanges​(String mailboxId, String nextLinkOrDeltaLink) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxItemChanges

    public MailboxItemChanges getMailboxItemChanges​(String mailboxId, String folderId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailboxItemChanges

    public MailboxItemChanges getMailboxItemChanges​(String mailboxId, String folderId, String nextLinkOrDeltaLink) throws GraphException
    Throws:
      `GraphException`

  - ### getInferenceClassificationOverrides

    public List<InferenceClassificationOverride> getInferenceClassificationOverrides() throws GraphException
    Throws:
      `GraphException`

  - ### getInferenceClassificationOverrides

    public List<InferenceClassificationOverride> getInferenceClassificationOverrides​(Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getInferenceClassificationOverrides

    public List<InferenceClassificationOverride> getInferenceClassificationOverrides​(String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getInferenceClassificationOverrides

    public List<InferenceClassificationOverride> getInferenceClassificationOverrides​(UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getInferenceClassificationOverrides

    public List<InferenceClassificationOverride> getInferenceClassificationOverrides​(String userId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getInferenceClassificationOverrides

    public List<InferenceClassificationOverride> getInferenceClassificationOverrides​(UserId userId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### createInferenceClassificationOverride

    public InferenceClassificationOverride createInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride) throws GraphException
    Throws:
      `GraphException`

  - ### createInferenceClassificationOverride

    public InferenceClassificationOverride createInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### createInferenceClassificationOverride

    public InferenceClassificationOverride createInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### updateInferenceClassificationOverride

    public InferenceClassificationOverride updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride) throws GraphException
    Throws:
      `GraphException`

  - ### updateInferenceClassificationOverride

    public InferenceClassificationOverride updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### updateInferenceClassificationOverride

    public InferenceClassificationOverride updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### updateInferenceClassificationOverride

    public InferenceClassificationOverride updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### updateInferenceClassificationOverride

    public InferenceClassificationOverride updateInferenceClassificationOverride​(InferenceClassificationOverride inferenceClassificationOverride, List<String> propertyNames, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteInferenceClassificationOverride

    public void deleteInferenceClassificationOverride​(String inferenceClassificationOverrideId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteInferenceClassificationOverride

    public void deleteInferenceClassificationOverride​(String inferenceClassificationOverrideId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteInferenceClassificationOverride

    public void deleteInferenceClassificationOverride​(String inferenceClassificationOverrideId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### markMessageAsJunk

    public Message markMessageAsJunk​(String messageId) throws GraphException
    Throws:
      `GraphException`

  - ### markMessageAsJunk

    public Message markMessageAsJunk​(String messageId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### markMessageAsJunk

    public Message markMessageAsJunk​(String messageId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### markMessageAsNotJunk

    public Message markMessageAsNotJunk​(String messageId) throws GraphException
    Throws:
      `GraphException`

  - ### markMessageAsNotJunk

    public Message markMessageAsNotJunk​(String messageId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### markMessageAsNotJunk

    public Message markMessageAsNotJunk​(String messageId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### unsubscribe

    public void unsubscribe​(String messageId) throws GraphException
    Throws:
      `GraphException`

  - ### unsubscribe

    public void unsubscribe​(String messageId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### unsubscribe

    public void unsubscribe​(String messageId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailTips

    public List<MailTips> getMailTips​(List<String> emailAddresses) throws GraphException
    Throws:
      `GraphException`

  - ### getMailTips

    public List<MailTips> getMailTips​(List<String> emailAddresses, List<MailTipsType> mailTipsTypes) throws GraphException
    Throws:
      `GraphException`

  - ### getMailTips

    public List<MailTips> getMailTips​(List<String> emailAddresses, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailTips

    public List<MailTips> getMailTips​(List<String> emailAddresses, List<MailTipsType> mailTipsTypes, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailTips

    public List<MailTips> getMailTips​(List<String> emailAddresses, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailTips

    public List<MailTips> getMailTips​(List<String> emailAddresses, List<MailTipsType> mailTipsTypes, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### createMailSearchFolder

    public MailSearchFolder createMailSearchFolder​(MailSearchFolder mailSearchFolder, String parentFolderId) throws GraphException
    Throws:
      `GraphException`

  - ### createMailSearchFolder

    public MailSearchFolder createMailSearchFolder​(MailSearchFolder mailSearchFolder, String parentFolderId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### createMailSearchFolder

    public MailSearchFolder createMailSearchFolder​(MailSearchFolder mailSearchFolder, String parentFolderId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailSearchFolder

    public MailSearchFolder getMailSearchFolder​(String mailFolderId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailSearchFolder

    public MailSearchFolder getMailSearchFolder​(String mailFolderId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getMailSearchFolder

    public MailSearchFolder getMailSearchFolder​(String mailFolderId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### updateListItem

    public ListItem updateListItem​(String itemId, String listId, String siteId, List<ListItemField> fields) throws GraphException
    Throws:
      `GraphException`

  - ### updateListItem

    public ListItem updateListItem​(String itemId, String listId, String siteId, List<ListItemField> fields, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteListItem

    public void deleteListItem​(String itemId, String listId, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteListItem

    public void deleteListItem​(String itemId, String listId, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getListItem

    public ListItem getListItem​(String itemId, String listId, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### getListItem

    public ListItem getListItem​(String itemId, String listId, String siteId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getListItem

    public ListItem getListItem​(String itemId, String listId, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getListItem

    public ListItem getListItem​(String itemId, String listId, String siteId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getListItems

    public List<ListItem> getListItems​(String listId, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### getListItems

    public List<ListItem> getListItems​(String listId, String siteId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getListItems

    public List<ListItem> getListItems​(String listId, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getListItems

    public List<ListItem> getListItems​(String listId, String siteId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getList

    public List getList​(String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### getList

    public List getList​(String siteId, String listId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getList

    public List getList​(String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getList

    public List getList​(String siteId, String listId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### createList

    public List createList​(List list, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### createList

    public List createList​(List list, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### createListItem

    public ListItem createListItem​(ListItem listItem, String listId, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### createListItem

    public ListItem createListItem​(ListItem listItem, String listId, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### createColumn

    public ColumnDefinition createColumn​(ColumnDefinition column, String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### createColumn

    public ColumnDefinition createColumn​(ColumnDefinition column, String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getColumns

    public List<ColumnDefinition> getColumns​(String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### getColumns

    public List<ColumnDefinition> getColumns​(String siteId, String listId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getColumns

    public List<ColumnDefinition> getColumns​(String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getColumns

    public List<ColumnDefinition> getColumns​(String siteId, String listId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getColumn

    public ColumnDefinition getColumn​(String siteId, String listId, String columnId) throws GraphException
    Throws:
      `GraphException`

  - ### getColumn

    public ColumnDefinition getColumn​(String siteId, String listId, String columnId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getColumn

    public ColumnDefinition getColumn​(String siteId, String listId, String columnId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getColumn

    public ColumnDefinition getColumn​(String siteId, String listId, String columnId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### createSitePage

    public SitePage createSitePage​(SitePage page, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### createSitePage

    public SitePage createSitePage​(SitePage page, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePages

    public List<SitePage> getSitePages​(String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePages

    public List<SitePage> getSitePages​(String siteId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePages

    public List<SitePage> getSitePages​(String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePages

    public List<SitePage> getSitePages​(String siteId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getSites

    public List<Site> getSites​(String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### getSites

    public List<Site> getSites​(String siteId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getSites

    public List<Site> getSites​(String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getSites

    public List<Site> getSites​(String siteId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePermissions

    public List<Permission> getSitePermissions​(String siteId) throws GraphException
    Gets the permissions for a site.

    See Microsoft Graph API documentation

    Parameters:
      `siteId` - The ID of the site
    Returns:
      List of Permission objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getSitePermissions

    public List<Permission> getSitePermissions​(String siteId, ResourceId resourceId) throws GraphException
    Gets the permissions for a site.

    See Microsoft Graph API documentation

    Parameters:
      `siteId` - The ID of the site
      `resourceId` - The resource ID
    Returns:
      List of Permission objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getWorkbookSessionId

    public String getWorkbookSessionId()
    Gets the workbook session ID used for workbook operations.
    Returns:
      The workbook session ID

  - ### setWorkbookSessionId

    public void setWorkbookSessionId​(String workbookSessionId)
    Sets the workbook session ID used for workbook operations. When set, a "workbook-session-id" header is added to subsequent requests.
    Parameters:
      `workbookSessionId` - The workbook session ID (null to clear)

  - ### getWorkbookCommentReplies

    public List<CommentReply> getWorkbookCommentReplies​(String workbookId, String commentId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookCommentReplies

    public List<CommentReply> getWorkbookCommentReplies​(String workbookId, String commentId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookComments

    public List<Comment> getWorkbookComments​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookComments

    public List<Comment> getWorkbookComments​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### calculateWorkbookApplication

    public void calculateWorkbookApplication​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### calculateWorkbookApplication

    public void calculateWorkbookApplication​(String workbookId, CalculationType calculationType) throws GraphException
    Throws:
      `GraphException`

  - ### calculateWorkbookApplication

    public void calculateWorkbookApplication​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### calculateWorkbookApplication

    public void calculateWorkbookApplication​(String workbookId, CalculationType calculationType, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookApplication

    public WorkbookApplication getWorkbookApplication​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookApplication

    public WorkbookApplication getWorkbookApplication​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookNamedItems

    public List<NamedItem> getWorkbookNamedItems​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookNamedItems

    public List<NamedItem> getWorkbookNamedItems​(String workbookId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookNamedItems

    public List<NamedItem> getWorkbookNamedItems​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookNamedItems

    public List<NamedItem> getWorkbookNamedItems​(String workbookId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookCharts

    public List<Chart> getWorkbookCharts​(String workbookId, String worksheetId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookCharts

    public List<Chart> getWorkbookCharts​(String workbookId, String worksheetId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookCharts

    public List<Chart> getWorkbookCharts​(String workbookId, String worksheetId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookCharts

    public List<Chart> getWorkbookCharts​(String workbookId, String worksheetId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### createWorkbookChart

    public Chart createWorkbookChart​(Chart chart, String workbookId, String worksheetId) throws GraphException
    Throws:
      `GraphException`

  - ### createWorkbookChart

    public Chart createWorkbookChart​(Chart chart, String workbookId, String worksheetId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookChart

    public Chart getWorkbookChart​(String workbookId, String worksheetId, String chartId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookChart

    public Chart getWorkbookChart​(String workbookId, String worksheetId, String chartId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookChartImage

    public byte[] getWorkbookChartImage​(String workbookId, String worksheetId, String chartId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookChartImage

    public byte[] getWorkbookChartImage​(String workbookId, String worksheetId, String chartId, int width, int height) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookChartImage

    public byte[] getWorkbookChartImage​(String workbookId, String worksheetId, String chartId, int width, int height, ChartFittingMode fittingMode, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### setWorkbookChartPosition

    public void setWorkbookChartPosition​(String workbookId, String worksheetId, String chartId, String startCell) throws GraphException
    Throws:
      `GraphException`

  - ### setWorkbookChartPosition

    public void setWorkbookChartPosition​(String workbookId, String worksheetId, String chartId, String startCell, String endCell) throws GraphException
    Throws:
      `GraphException`

  - ### setWorkbookChartPosition

    public void setWorkbookChartPosition​(String workbookId, String worksheetId, String chartId, String startCell, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### setWorkbookChartPosition

    public void setWorkbookChartPosition​(String workbookId, String worksheetId, String chartId, String startCell, String endCell, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookTables

    public List<Table> getWorkbookTables​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookTables

    public List<Table> getWorkbookTables​(String workbookId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookTables

    public List<Table> getWorkbookTables​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorkbookTables

    public List<Table> getWorkbookTables​(String workbookId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### createWorksheet

    public Worksheet createWorksheet​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### createWorksheet

    public Worksheet createWorksheet​(String workbookId, String name) throws GraphException
    Throws:
      `GraphException`

  - ### createWorksheet

    public Worksheet createWorksheet​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### createWorksheet

    public Worksheet createWorksheet​(String workbookId, String name, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheetCell

    public Cell getWorksheetCell​(String workbookId, String worksheetId, int row, int column) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheetCell

    public Cell getWorksheetCell​(String workbookId, String worksheetId, int row, int column, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheetUsedRange

    public Range getWorksheetUsedRange​(String workbookId, String worksheetId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheetUsedRange

    public Range getWorksheetUsedRange​(String workbookId, String worksheetId, boolean valuesOnly) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheetUsedRange

    public Range getWorksheetUsedRange​(String workbookId, String worksheetId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheetUsedRange

    public Range getWorksheetUsedRange​(String workbookId, String worksheetId, boolean valuesOnly, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheet

    public Worksheet getWorksheet​(String workbookId, String worksheetId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheet

    public Worksheet getWorksheet​(String workbookId, String worksheetId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheets

    public List<Worksheet> getWorksheets​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheets

    public List<Worksheet> getWorksheets​(String workbookId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheets

    public List<Worksheet> getWorksheets​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getWorksheets

    public List<Worksheet> getWorksheets​(String workbookId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### createWorkbookSession

    public WorkbookSessionInfo createWorkbookSession​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### createWorkbookSession

    public WorkbookSessionInfo createWorkbookSession​(String workbookId, boolean persistChanges) throws GraphException
    Throws:
      `GraphException`

  - ### createWorkbookSession

    public WorkbookSessionInfo createWorkbookSession​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### createWorkbookSession

    public WorkbookSessionInfo createWorkbookSession​(String workbookId, boolean persistChanges, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### refreshWorkbookSession

    public void refreshWorkbookSession​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### refreshWorkbookSession

    public void refreshWorkbookSession​(String workbookId, String sessionId) throws GraphException
    Throws:
      `GraphException`

  - ### refreshWorkbookSession

    public void refreshWorkbookSession​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### refreshWorkbookSession

    public void refreshWorkbookSession​(String workbookId, String sessionId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### closeWorkbookSession

    public void closeWorkbookSession​(String workbookId) throws GraphException
    Throws:
      `GraphException`

  - ### closeWorkbookSession

    public void closeWorkbookSession​(String workbookId, String sessionId) throws GraphException
    Throws:
      `GraphException`

  - ### closeWorkbookSession

    public void closeWorkbookSession​(String workbookId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### closeWorkbookSession

    public void closeWorkbookSession​(String workbookId, String sessionId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### updateColumn

    public ColumnDefinition updateColumn​(ColumnDefinition column, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### updateColumn

    public ColumnDefinition updateColumn​(ColumnDefinition column, String siteId, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### updateColumn

    public ColumnDefinition updateColumn​(ColumnDefinition column, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### updateListColumn

    public ColumnDefinition updateListColumn​(ColumnDefinition column, String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### updateListColumn

    public ColumnDefinition updateListColumn​(ColumnDefinition column, String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteColumn

    public void deleteColumn​(String columnId, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteColumn

    public void deleteColumn​(String columnId, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteListColumn

    public void deleteListColumn​(String columnId, String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteListColumn

    public void deleteListColumn​(String columnId, String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### updateList

    public List updateList​(List list, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### updateList

    public List updateList​(List list, String siteId, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### updateList

    public List updateList​(List list, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteList

    public void deleteList​(String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteList

    public void deleteList​(String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePage

    public SitePage getSitePage​(String siteId, String pageId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePage

    public SitePage getSitePage​(String siteId, String pageId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePage

    public SitePage getSitePage​(String siteId, String pageId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePage

    public SitePage getSitePage​(String siteId, String pageId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### updateSitePage

    public SitePage updateSitePage​(SitePage page, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### updateSitePage

    public SitePage updateSitePage​(SitePage page, String siteId, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### updateSitePage

    public SitePage updateSitePage​(SitePage page, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteSitePage

    public void deleteSitePage​(String siteId, String pageId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteSitePage

    public void deleteSitePage​(String siteId, String pageId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### publishSitePage

    public void publishSitePage​(String siteId, String pageId) throws GraphException
    Throws:
      `GraphException`

  - ### publishSitePage

    public void publishSitePage​(String siteId, String pageId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getSiteByPath

    public Site getSiteByPath​(String hostName, String relativePath) throws GraphException
    Throws:
      `GraphException`

  - ### getSiteByPath

    public Site getSiteByPath​(String hostName, String relativePath, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### searchSites

    public List<Site> searchSites​(String keyword) throws GraphException
    Throws:
      `GraphException`

  - ### searchSites

    public List<Site> searchSites​(String keyword, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getContentTypes

    public List<ContentType> getContentTypes​(String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### getContentTypes

    public List<ContentType> getContentTypes​(String siteId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getContentTypes

    public List<ContentType> getContentTypes​(String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getListContentTypes

    public List<ContentType> getListContentTypes​(String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### getListContentTypes

    public List<ContentType> getListContentTypes​(String siteId, String listId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getListContentTypes

    public List<ContentType> getListContentTypes​(String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getContentType

    public ContentType getContentType​(String siteId, String contentTypeId) throws GraphException
    Throws:
      `GraphException`

  - ### getContentType

    public ContentType getContentType​(String siteId, String contentTypeId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getListContentType

    public ContentType getListContentType​(String siteId, String listId, String contentTypeId) throws GraphException
    Throws:
      `GraphException`

  - ### getListContentType

    public ContentType getListContentType​(String siteId, String listId, String contentTypeId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### createContentType

    public ContentType createContentType​(ContentType contentType, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### createContentType

    public ContentType createContentType​(ContentType contentType, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### createListContentType

    public ContentType createListContentType​(ContentType contentType, String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### createListContentType

    public ContentType createListContentType​(ContentType contentType, String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### updateContentType

    public ContentType updateContentType​(ContentType contentType, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### updateContentType

    public ContentType updateContentType​(ContentType contentType, String siteId, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### updateContentType

    public ContentType updateContentType​(ContentType contentType, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### updateListContentType

    public ContentType updateListContentType​(ContentType contentType, String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### updateListContentType

    public ContentType updateListContentType​(ContentType contentType, String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteContentType

    public void deleteContentType​(String contentTypeId, String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteContentType

    public void deleteContentType​(String contentTypeId, String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteListContentType

    public void deleteListContentType​(String contentTypeId, String siteId, String listId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteListContentType

    public void deleteListContentType​(String contentTypeId, String siteId, String listId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### publishContentType

    public void publishContentType​(String siteId, String contentTypeId) throws GraphException
    Throws:
      `GraphException`

  - ### publishContentType

    public void publishContentType​(String siteId, String contentTypeId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### unpublishContentType

    public void unpublishContentType​(String siteId, String contentTypeId) throws GraphException
    Throws:
      `GraphException`

  - ### unpublishContentType

    public void unpublishContentType​(String siteId, String contentTypeId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### associateContentTypeWithHubSites

    public void associateContentTypeWithHubSites​(String siteId, String contentTypeId, List<String> hubSiteUrls, boolean propagateToExistingLists) throws GraphException
    Throws:
      `GraphException`

  - ### associateContentTypeWithHubSites

    public void associateContentTypeWithHubSites​(String siteId, String contentTypeId, List<String> hubSiteUrls, boolean propagateToExistingLists, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### isContentTypePublished

    public boolean isContentTypePublished​(String siteId, String contentTypeId) throws GraphException
    Throws:
      `GraphException`

  - ### isContentTypePublished

    public boolean isContentTypePublished​(String siteId, String contentTypeId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getListItemVersions

    public List<ListItemVersion> getListItemVersions​(String siteId, String listId, String itemId) throws GraphException
    Throws:
      `GraphException`

  - ### getListItemVersions

    public List<ListItemVersion> getListItemVersions​(String siteId, String listId, String itemId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getListItemActivities

    public List<ItemActivityStat> getListItemActivities​(String siteId, String listId, String itemId, Date startDateTime, Date endDateTime, ActivityInterval interval) throws GraphException
    Throws:
      `GraphException`

  - ### getListItemActivities

    public List<ItemActivityStat> getListItemActivities​(String siteId, String listId, String itemId, Date startDateTime, Date endDateTime, ActivityInterval interval, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getDocumentSetVersions

    public List<DocumentSetVersion> getDocumentSetVersions​(String siteId, String listId, String itemId) throws GraphException
    Throws:
      `GraphException`

  - ### getDocumentSetVersions

    public List<DocumentSetVersion> getDocumentSetVersions​(String siteId, String listId, String itemId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### createDocumentSetVersion

    public DocumentSetVersion createDocumentSetVersion​(DocumentSetVersion documentSetVersion, String siteId, String listId, String itemId) throws GraphException
    Throws:
      `GraphException`

  - ### createDocumentSetVersion

    public DocumentSetVersion createDocumentSetVersion​(DocumentSetVersion documentSetVersion, String siteId, String listId, String itemId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePermission

    public Permission getSitePermission​(String siteId, String permissionId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePermission

    public Permission getSitePermission​(String siteId, String permissionId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### createSitePermission

    public Permission createSitePermission​(String siteId, List<String> roles, String applicationId, String applicationDisplayName) throws GraphException
    Throws:
      `GraphException`

  - ### createSitePermission

    public Permission createSitePermission​(String siteId, List<String> roles, String applicationId, String applicationDisplayName, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### updateSitePermission

    public Permission updateSitePermission​(String siteId, String permissionId, List<String> roles) throws GraphException
    Throws:
      `GraphException`

  - ### updateSitePermission

    public Permission updateSitePermission​(String siteId, String permissionId, List<String> roles, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteSitePermission

    public void deleteSitePermission​(String siteId, String permissionId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteSitePermission

    public void deleteSitePermission​(String siteId, String permissionId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### grantSitePermission

    public List<Permission> grantSitePermission​(String siteId, String permissionId, List<String> roles) throws GraphException
    Throws:
      `GraphException`

  - ### grantSitePermission

    public List<Permission> grantSitePermission​(String siteId, String permissionId, List<String> roles, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getLists

    public List<List> getLists​(String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### getLists

    public List<List> getLists​(String siteId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getLists

    public List<List> getLists​(String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getLists

    public List<List> getLists​(String siteId, ResourceId resourceId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getRootSites

    public List<Site> getRootSites() throws GraphException
    Throws:
      `GraphException`

  - ### getRootSites

    public List<Site> getRootSites​(Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getFollowedSites

    public List<Site> getFollowedSites() throws GraphException
    Throws:
      `GraphException`

  - ### getFollowedSites

    public List<Site> getFollowedSites​(Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getFollowedSites

    public List<Site> getFollowedSites​(String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getFollowedSites

    public List<Site> getFollowedSites​(String userId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getSite

    public Site getSite() throws GraphException
    Throws:
      `GraphException`

  - ### getSite

    public Site getSite​(ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getSite

    public Site getSite​(String siteId) throws GraphException
    Throws:
      `GraphException`

  - ### getSite

    public Site getSite​(String siteId, ResourceId resourceId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePageWebParts

    public List<WebPart> getSitePageWebParts​(String siteId, String sitePageId) throws GraphException
    Throws:
      `GraphException`

  - ### getSitePageWebParts

    public List<WebPart> getSitePageWebParts​(String siteId, String sitePageId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### createSubscription

    public Subscription createSubscription​(Subscription subscription) throws GraphException
    Throws:
      `GraphException`

  - ### getSubscriptions

    public List<Subscription> getSubscriptions() throws GraphException
    Throws:
      `GraphException`

  - ### getSubscriptions

    public List<Subscription> getSubscriptions​(Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getSubscription

    public Subscription getSubscription​(String subscriptionId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteSubscription

    public void deleteSubscription​(String subscriptionId) throws GraphException
    Throws:
      `GraphException`

  - ### updateSubscription

    public Subscription updateSubscription​(Subscription subscription) throws GraphException
    Throws:
      `GraphException`

  - ### createTeam

    public String createTeam​(Team team) throws GraphException
    Creates a new team and returns the team ID.

    See Microsoft Graph API documentation

    Parameters:
      `team` - The Team object to create
    Returns:
      The ID of the created team (retrieved from Location header)
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createTeamFromGroup

    public Team createTeamFromGroup​(Team team, String groupId) throws GraphException
    Creates a new team from an existing Microsoft 365 group.

    See Microsoft Graph API documentation

    Parameters:
      `team` - The Team object to create
      `groupId` - The ID of the Microsoft 365 group
    Returns:
      The created Team object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTeam

    public void updateTeam​(Team team) throws GraphException
    Updates a team.

    See Microsoft Graph API documentation

    Parameters:
      `team` - The Team object with updated properties (must have ID set)
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTeam

    public void updateTeam​(Team team, List<String> propertyNames) throws GraphException
    Updates specific properties of a team.

    See Microsoft Graph API documentation

    Parameters:
      `team` - The Team object with updated properties (must have ID set)
      `propertyNames` - List of property names to update (if null, all modified properties are updated)
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteTeam

    public void deleteTeam​(String teamId) throws GraphException
    Deletes a team.

    Deleting a team deletes its underlying group. See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getUserPresence

    public Presence getUserPresence() throws GraphException
    Gets the presence information for the authenticated user.

    See Microsoft Graph API documentation

    Returns:
      The Presence information
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getUserPresence

    public Presence getUserPresence​(String userId) throws GraphException
    Gets the presence information for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The user ID or user principal name
    Returns:
      The Presence information
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getUserPresence

    public Presence getUserPresence​(UserId userId) throws GraphException
    Gets the presence information for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The user ID object
    Returns:
      The Presence information
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity) throws GraphException
    Sets the authenticated user's presence information.

    See Microsoft Graph API documentation

    Parameters:
      `sessionId` - A unique ID for the session (use the client ID as the session ID)
      `availability` - The availability status
      `activity` - The activity type
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, Duration expirationDuration) throws GraphException
    Sets the authenticated user's presence information with an expiration duration.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status
      `activity` - The activity type
      `expirationDuration` - The duration after which the presence expires
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, String userId) throws GraphException
    Sets a specific user's presence information.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status
      `activity` - The activity type
      `userId` - The user ID or user principal name
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, Duration expirationDuration, String userId) throws GraphException
    Sets a specific user's presence information with an expiration duration.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status
      `activity` - The activity type
      `expirationDuration` - The duration after which the presence expires
      `userId` - The user ID or user principal name
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, UserId userId) throws GraphException
    Sets a specific user's presence information.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status
      `activity` - The activity type
      `userId` - The user ID object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, PresenceAvailability availability, PresenceActivity activity, Duration expirationDuration, UserId userId) throws GraphException
    Sets a specific user's presence information with an expiration duration.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status
      `activity` - The activity type
      `expirationDuration` - The duration after which the presence expires
      `userId` - The user ID object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, String availability, String activity) throws GraphException
    Sets the authenticated user's presence information using string values.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status as a string
      `activity` - The activity type as a string
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, String availability, String activity, Duration expirationDuration) throws GraphException
    Sets the authenticated user's presence information with expiration using string values.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status as a string
      `activity` - The activity type as a string
      `expirationDuration` - The duration after which the presence expires
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, String availability, String activity, String userId) throws GraphException
    Sets a specific user's presence information using string values.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status as a string
      `activity` - The activity type as a string
      `userId` - The user ID or user principal name
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, String availability, String activity, Duration expirationDuration, String userId) throws GraphException
    Sets a specific user's presence information with expiration using string values.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status as a string
      `activity` - The activity type as a string
      `expirationDuration` - The duration after which the presence expires
      `userId` - The user ID or user principal name
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, String availability, String activity, UserId userId) throws GraphException
    Sets a specific user's presence information using string values.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status as a string
      `activity` - The activity type as a string
      `userId` - The user ID object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### setUserPresence

    public void setUserPresence​(String sessionId, String availability, String activity, Duration expirationDuration, UserId userId) throws GraphException
    Sets a specific user's presence information with expiration using string values.
    Parameters:
      `sessionId` - A unique ID for the session
      `availability` - The availability status as a string
      `activity` - The activity type as a string
      `expirationDuration` - The duration after which the presence expires
      `userId` - The user ID object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTeams

    public GetTeamsResponse getTeams() throws GraphException
    Gets a list of all teams.

    See Microsoft Graph API documentation

    Returns:
      GetTeamsResponse containing the list of teams and pagination information
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTeams

    public GetTeamsResponse getTeams​(String nextLink) throws GraphException
    Gets a list of teams using a nextLink for pagination.

    See Microsoft Graph API documentation

    Parameters:
      `nextLink` - The nextLink URL from a previous response (if null, gets the first page)
    Returns:
      GetTeamsResponse containing the list of teams and pagination information
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### addTeamMember

    public ConversationMember addTeamMember​(String teamId, ConversationMember member) throws GraphException
    Adds a member to a team.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `member` - The ConversationMember object to add
    Returns:
      The added ConversationMember object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTeamMember

    public ConversationMember updateTeamMember​(String teamId, ConversationMember member) throws GraphException
    Updates a team member's properties.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `member` - The ConversationMember object with updated properties (must have ID set)
    Returns:
      The updated ConversationMember object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTeamMember

    public ConversationMember getTeamMember​(String teamId, String memberId) throws GraphException
    Gets a specific team member.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `memberId` - The ID of the member
    Returns:
      The ConversationMember object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteTeamMember

    public void deleteTeamMember​(String teamId, String memberId) throws GraphException
    Removes a member from a team.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `memberId` - The ID of the member to remove
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getJoinedTeams

    public List<Team> getJoinedTeams() throws GraphException
    Gets the list of teams that the signed-in user is a member of.

    See Microsoft Graph API documentation

    Returns:
      List of Team objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getJoinedTeams

    public List<Team> getJoinedTeams​(String userId) throws GraphException
    Gets the list of teams that a specific user is a member of.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      List of Team objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getJoinedTeams

    public List<Team> getJoinedTeams​(UserId userId) throws GraphException
    Gets the list of teams that a specific user is a member of using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of Team objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTeam

    public Team getTeam​(String teamId) throws GraphException
    Gets a specific team by ID.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
    Returns:
      The Team object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTeam

    public Team getTeam​(String teamId, Query query) throws GraphException
    Gets a specific team by ID with query options.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `query` - Optional Query object for expanding, selecting properties
    Returns:
      The Team object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTeamMembers

    public List<ConversationMember> getTeamMembers​(String teamId) throws GraphException
    Gets the list of members in a team.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
    Returns:
      List of ConversationMember objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTeamMembers

    public List<ConversationMember> getTeamMembers​(String teamId, Query query) throws GraphException
    Gets the list of members in a team with query options.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ConversationMember objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createOnlineMeeting

    public OnlineMeeting createOnlineMeeting​(OnlineMeeting onlineMeeting) throws GraphException
    Throws:
      `GraphException`

  - ### createOnlineMeeting

    public OnlineMeeting createOnlineMeeting​(OnlineMeeting onlineMeeting, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### createOnlineMeeting

    public OnlineMeeting createOnlineMeeting​(OnlineMeeting onlineMeeting, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### updateOnlineMeeting

    public OnlineMeeting updateOnlineMeeting​(OnlineMeeting onlineMeeting) throws GraphException
    Throws:
      `GraphException`

  - ### updateOnlineMeeting

    public OnlineMeeting updateOnlineMeeting​(OnlineMeeting onlineMeeting, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### updateOnlineMeeting

    public OnlineMeeting updateOnlineMeeting​(OnlineMeeting onlineMeeting, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### updateOnlineMeeting

    public OnlineMeeting updateOnlineMeeting​(OnlineMeeting onlineMeeting, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### updateOnlineMeeting

    public OnlineMeeting updateOnlineMeeting​(OnlineMeeting onlineMeeting, List<String> propertyNames, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteOnlineMeeting

    public void deleteOnlineMeeting​(String onlineMeetingId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteOnlineMeeting

    public void deleteOnlineMeeting​(String onlineMeetingId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### deleteOnlineMeeting

    public void deleteOnlineMeeting​(String onlineMeetingId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeeting

    public OnlineMeeting getOnlineMeeting​(String onlineMeetingId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeeting

    public OnlineMeeting getOnlineMeeting​(String onlineMeetingId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeeting

    public OnlineMeeting getOnlineMeeting​(String onlineMeetingId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingRecordings

    public List<CallRecording> getOnlineMeetingRecordings​(String onlineMeetingId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingRecordings

    public List<CallRecording> getOnlineMeetingRecordings​(String onlineMeetingId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingRecordings

    public List<CallRecording> getOnlineMeetingRecordings​(String onlineMeetingId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingRecording

    public CallRecording getOnlineMeetingRecording​(String onlineMeetingId, String recordingId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingRecording

    public CallRecording getOnlineMeetingRecording​(String onlineMeetingId, String recordingId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingRecordingContent

    public byte[] getOnlineMeetingRecordingContent​(String onlineMeetingId, String recordingId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingRecordingContent

    public byte[] getOnlineMeetingRecordingContent​(String onlineMeetingId, String recordingId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingTranscripts

    public List<CallTranscript> getOnlineMeetingTranscripts​(String onlineMeetingId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingTranscripts

    public List<CallTranscript> getOnlineMeetingTranscripts​(String onlineMeetingId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingTranscripts

    public List<CallTranscript> getOnlineMeetingTranscripts​(String onlineMeetingId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingTranscript

    public CallTranscript getOnlineMeetingTranscript​(String onlineMeetingId, String transcriptId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingTranscript

    public CallTranscript getOnlineMeetingTranscript​(String onlineMeetingId, String transcriptId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingTranscriptContent

    public byte[] getOnlineMeetingTranscriptContent​(String onlineMeetingId, String transcriptId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingTranscriptContent

    public byte[] getOnlineMeetingTranscriptContent​(String onlineMeetingId, String transcriptId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingAttendanceReports

    public List<MeetingAttendanceReport> getOnlineMeetingAttendanceReports​(String onlineMeetingId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingAttendanceReports

    public List<MeetingAttendanceReport> getOnlineMeetingAttendanceReports​(String onlineMeetingId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingAttendanceReports

    public List<MeetingAttendanceReport> getOnlineMeetingAttendanceReports​(String onlineMeetingId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingAttendanceReport

    public MeetingAttendanceReport getOnlineMeetingAttendanceReport​(String onlineMeetingId, String reportId) throws GraphException
    Throws:
      `GraphException`

  - ### getOnlineMeetingAttendanceReport

    public MeetingAttendanceReport getOnlineMeetingAttendanceReport​(String onlineMeetingId, String reportId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getCallRecords

    public GetCallRecordsResponse getCallRecords() throws GraphException
    Throws:
      `GraphException`

  - ### getCallRecords

    public GetCallRecordsResponse getCallRecords​(Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getCallRecords

    public GetCallRecordsResponse getCallRecords​(String nextLink) throws GraphException
    Throws:
      `GraphException`

  - ### getCallRecord

    public CallRecord getCallRecord​(String callRecordId) throws GraphException
    Throws:
      `GraphException`

  - ### getCallRecord

    public CallRecord getCallRecord​(String callRecordId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### createCall

    public Call createCall​(Call call) throws GraphException
    Throws:
      `GraphException`

  - ### getCall

    public Call getCall​(String callId) throws GraphException
    Throws:
      `GraphException`

  - ### getCall

    public Call getCall​(String callId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### deleteCall

    public void deleteCall​(String callId) throws GraphException
    Throws:
      `GraphException`

  - ### getCallParticipants

    public List<Participant> getCallParticipants​(String callId) throws GraphException
    Throws:
      `GraphException`

  - ### answerCall

    public void answerCall​(String callId, String callbackUri, List<Modality> acceptedModalities, MediaConfig mediaConfig) throws GraphException
    Throws:
      `GraphException`

  - ### rejectCall

    public void rejectCall​(String callId, RejectReason reason) throws GraphException
    Throws:
      `GraphException`

  - ### redirectCall

    public void redirectCall​(String callId, List<InvitationParticipantInfo> targets) throws GraphException
    Throws:
      `GraphException`

  - ### transferCall

    public void transferCall​(String callId, InvitationParticipantInfo transferTarget) throws GraphException
    Throws:
      `GraphException`

  - ### muteCall

    public CommsOperation muteCall​(String callId, String clientContext) throws GraphException
    Throws:
      `GraphException`

  - ### unmuteCall

    public CommsOperation unmuteCall​(String callId, String clientContext) throws GraphException
    Throws:
      `GraphException`

  - ### playPrompt

    public CommsOperation playPrompt​(String callId, List<MediaPrompt> prompts, String clientContext) throws GraphException
    Throws:
      `GraphException`

  - ### recordResponse

    public RecordOperation recordResponse​(String callId, List<MediaPrompt> prompts, String clientContext) throws GraphException
    Throws:
      `GraphException`

  - ### inviteParticipants

    public CommsOperation inviteParticipants​(String callId, List<InvitationParticipantInfo> participants, String clientContext) throws GraphException
    Throws:
      `GraphException`

  - ### removeParticipant

    public void removeParticipant​(String callId, String participantId) throws GraphException
    Throws:
      `GraphException`

  - ### getTeamChannels

    public List<Channel> getTeamChannels​(String teamId) throws GraphException
    Gets the list of channels in a team.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
    Returns:
      List of Channel objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTeamChannels

    public List<Channel> getTeamChannels​(String teamId, Query query) throws GraphException
    Gets the list of channels in a team with query options.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Channel objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChats

    public List<Chat> getChats() throws GraphException
    Gets the list of chats that the signed-in user is part of.

    See Microsoft Graph API documentation

    Returns:
      List of Chat objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChats

    public List<Chat> getChats​(Query query) throws GraphException
    Gets the list of chats with query options.

    See Microsoft Graph API documentation

    Parameters:
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Chat objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChats

    public List<Chat> getChats​(String userId) throws GraphException
    Gets the list of chats for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      List of Chat objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChats

    public List<Chat> getChats​(String userId, Query query) throws GraphException
    Gets the list of chats for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Chat objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChats

    public List<Chat> getChats​(UserId userId) throws GraphException
    Gets the list of chats for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of Chat objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChats

    public List<Chat> getChats​(UserId userId, Query query) throws GraphException
    Gets the list of chats for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Chat objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAllChannels

    public List<Channel> getAllChannels​(String teamId) throws GraphException
    Gets the list of all channels in a team (including private and shared channels).

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
    Returns:
      List of Channel objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAllChannels

    public List<Channel> getAllChannels​(String teamId, Query query) throws GraphException
    Gets the list of all channels in a team with query options.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Channel objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getIncomingChannels

    public List<Channel> getIncomingChannels​(String teamId) throws GraphException
    Gets the list of incoming channels (channels shared with the team from other teams).

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
    Returns:
      List of Channel objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getIncomingChannels

    public List<Channel> getIncomingChannels​(String teamId, Query query) throws GraphException
    Gets the list of incoming channels with query options.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Channel objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannels

    public List<Channel> getChannels​(String teamId) throws GraphException
    Gets the list of channels in a team.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
    Returns:
      List of Channel objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannels

    public List<Channel> getChannels​(String teamId, Query query) throws GraphException
    Gets the list of channels in a team with query options.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of Channel objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannel

    public Channel getChannel​(String teamId, String channelId) throws GraphException
    Gets a specific channel in a team.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
    Returns:
      The Channel object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createChannel

    public Channel createChannel​(String teamId, Channel channel) throws GraphException
    Creates a new channel in a team.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channel` - The Channel object to create
    Returns:
      The created Channel object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateChannel

    public Channel updateChannel​(String teamId, Channel channel) throws GraphException
    Updates a channel's properties.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channel` - The Channel object with updated properties (must have ID set)
    Returns:
      The updated Channel object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateChannel

    public Channel updateChannel​(String teamId, Channel channel, List<String> propertyNames) throws GraphException
    Updates specific properties of a channel.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channel` - The Channel object with updated properties (must have ID set)
      `propertyNames` - List of property names to update (if null, all modified properties are updated)
    Returns:
      The updated Channel object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteChannel

    public void deleteChannel​(String teamId, String channelId) throws GraphException
    Deletes a channel from a team.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannelMembers

    public List<ConversationMember> getChannelMembers​(String teamId, String channelId) throws GraphException
    Gets the list of members in a channel.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
    Returns:
      List of ConversationMember objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannelMembers

    public List<ConversationMember> getChannelMembers​(String teamId, String channelId, Query query) throws GraphException
    Gets the list of members in a channel with query options.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ConversationMember objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannelMember

    public ConversationMember getChannelMember​(String teamId, String channelId, String memberId) throws GraphException
    Gets a specific member of a channel.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `memberId` - The ID of the member
    Returns:
      The ConversationMember object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### addChannelMember

    public ConversationMember addChannelMember​(String teamId, String channelId, ConversationMember member) throws GraphException
    Adds a member to a channel.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `member` - The ConversationMember object to add
    Returns:
      The added ConversationMember object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteChannelMember

    public void deleteChannelMember​(String teamId, String channelId, String memberId) throws GraphException
    Removes a member from a channel.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `memberId` - The ID of the member to remove
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannelMessages

    public List<ChatMessage> getChannelMessages​(String teamId, String channelId) throws GraphException
    Gets the list of messages in a channel.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannelMessages

    public List<ChatMessage> getChannelMessages​(String teamId, String channelId, Query query) throws GraphException
    Gets the list of messages in a channel with query options.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannelMessage

    public ChatMessage getChannelMessage​(String teamId, String channelId, String messageId) throws GraphException
    Gets a specific message from a channel.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `messageId` - The ID of the message
    Returns:
      The ChatMessage object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannelMessageReplies

    public List<ChatMessage> getChannelMessageReplies​(String teamId, String channelId, String messageId) throws GraphException
    Gets the list of replies to a message in a channel.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `messageId` - The ID of the parent message
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannelMessageReplies

    public List<ChatMessage> getChannelMessageReplies​(String teamId, String channelId, String messageId, Query query) throws GraphException
    Gets the list of replies to a message in a channel with query options.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `messageId` - The ID of the parent message
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChannelMessageReply

    public ChatMessage getChannelMessageReply​(String teamId, String channelId, String messageId, String replyId) throws GraphException
    Gets a specific reply to a channel message.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `messageId` - The ID of the parent message
      `replyId` - The ID of the reply message
    Returns:
      The ChatMessage object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAllMessagesFromAllChats

    public List<ChatMessage> getAllMessagesFromAllChats​(String userId) throws GraphException
    Gets all messages from all chats for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAllMessagesFromAllChats

    public List<ChatMessage> getAllMessagesFromAllChats​(String userId, Query query) throws GraphException
    Gets all messages from all chats for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAllMessagesFromAllChats

    public List<ChatMessage> getAllMessagesFromAllChats​(UserId userId) throws GraphException
    Gets all messages from all chats for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getAllMessagesFromAllChats

    public List<ChatMessage> getAllMessagesFromAllChats​(UserId userId, Query query) throws GraphException
    Gets all messages from all chats for a specific user with all options.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessages

    public List<ChatMessage> getChatMessages​(String chatId) throws GraphException
    Gets the list of messages in a chat.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessages

    public List<ChatMessage> getChatMessages​(String chatId, Query query) throws GraphException
    Gets the list of messages in a chat with query options.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessages

    public List<ChatMessage> getChatMessages​(String chatId, String userId) throws GraphException
    Gets the list of messages in a chat for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `userId` - The ID of the user
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessages

    public List<ChatMessage> getChatMessages​(String chatId, String userId, Query query) throws GraphException
    Gets the list of messages in a chat for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessages

    public List<ChatMessage> getChatMessages​(String chatId, UserId userId) throws GraphException
    Gets the list of messages in a chat for a specific user using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `userId` - The UserId object specifying the user
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessages

    public List<ChatMessage> getChatMessages​(String chatId, UserId userId, Query query) throws GraphException
    Gets the list of messages in a chat with all options.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessage

    public ChatMessage getChatMessage​(String chatId, String messageId) throws GraphException
    Gets a specific message from a chat.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the message
    Returns:
      The ChatMessage object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessage

    public ChatMessage getChatMessage​(String chatId, String messageId, String userId) throws GraphException
    Gets a specific message from a chat for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the message
      `userId` - The ID of the user
    Returns:
      The ChatMessage object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessage

    public ChatMessage getChatMessage​(String chatId, String messageId, UserId userId) throws GraphException
    Gets a specific message from a chat using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the message
      `userId` - The UserId object specifying the user
    Returns:
      The ChatMessage object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessageReplies

    public List<ChatMessage> getChatMessageReplies​(String chatId, String messageId) throws GraphException
    Gets the list of replies to a message in a chat.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the parent message
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessageReplies

    public List<ChatMessage> getChatMessageReplies​(String chatId, String messageId, Query query) throws GraphException
    Gets the list of replies to a message in a chat with query options.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the parent message
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessageReplies

    public List<ChatMessage> getChatMessageReplies​(String chatId, String messageId, String userId) throws GraphException
    Gets the list of replies to a message in a chat for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the parent message
      `userId` - The ID of the user
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessageReplies

    public List<ChatMessage> getChatMessageReplies​(String chatId, String messageId, String userId, Query query) throws GraphException
    Gets the list of replies to a message in a chat for a specific user with query options.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the parent message
      `userId` - The ID of the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessageReplies

    public List<ChatMessage> getChatMessageReplies​(String chatId, String messageId, UserId userId) throws GraphException
    Gets the list of replies to a message in a chat using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the parent message
      `userId` - The UserId object specifying the user
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessageReplies

    public List<ChatMessage> getChatMessageReplies​(String chatId, String messageId, UserId userId, Query query) throws GraphException
    Gets the list of replies to a message in a chat with all options.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the parent message
      `userId` - The UserId object specifying the user
      `query` - Optional Query object for filtering, selecting, ordering, expanding, or paging results
    Returns:
      List of ChatMessage objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessageReply

    public ChatMessage getChatMessageReply​(String chatId, String messageId, String replyId) throws GraphException
    Gets a specific reply to a message in a chat.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the parent message
      `replyId` - The ID of the reply message
    Returns:
      The ChatMessage object representing the reply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessageReply

    public ChatMessage getChatMessageReply​(String chatId, String messageId, String replyId, String userId) throws GraphException
    Gets a specific reply to a message in a chat for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the parent message
      `replyId` - The ID of the reply message
      `userId` - The ID of the user
    Returns:
      The ChatMessage object representing the reply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getChatMessageReply

    public ChatMessage getChatMessageReply​(String chatId, String messageId, String replyId, UserId userId) throws GraphException
    Gets a specific reply to a message in a chat using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `messageId` - The ID of the parent message
      `replyId` - The ID of the reply message
      `userId` - The UserId object specifying the user
    Returns:
      The ChatMessage object representing the reply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendChatMessage

    public ChatMessage sendChatMessage​(String chatId, String message) throws GraphException
    Sends a new message to a chat using a plain text message.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `message` - The text content of the message to send
    Returns:
      The created ChatMessage object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendChatMessage

    public ChatMessage sendChatMessage​(String chatId, ChatMessage message) throws GraphException
    Sends a new message to a chat using a ChatMessage object.

    See Microsoft Graph API documentation

    Parameters:
      `chatId` - The ID of the chat
      `message` - The ChatMessage object containing the message details to send
    Returns:
      The created ChatMessage object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendChatMessage

    public ChatMessage sendChatMessage​(String teamId, String channelId, String message) throws GraphException
    Sends a new message to a team channel using a plain text message.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `message` - The text content of the message to send
    Returns:
      The created ChatMessage object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendChannelMessage

    public ChatMessage sendChannelMessage​(String teamId, String channelId, ChatMessage message) throws GraphException
    Sends a new message to a team channel using a ChatMessage object.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `message` - The ChatMessage object containing the message details to send
    Returns:
      The created ChatMessage object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendChannelMessageReply

    public ChatMessage sendChannelMessageReply​(String teamId, String channelId, String messageId, String replyMessage) throws GraphException
    Sends a reply to a message in a team channel using a plain text message.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `messageId` - The ID of the parent message to reply to
      `replyMessage` - The text content of the reply message to send
    Returns:
      The created ChatMessage object representing the reply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### sendChannelMessageReply

    public ChatMessage sendChannelMessageReply​(String teamId, String channelId, String messageId, ChatMessage replyMessage) throws GraphException
    Sends a reply to a message in a team channel using a ChatMessage object.

    See Microsoft Graph API documentation

    Parameters:
      `teamId` - The ID of the team
      `channelId` - The ID of the channel
      `messageId` - The ID of the parent message to reply to
      `replyMessage` - The ChatMessage object containing the reply message details to send
    Returns:
      The created ChatMessage object representing the reply
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createChat

    public Chat createChat​(Chat chat) throws GraphException
    Creates a new chat.

    See Microsoft Graph API documentation

    Parameters:
      `chat` - The Chat object containing the chat details to create
    Returns:
      The created Chat object with the assigned chat ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTaskLists

    public List<TodoTaskList> getTodoTaskLists() throws GraphException
    Gets the list of todo task lists for the current user.

    See Microsoft Graph API documentation

    Returns:
      List of TodoTaskList objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTaskLists

    public List<TodoTaskList> getTodoTaskLists​(String userId) throws GraphException
    Gets the list of todo task lists for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      List of TodoTaskList objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTaskLists

    public List<TodoTaskList> getTodoTaskLists​(UserId userId) throws GraphException
    Gets the list of todo task lists using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of TodoTaskList objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTaskList

    public TodoTaskList getTodoTaskList​(String todoTaskListId) throws GraphException
    Gets a specific todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
    Returns:
      The TodoTaskList object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTaskList

    public TodoTaskList getTodoTaskList​(String todoTaskListId, String userId) throws GraphException
    Gets a specific todo task list for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `userId` - The ID of the user
    Returns:
      The TodoTaskList object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTaskList

    public TodoTaskList getTodoTaskList​(String todoTaskListId, UserId userId) throws GraphException
    Gets a specific todo task list using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `userId` - The UserId object specifying the user
    Returns:
      The TodoTaskList object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createTodoTaskList

    public TodoTaskList createTodoTaskList​(TodoTaskList todoTaskList) throws GraphException
    Creates a new todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskList` - The TodoTaskList object to create
    Returns:
      The created TodoTaskList object with the assigned ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createTodoTaskList

    public TodoTaskList createTodoTaskList​(TodoTaskList todoTaskList, String userId) throws GraphException
    Creates a new todo task list for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskList` - The TodoTaskList object to create
      `userId` - The ID of the user
    Returns:
      The created TodoTaskList object with the assigned ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createTodoTaskList

    public TodoTaskList createTodoTaskList​(TodoTaskList todoTaskList, UserId userId) throws GraphException
    Creates a new todo task list using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskList` - The TodoTaskList object to create
      `userId` - The UserId object specifying the user
    Returns:
      The created TodoTaskList object with the assigned ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTaskList

    public TodoTaskList updateTodoTaskList​(TodoTaskList todoTaskList) throws GraphException
    Updates a todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskList` - The TodoTaskList object with updated properties
    Returns:
      The updated TodoTaskList object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTaskList

    public TodoTaskList updateTodoTaskList​(TodoTaskList todoTaskList, List<String> propertyNames) throws GraphException
    Updates specific properties of a todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskList` - The TodoTaskList object with updated properties
      `propertyNames` - List of property names to update
    Returns:
      The updated TodoTaskList object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTaskList

    public TodoTaskList updateTodoTaskList​(TodoTaskList todoTaskList, String userId) throws GraphException
    Updates a todo task list for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskList` - The TodoTaskList object with updated properties
      `userId` - The ID of the user
    Returns:
      The updated TodoTaskList object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTaskList

    public TodoTaskList updateTodoTaskList​(TodoTaskList todoTaskList, UserId userId) throws GraphException
    Updates a todo task list using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskList` - The TodoTaskList object with updated properties
      `userId` - The UserId object specifying the user
    Returns:
      The updated TodoTaskList object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTaskList

    public TodoTaskList updateTodoTaskList​(TodoTaskList todoTaskList, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of a todo task list with all options.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskList` - The TodoTaskList object with updated properties
      `propertyNames` - List of property names to update
      `userId` - The UserId object specifying the user
    Returns:
      The updated TodoTaskList object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteTodoTaskList

    public void deleteTodoTaskList​(String todoTaskListId) throws GraphException
    Deletes a todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteTodoTaskList

    public void deleteTodoTaskList​(String todoTaskListId, String userId) throws GraphException
    Deletes a todo task list for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteTodoTaskList

    public void deleteTodoTaskList​(String todoTaskListId, UserId userId) throws GraphException
    Deletes a todo task list using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTasks

    public List<TodoTask> getTodoTasks​(String todoTaskListId) throws GraphException
    Gets the list of tasks in a todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
    Returns:
      List of TodoTask objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTasks

    public List<TodoTask> getTodoTasks​(String todoTaskListId, String userId) throws GraphException
    Gets the list of tasks in a todo task list for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `userId` - The ID of the user
    Returns:
      List of TodoTask objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTasks

    public List<TodoTask> getTodoTasks​(String todoTaskListId, UserId userId) throws GraphException
    Gets the list of tasks in a todo task list using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `userId` - The UserId object specifying the user
    Returns:
      List of TodoTask objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTask

    public TodoTask getTodoTask​(String todoTaskListId, String todoTaskId) throws GraphException
    Gets a specific task from a todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTaskId` - The ID of the task
    Returns:
      The TodoTask object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTask

    public TodoTask getTodoTask​(String todoTaskListId, String todoTaskId, String userId) throws GraphException
    Gets a specific task from a todo task list for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTaskId` - The ID of the task
      `userId` - The ID of the user
    Returns:
      The TodoTask object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getTodoTask

    public TodoTask getTodoTask​(String todoTaskListId, String todoTaskId, UserId userId) throws GraphException
    Gets a specific task from a todo task list using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTaskId` - The ID of the task
      `userId` - The UserId object specifying the user
    Returns:
      The TodoTask object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createTodoTask

    public TodoTask createTodoTask​(String todoTaskListId, TodoTask todoTask) throws GraphException
    Creates a new task in a todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTask` - The TodoTask object to create
    Returns:
      The created TodoTask object with the assigned ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createTodoTask

    public TodoTask createTodoTask​(String todoTaskListId, TodoTask todoTask, String userId) throws GraphException
    Creates a new task in a todo task list for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTask` - The TodoTask object to create
      `userId` - The ID of the user
    Returns:
      The created TodoTask object with the assigned ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createTodoTask

    public TodoTask createTodoTask​(String todoTaskListId, TodoTask todoTask, UserId userId) throws GraphException
    Creates a new task in a todo task list using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTask` - The TodoTask object to create
      `userId` - The UserId object specifying the user
    Returns:
      The created TodoTask object with the assigned ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTask

    public TodoTask updateTodoTask​(String todoTaskListId, TodoTask todoTask) throws GraphException
    Updates a task in a todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTask` - The TodoTask object with updated properties
    Returns:
      The updated TodoTask object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTask

    public TodoTask updateTodoTask​(String todoTaskListId, TodoTask todoTask, List<String> propertyNames) throws GraphException
    Updates specific properties of a task in a todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTask` - The TodoTask object with updated properties
      `propertyNames` - List of property names to update
    Returns:
      The updated TodoTask object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTask

    public TodoTask updateTodoTask​(String todoTaskListId, TodoTask todoTask, String userId) throws GraphException
    Updates a task in a todo task list for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTask` - The TodoTask object with updated properties
      `userId` - The ID of the user
    Returns:
      The updated TodoTask object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTask

    public TodoTask updateTodoTask​(String todoTaskListId, TodoTask todoTask, UserId userId) throws GraphException
    Updates a task in a todo task list using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTask` - The TodoTask object with updated properties
      `userId` - The UserId object specifying the user
    Returns:
      The updated TodoTask object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updateTodoTask

    public TodoTask updateTodoTask​(String todoTaskListId, TodoTask todoTask, List<String> propertyNames, UserId userId) throws GraphException
    Updates specific properties of a task in a todo task list with all options.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTask` - The TodoTask object with updated properties
      `propertyNames` - List of property names to update
      `userId` - The UserId object specifying the user
    Returns:
      The updated TodoTask object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteTodoTask

    public void deleteTodoTask​(String todoTaskListId, String todoTaskId) throws GraphException
    Deletes a task from a todo task list for the current user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTaskId` - The ID of the task to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteTodoTask

    public void deleteTodoTask​(String todoTaskListId, String todoTaskId, String userId) throws GraphException
    Deletes a task from a todo task list for a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTaskId` - The ID of the task to delete
      `userId` - The ID of the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deleteTodoTask

    public void deleteTodoTask​(String todoTaskListId, String todoTaskId, UserId userId) throws GraphException
    Deletes a task from a todo task list using UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `todoTaskListId` - The ID of the todo task list
      `todoTaskId` - The ID of the task to delete
      `userId` - The UserId object specifying the user
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerUserTasks

    public List<PlannerTask> getPlannerUserTasks() throws GraphException
    Gets planner tasks assigned to the current user.

    See Microsoft Graph API documentation

    Returns:
      List of PlannerTask objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerUserTasks

    public List<PlannerTask> getPlannerUserTasks​(String userId) throws GraphException
    Gets planner tasks assigned to a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      List of PlannerTask objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerUserTasks

    public List<PlannerTask> getPlannerUserTasks​(UserId userId) throws GraphException
    Gets planner tasks assigned to a specific user using a UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of PlannerTask objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerUserFavoritePlans

    public List<PlannerPlan> getPlannerUserFavoritePlans() throws GraphException
    Gets planner plans marked as favorite by the current user.

    See Microsoft Graph API documentation

    Returns:
      List of PlannerPlan objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerUserFavoritePlans

    public List<PlannerPlan> getPlannerUserFavoritePlans​(String userId) throws GraphException
    Gets planner plans marked as favorite by a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      List of PlannerPlan objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerUserFavoritePlans

    public List<PlannerPlan> getPlannerUserFavoritePlans​(UserId userId) throws GraphException
    Gets planner plans marked as favorite by a specific user using a UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of PlannerPlan objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerUserRecentPlans

    public List<PlannerPlan> getPlannerUserRecentPlans() throws GraphException
    Gets planner plans recently viewed by the current user.

    See Microsoft Graph API documentation

    Returns:
      List of PlannerPlan objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerUserRecentPlans

    public List<PlannerPlan> getPlannerUserRecentPlans​(String userId) throws GraphException
    Gets planner plans recently viewed by a specific user.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The ID of the user
    Returns:
      List of PlannerPlan objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerUserRecentPlans

    public List<PlannerPlan> getPlannerUserRecentPlans​(UserId userId) throws GraphException
    Gets planner plans recently viewed by a specific user using a UserId object.

    See Microsoft Graph API documentation

    Parameters:
      `userId` - The UserId object specifying the user
    Returns:
      List of PlannerPlan objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerPlanDetails

    public PlannerPlanDetails getPlannerPlanDetails​(String planId) throws GraphException
    Gets the details of a specific planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan
    Returns:
      The PlannerPlanDetails object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerPlanDetails

    public PlannerPlanDetails updatePlannerPlanDetails​(String planId, PlannerPlanDetails details) throws GraphException
    Updates the details of a planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan
      `details` - The PlannerPlanDetails object with updated properties
    Returns:
      The updated PlannerPlanDetails object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerPlanDetails

    public PlannerPlanDetails updatePlannerPlanDetails​(String planId, PlannerPlanDetails details, List<String> propertyNames) throws GraphException
    Updates specific properties of the details of a planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan
      `details` - The PlannerPlanDetails object with updated properties
      `propertyNames` - List of property names to update
    Returns:
      The updated PlannerPlanDetails object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerTaskDetails

    public PlannerTaskDetails getPlannerTaskDetails​(String taskId) throws GraphException
    Gets the details of a specific planner task.

    See Microsoft Graph API documentation

    Parameters:
      `taskId` - The ID of the task
    Returns:
      The PlannerTaskDetails object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerTaskDetails

    public PlannerTaskDetails updatePlannerTaskDetails​(String taskId, PlannerTaskDetails details) throws GraphException
    Updates the details of a planner task.

    See Microsoft Graph API documentation

    Parameters:
      `taskId` - The ID of the task
      `details` - The PlannerTaskDetails object with updated properties
    Returns:
      The updated PlannerTaskDetails object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerTaskDetails

    public PlannerTaskDetails updatePlannerTaskDetails​(String taskId, PlannerTaskDetails details, List<String> propertyNames) throws GraphException
    Updates specific properties of the details of a planner task.

    See Microsoft Graph API documentation

    Parameters:
      `taskId` - The ID of the task
      `details` - The PlannerTaskDetails object with updated properties
      `propertyNames` - List of property names to update
    Returns:
      The updated PlannerTaskDetails object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerPlans

    public List<PlannerPlan> getPlannerPlans​(String groupId) throws GraphException
    Gets all plans for a group.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
    Returns:
      List of PlannerPlan objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerPlans

    public List<PlannerPlan> getPlannerPlans​(GroupId groupId) throws GraphException
    Gets all plans for a group using a GroupId object.

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The GroupId object specifying the group
    Returns:
      List of PlannerPlan objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerPlan

    public PlannerPlan getPlannerPlan​(String planId) throws GraphException
    Gets a specific planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan
    Returns:
      The PlannerPlan object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createPlannerPlan

    public PlannerPlan createPlannerPlan​(PlannerPlan plan) throws GraphException
    Creates a new planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `plan` - The PlannerPlan object to create
    Returns:
      The created PlannerPlan object with the assigned ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerPlan

    public void updatePlannerPlan​(PlannerPlan plan) throws GraphException
    Updates a planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `plan` - The PlannerPlan object with updated properties
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerPlan

    public void updatePlannerPlan​(PlannerPlan plan, List<String> propertyNames) throws GraphException
    Updates specific properties of a planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `plan` - The PlannerPlan object with updated properties
      `propertyNames` - List of property names to update
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deletePlannerPlan

    public void deletePlannerPlan​(String planId) throws GraphException
    Deletes a planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deletePlannerPlan

    public void deletePlannerPlan​(String planId, String etag) throws GraphException
    Throws:
      `GraphException`

  - ### archivePlannerPlan

    public PlannerPlan archivePlannerPlan​(String planId) throws GraphException
    Archives a planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan to archive
    Returns:
      The archived PlannerPlan
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### archivePlannerPlan

    public PlannerPlan archivePlannerPlan​(String planId, String justification) throws GraphException
    Archives a planner plan with a justification.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan to archive
      `justification` - The reason for archiving
    Returns:
      The archived PlannerPlan
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### unarchivePlannerPlan

    public PlannerPlan unarchivePlannerPlan​(String planId) throws GraphException
    Unarchives a planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan to unarchive
    Returns:
      The unarchived PlannerPlan
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### unarchivePlannerPlan

    public PlannerPlan unarchivePlannerPlan​(String planId, String justification) throws GraphException
    Unarchives a planner plan with a justification.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan to unarchive
      `justification` - The reason for unarchiving
    Returns:
      The unarchived PlannerPlan
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### movePlannerPlanToContainer

    public PlannerPlan movePlannerPlanToContainer​(String planId, PlannerPlanContainer container) throws GraphException
    Moves a planner plan to a different container.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan to move
      `container` - The destination container
    Returns:
      The moved PlannerPlan
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerPlanChanges

    public PlannerPlanChanges getPlannerPlanChanges​(String nextLinkOrDeltaLink) throws GraphException
    Gets incremental changes to planner plans using a previously obtained nextLink or deltaLink.

    See Microsoft Graph API documentation

    Parameters:
      `nextLinkOrDeltaLink` - The nextLink or deltaLink from a previous delta response
    Returns:
      The PlannerPlanChanges collection
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerPlanChanges

    public PlannerPlanChanges getPlannerPlanChanges​(String groupId, Query query) throws GraphException
    Gets incremental changes to planner plans in a group (delta query).

    See Microsoft Graph API documentation

    Parameters:
      `groupId` - The ID of the group
      `query` - The query options
    Returns:
      The PlannerPlanChanges collection
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerBucketChanges

    public PlannerBucketChanges getPlannerBucketChanges​(String nextLinkOrDeltaLink) throws GraphException
    Gets incremental changes to planner buckets using a previously obtained nextLink or deltaLink.

    See Microsoft Graph API documentation

    Parameters:
      `nextLinkOrDeltaLink` - The nextLink or deltaLink from a previous delta response
    Returns:
      The PlannerBucketChanges collection
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerBucketChanges

    public PlannerBucketChanges getPlannerBucketChanges​(String planId, Query query) throws GraphException
    Gets incremental changes to buckets within a planner plan (delta query).

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the planner plan
      `query` - The query options
    Returns:
      The PlannerBucketChanges collection
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerTaskChanges

    public PlannerTaskChanges getPlannerTaskChanges​(String nextLinkOrDeltaLink) throws GraphException
    Gets incremental changes to planner tasks using a previously obtained nextLink or deltaLink.

    See Microsoft Graph API documentation

    Parameters:
      `nextLinkOrDeltaLink` - The nextLink or deltaLink from a previous delta response
    Returns:
      The PlannerTaskChanges collection
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerTaskChanges

    public PlannerTaskChanges getPlannerTaskChanges​(String planId, Query query) throws GraphException
    Gets incremental changes to tasks within a planner plan (delta query).

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the planner plan
      `query` - The query options
    Returns:
      The PlannerTaskChanges collection
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerPlanUsageRights

    public List<PlannerUsageRight> getPlannerPlanUsageRights​(String planId) throws GraphException
    Gets the usage rights for a planner plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the planner plan
    Returns:
      List of PlannerUsageRight objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerPlanBuckets

    public List<PlannerBucket> getPlannerPlanBuckets​(String planId) throws GraphException
    Gets all buckets in a plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan
    Returns:
      List of PlannerBucket objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerBucket

    public PlannerBucket getPlannerBucket​(String bucketId) throws GraphException
    Gets a specific planner bucket.

    See Microsoft Graph API documentation

    Parameters:
      `bucketId` - The ID of the bucket
    Returns:
      The PlannerBucket object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createPlannerBucket

    public PlannerBucket createPlannerBucket​(PlannerBucket bucket) throws GraphException
    Creates a new planner bucket.

    See Microsoft Graph API documentation

    Parameters:
      `bucket` - The PlannerBucket object to create
    Returns:
      The created PlannerBucket object with the assigned ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerBucket

    public void updatePlannerBucket​(PlannerBucket bucket) throws GraphException
    Updates a planner bucket.

    See Microsoft Graph API documentation

    Parameters:
      `bucket` - The PlannerBucket object with updated properties
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerBucket

    public void updatePlannerBucket​(PlannerBucket bucket, List<String> propertyNames) throws GraphException
    Updates specific properties of a planner bucket.

    See Microsoft Graph API documentation

    Parameters:
      `bucket` - The PlannerBucket object with updated properties
      `propertyNames` - List of property names to update
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deletePlannerBucket

    public void deletePlannerBucket​(String bucketId) throws GraphException
    Deletes a planner bucket.

    See Microsoft Graph API documentation

    Parameters:
      `bucketId` - The ID of the bucket to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deletePlannerBucket

    public void deletePlannerBucket​(String bucketId, String etag) throws GraphException
    Throws:
      `GraphException`

  - ### getPlannerPlanTasks

    public List<PlannerTask> getPlannerPlanTasks​(String planId) throws GraphException
    Gets all tasks in a plan.

    See Microsoft Graph API documentation

    Parameters:
      `planId` - The ID of the plan
    Returns:
      List of PlannerTask objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerBucketTasks

    public List<PlannerTask> getPlannerBucketTasks​(String bucketId) throws GraphException
    Gets all tasks in a bucket.

    See Microsoft Graph API documentation

    Parameters:
      `bucketId` - The ID of the bucket
    Returns:
      List of PlannerTask objects
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### getPlannerTask

    public PlannerTask getPlannerTask​(String taskId) throws GraphException
    Gets a specific planner task.

    See Microsoft Graph API documentation

    Parameters:
      `taskId` - The ID of the task
    Returns:
      The PlannerTask object
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### createPlannerTask

    public PlannerTask createPlannerTask​(PlannerTask task) throws GraphException
    Creates a new planner task.

    See Microsoft Graph API documentation

    Parameters:
      `task` - The PlannerTask object to create
    Returns:
      The created PlannerTask object with the assigned ID
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerTask

    public void updatePlannerTask​(PlannerTask task) throws GraphException
    Updates a planner task.

    See Microsoft Graph API documentation

    Parameters:
      `task` - The PlannerTask object with updated properties
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### updatePlannerTask

    public void updatePlannerTask​(PlannerTask task, List<String> propertyNames) throws GraphException
    Updates specific properties of a planner task.

    See Microsoft Graph API documentation

    Parameters:
      `task` - The PlannerTask object with updated properties
      `propertyNames` - List of property names to update
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deletePlannerTask

    public void deletePlannerTask​(String taskId) throws GraphException
    Deletes a planner task.

    See Microsoft Graph API documentation

    Parameters:
      `taskId` - The ID of the task to delete
    Throws:
      `GraphException` - If an error occurs during the API request

  - ### deletePlannerTask

    public void deletePlannerTask​(String taskId, String etag) throws GraphException
    Throws:
      `GraphException`

  - ### getChat

    public Chat getChat​(String chatId) throws GraphException
    Throws:
      `GraphException`

  - ### getChat

    public Chat getChat​(String chatId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getChat

    public Chat getChat​(String chatId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### getChat

    public Chat getChat​(String chatId, Query query, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### updateChat

    public Chat updateChat​(Chat chat) throws GraphException
    Throws:
      `GraphException`

  - ### updateChat

    public Chat updateChat​(Chat chat, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### getChatMembers

    public List<ConversationMember> getChatMembers​(String chatId) throws GraphException
    Throws:
      `GraphException`

  - ### getChatMembers

    public List<ConversationMember> getChatMembers​(String chatId, Query query) throws GraphException
    Throws:
      `GraphException`

  - ### getChatMember

    public ConversationMember getChatMember​(String chatId, String membershipId) throws GraphException
    Throws:
      `GraphException`

  - ### addChatMember

    public ConversationMember addChatMember​(String chatId, ConversationMember member) throws GraphException
    Throws:
      `GraphException`

  - ### removeChatMember

    public void removeChatMember​(String chatId, String membershipId) throws GraphException
    Throws:
      `GraphException`

  - ### markChatReadForUser

    public void markChatReadForUser​(String chatId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### markChatUnreadForUser

    public void markChatUnreadForUser​(String chatId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### hideChatForUser

    public void hideChatForUser​(String chatId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### unhideChatForUser

    public void unhideChatForUser​(String chatId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### updateChatMessage

    public ChatMessage updateChatMessage​(String chatId, ChatMessage message) throws GraphException
    Throws:
      `GraphException`

  - ### updateChatMessage

    public ChatMessage updateChatMessage​(String chatId, ChatMessage message, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### softDeleteChatMessage

    public void softDeleteChatMessage​(String chatId, String messageId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### softDeleteChatMessage

    public void softDeleteChatMessage​(String chatId, String messageId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### undoSoftDeleteChatMessage

    public void undoSoftDeleteChatMessage​(String chatId, String messageId, String userId) throws GraphException
    Throws:
      `GraphException`

  - ### undoSoftDeleteChatMessage

    public void undoSoftDeleteChatMessage​(String chatId, String messageId, UserId userId) throws GraphException
    Throws:
      `GraphException`

  - ### setChatMessageReaction

    public void setChatMessageReaction​(String chatId, String messageId, String reactionType) throws GraphException
    Throws:
      `GraphException`

  - ### unsetChatMessageReaction

    public void unsetChatMessageReaction​(String chatId, String messageId, String reactionType) throws GraphException
    Throws:
      `GraphException`

  - ### getChatMessageHostedContent

    public byte[] getChatMessageHostedContent​(String chatId, String messageId, String hostedContentId) throws GraphException
    Throws:
      `GraphException`

  - ### updateChannelMessage

    public ChatMessage updateChannelMessage​(String teamId, String channelId, ChatMessage message) throws GraphException
    Throws:
      `GraphException`

  - ### updateChannelMessage

    public ChatMessage updateChannelMessage​(String teamId, String channelId, ChatMessage message, List<String> propertyNames) throws GraphException
    Throws:
      `GraphException`

  - ### softDeleteChannelMessage

    public void softDeleteChannelMessage​(String teamId, String channelId, String messageId) throws GraphException
    Throws:
      `GraphException`

  - ### undoSoftDeleteChannelMessage

    public void undoSoftDeleteChannelMessage​(String teamId, String channelId, String messageId) throws GraphException
    Throws:
      `GraphException`

  - ### setChannelMessageReaction

    public void setChannelMessageReaction​(String teamId, String channelId, String messageId, String reactionType) throws GraphException
    Throws:
      `GraphException`

  - ### unsetChannelMessageReaction

    public void unsetChannelMessageReaction​(String teamId, String channelId, String messageId, String reactionType) throws GraphException
    Throws:
      `GraphException`

  - ### getChannelMessageHostedContent

    public byte[] getChannelMessageHostedContent​(String teamId, String channelId, String messageId, String hostedContentId) throws GraphException
    Throws:
      `GraphException`

  - ### updateChannelMember

    public ConversationMember updateChannelMember​(String teamId, String channelId, ConversationMember member) throws GraphException
    Throws:
      `GraphException`

  - ### archiveChannel

    public void archiveChannel​(String teamId, String channelId) throws GraphException
    Throws:
      `GraphException`

  - ### unarchiveChannel

    public void unarchiveChannel​(String teamId, String channelId) throws GraphException
    Throws:
      `GraphException`

  - ### getChannelFilesFolder

    public DriveItem getChannelFilesFolder​(String teamId, String channelId) throws GraphException
    Throws:
      `GraphException`

  - ### getHostUri

    public String getHostUri()
    Gets host uri. Default is "https://graph.microsoft.com"
    Returns:
      the Microsoft Graph host uri

  - ### setHostUri

    public void setHostUri​(String hostUri)
    Sets host uri. Default is "https://graph.microsoft.com"
    Parameters:
      `hostUri` - the the Microsoft Graph host uri

  - ### getLoginHostUri

    public String getLoginHostUri()
    Gets login host uri. Default is "https://login.microsoftonline.com"
    Returns:
      the Microsoft Graph login host uri

  - ### setLoginHostUri

    public void setLoginHostUri​(String loginHostUri)
    Sets login host uri. Default is "https://login.microsoftonline.com"
    Parameters:
      `loginHostUri` - the the Microsoft Graph login host uri

  - ### getUsername

    public String getUsername()
    Gets username.
    Returns:
      the username

  - ### setUsername

    public void setUsername​(String username)
    Sets username.
    Parameters:
      `username` - the new username

  - ### getPassword

    public String getPassword()
    Gets user's password.
    Returns:
      the password

  - ### setPassword

    public void setPassword​(String password)
    Sets user's password.
    Parameters:
      `password` - the new password

  - ### getHttpURLConnectionProxy

    public Proxy getHttpURLConnectionProxy()
    Gets HttpURLConnection proxy server.
    Returns:
      the http url connection proxy

  - ### setHttpURLConnectionProxy

    public void setHttpURLConnectionProxy​(Proxy httpURLConnectionProxy)
    Sets HttpURLConnection proxy server.
    Parameters:
      `httpURLConnectionProxy` - the new http url connection proxy

  - ### getProxy

    public org.apache.hc.core5.http.HttpHost getProxy()
    Gets HttpClient proxy.
    Returns:
      the proxy

  - ### setProxy

    public void setProxy​(org.apache.hc.core5.http.HttpHost proxy)
    Sets HttpClient proxy.
    Parameters:
      `proxy` - the new proxy

  - ### getProxyCredentials

    public org.apache.hc.client5.http.auth.Credentials getProxyCredentials()
    Gets proxy credentials.
    Returns:
      the proxy credentials

  - ### setProxyCredentials

    public void setProxyCredentials​(org.apache.hc.client5.http.auth.Credentials proxyCredentials)
    Sets proxy credentials.
    Parameters:
      `proxyCredentials` - the new proxy credentials

  - ### getClientConnectionManager

    public org.apache.hc.client5.http.io.HttpClientConnectionManager getClientConnectionManager()
    Gets connection manager.
    Returns:
      the client connection manager

  - ### setClientConnectionManager

    public void setClientConnectionManager​(org.apache.hc.client5.http.io.HttpClientConnectionManager connectionManager)
    Sets connection manager.
    Parameters:
      `connectionManager` - the new client connection manager

  - ### getRequestConfig

    public org.apache.hc.client5.http.config.RequestConfig getRequestConfig()
    Gets request configuration.
    Returns:
      the request configuration

  - ### setRequestConfig

    public void setRequestConfig​(org.apache.hc.client5.http.config.RequestConfig requestConfig)
    Sets request configuration.
    Parameters:
      `requestConfig` - the request configuration

  - ### setHttpURLConnection

    public void setHttpURLConnection​(boolean useHttpURLConnection)
    Sets the http url connection.
    Parameters:
      `useHttpURLConnection` - the new http url connection

  - ### setConnectTimeout

    public void setConnectTimeout​(int connectTimeout)
    Sets the specified timeout value, in milliseconds, to be used when opening a communications link to the resource referenced by the HttpURLConnection. If the timeout expires before the connection can be established, a java.net.SocketTimeoutException is raised. A timeout of zero is interpreted as an infinite timeout.
    Parameters:
      `connectTimeout` - the new connect timeout

  - ### getConnectTimeout

    public int getConnectTimeout()
    Returns setting for connect timeout. 0 return implies that the option is disabled (i.e., timeout of infinity).
    Returns:
      the connect timeout

  - ### setReadTimeout

    public void setReadTimeout​(int readTimeout)
    Sets the read timeout to the specified timeout, in milliseconds. A non-zero value specifies the timeout when reading from Input stream when a connection is established to a resource. If the timeout expires before there is data available for read, a java.net.SocketTimeoutException is raised. A timeout of zero is interpreted as an infinite timeout.
    Parameters:
      `readTimeout` - the new read timeout

  - ### getReadTimeout

    public int getReadTimeout()
    Returns setting for read timeout. 0 return implies that the option is disabled (i.e., timeout of infinity).
    Returns:
      the read timeout

  - ### setAcceptGzipEncoding

    public void setAcceptGzipEncoding​(boolean acceptGzipEncoding)
    Set whether to accept GZIP encoding, that is, whether to send the HTTP "Accept-Encoding" header with "gzip" as value.
    Parameters:
      `acceptGzipEncoding` - the new accept gzip encoding

  - ### isAcceptGzipEncoding

    public boolean isAcceptGzipEncoding()
    Return whether to accept GZIP encoding, that is, whether to send the HTTP "Accept-Encoding" header with "gzip" as value.
    Returns:
      true, if is accept gzip encoding

  - ### getRequestHttpHeaders

    public List<HttpHeader> getRequestHttpHeaders()

  - ### getResponseHttpHeaders

    public List<HttpHeader> getResponseHttpHeaders()

  - ### setOAuthToken

    public void setOAuthToken​(OAuthToken oAuthToken)

  - ### getOAuthToken

    public OAuthToken getOAuthToken()

  - ### setClientId

    public void setClientId​(String clientId)

  - ### getClientId

    public String getClientId()

  - ### setTenant

    public void setTenant​(String tenant)

  - ### getTenant

    public String getTenant()

  - ### getScope

    public List<String> getScope()

  - ### setClientSecret

    public void setClientSecret​(String clientSecret)

  - ### getClientSecret

    public String getClientSecret()

  - ### setclientAssertion

    public void setclientAssertion​(String clientAssertion)

  - ### getClientAssertion

    public String getClientAssertion()

  - ### setAuthorizationCode

    public void setAuthorizationCode​(String authorizationCode)

  - ### getAuthorizationCode

    public String getAuthorizationCode()

  - ### setAuthorizationCodeRedirectUri

    public void setAuthorizationCodeRedirectUri​(String authorizationCodeRedirectUri)

  - ### getAuthorizationCodeRedirectUri

    public String getAuthorizationCodeRedirectUri()

  - ### setDeviceCode

    public void setDeviceCode​(String deviceCode)

  - ### getDeviceCode

    public String getDeviceCode()