top of page
  • Writer's pictureJohn Shelburne

Protocol Particulars - Microsoft Outlook APIs (MAPI, EWS and Graph)

MAPI (Messaging Application Programming Interface)

MAPI, which stands for Messaging Application Programming Interface, is an API (Application Programming Interface) that allows client applications to interact with messaging servers. MAPI was developed by Microsoft and is primarily used with Microsoft Exchange Server and Microsoft Outlook. It provides a standardized interface for accessing email, calendar, contacts, and other messaging data.

MAPI is a comprehensive API that provides a wide range of functionality for messaging applications. It allows developers to create applications that can perform tasks such as sending and receiving email messages, managing folders and messages, and accessing address books and calendars. MAPI is designed to work with different messaging systems, but it is most commonly associated with Microsoft Exchange Server.

MAPI can operate in two modes:

1. Simple MAPI: Simple MAPI is a subset of the full MAPI functionality and provides basic messaging capabilities, such as sending and receiving email messages. It is designed to be easy to use and is suitable for simple messaging tasks. Simple MAPI is often used by applications that need to send email but do not require advanced messaging features.

2. Extended MAPI: Extended MAPI is the full version of the MAPI API and provides a wide range of advanced messaging features. It allows developers to create complex messaging applications that can interact with messaging servers in a variety of ways. Extended MAPI is used by applications like Microsoft Outlook to provide a rich set of messaging functionality.

MAPI is an older technology, and newer protocols such as Exchange Web Services (EWS) and RESTful APIs have been introduced to provide similar functionality in a more modern and platform-independent way.

EWS - Exchange Web Services

Exchange Web Services (EWS) is a web service protocol developed by Microsoft that allows client applications to communicate with Microsoft Exchange Server. EWS provides a rich set of APIs that enable developers to access and manipulate various types of data stored in an Exchange mailbox, including email messages, calendar items, contacts, tasks, and more. EWS is platform-independent, which means that client applications can use it to interact with Exchange Server regardless of the operating system they are running on.

EWS was introduced with Microsoft Exchange Server 2007 and has been supported in subsequent versions of Exchange Server. It is also supported by Exchange Online, which is part of the Microsoft 365 cloud-based productivity suite.

Some of the key features and capabilities of Exchange Web Services include:

1. Access to Mailbox Data: EWS allows client applications to access and manage mailbox data, including reading, creating, updating, and deleting email messages, calendar appointments, contacts, tasks, and other items.

2. Folder Management: EWS provides the ability to manage mailbox folders, including creating, renaming, moving, and deleting folders.

3. Calendar Operations: EWS enables client applications to create and manage calendar events, schedule meetings, and handle meeting invitations and responses.

4. Search and Filtering: EWS provides powerful search and filtering capabilities that allow client applications to find specific items in a mailbox based on various criteria.

5. Notifications and Streaming Notifications: EWS supports notifications that allow client applications to receive real-time updates when changes occur in a mailbox. Streaming notifications provide a continuous connection to the server for receiving updates.

6. Synchronization: EWS provides synchronization operations that enable client applications to keep their local data in sync with the data stored on the Exchange server.

7. Autodiscover: EWS includes the Autodiscover service, which helps client applications automatically discover and configure the settings needed to connect to an Exchange server.

EWS uses standard web service technologies such as SOAP (Simple Object Access Protocol), XML (Extensible Markup Language), and HTTP/HTTPS (Hypertext Transfer Protocol/Secure) for communication. This makes it possible for developers to use EWS from a wide range of programming languages and platforms.

Microsoft Graph API

Microsoft Graph API is a unified RESTful API that provides a single endpoint for accessing data and services across Microsoft 365 and the broader Microsoft cloud ecosystem. It allows developers to interact with a wide range of Microsoft services, including Outlook (Exchange Online), OneDrive, SharePoint, Teams, Azure Active Directory, Intune, and more. Microsoft Graph API enables developers to build applications that can access and manipulate data from these services in a consistent and unified way.

Microsoft Graph API exposes a wide range of functionality, including but not limited to:

1. Mail and Calendar: Access and manage email messages, calendar events, and contacts in a user's Outlook mailbox.

2. Files and Folders: Access and manage files and folders stored in OneDrive and SharePoint.

3. Users and Groups: Retrieve information about users and groups in an organization's Azure Active Directory, as well as manage group memberships.

4. Teams and Channels: Interact with Microsoft Teams, including creating and managing teams, channels, and messages.

5. Planner and To Do: Access and manage tasks in Microsoft Planner and Microsoft To Do.

6. Security and Compliance: Access security-related information, such as alerts and threat intelligence, and manage compliance features.

7. Insights and Analytics: Retrieve insights and analytics data, such as user activity and usage patterns, across Microsoft 365 services.

Microsoft Graph API uses standard web technologies, such as HTTP/HTTPS, JSON (JavaScript Object Notation), and OAuth 2.0 for authentication and authorization. The API follows RESTful principles, making it easy for developers to work with using common HTTP methods (GET, POST, PUT, DELETE) to perform operations on resources represented by URLs.

The Microsoft Graph API endpoint is: ``

Developers can use Microsoft Graph API in a variety of scenarios, such as building custom applications, automating workflows, integrating with third-party services, and creating dashboards and reports. The API is available for use with a wide range of programming languages and platforms, and Microsoft provides SDKs (Software Development Kits) and libraries to simplify development.

It's important to note that Microsoft Graph API requires appropriate permissions to access data and perform actions on behalf of users or the organization. These permissions are typically granted through OAuth 2.0 access tokens, and developers need to ensure that their applications request and receive the necessary permissions to perform the desired operations.



bottom of page