Exchange Online and Exchange 2013 development

Exchange Server 2013

Create custom solutions for email, calendar, contacts, and other items that are stored in Exchange Online or on an Exchange 2013 server. You can use Exchange Web Services (EWS), Autodiscover, mail apps for Office, or other APIs to develop your applications.

Last modified: March 09, 2015

Applies to: Exchange Online | Exchange Server 2013 | Office 365

Use the following table to identify the technology and related API content that will help you meet your development goals.

If you are building…

Start here

A REST-based app to access Exchange Online as part of Office 365.

Office 365 REST APIs for mail, calendars, and contacts

A context-sensitive app to display information in Outlook, Outlook Web App, or OWA for Devices.

Mail apps for Outlook and EWS in Exchange

A mailbox client that is not based on the .NET Framework or Java.

Explore the EWS Managed API, EWS, and web services in Exchange

A mailbox client that uses the .NET Framework to access EWS.

Get started with EWS Managed API client applications

A mailbox client that uses Java to access EWS.

EWS Java API on GitHub

An application that customizes the Outlook user interface or relies on Outlook business logic.

Outlook 2013 developer reference

An application that targets Exchange Online or Exchange 2013 and you need to migrate from a previous version of Exchange.

Migrating to Exchange Online and Exchange 2013 technologies

A custom management tool that uses Windows PowerShell from managed code.

Exchange Management Shell

A solution to back up or restore Exchange data.

Backup and restore for Exchange 2013

An extension to support accessing messages in the transport pipeline.

Transport agents in Exchange 2013

A mailbox client for a mobile device.

Exchange ActiveSync

Some of these technologies enable your applications to work with data that is stored in Exchange, and others are used to manage and control the Exchange server. In many cases, you can use more than one programming technology or language to accomplish a task, which makes it possible for you to use the technologies and languages that you are familiar with. For example, you can set properties on items in the Exchange store by using the Mail REST API, EWS, or the EWS Managed API.

Exchange interacts with custom applications in a variety of ways, depending on the application architecture and functionality. At its core, Exchange not only transports messages, but also maintains mailboxes, executes form-based applications, and more.

Exchange interaction


Message transport

Exchange serves as a standard mail server for applications that send messages. Exchange includes several APIs that transfer messages, including REST, EWS, and the EWS Managed API. In addition, applications can use transport agents to respond as messages are processed and delivered by Exchange.

Mailbox storage

Exchange provides a hierarchical structure of folders, items, and properties for applications that access data stored in mailboxes. You can access that stored information by using a combination of database and component object styles. You can perform queries on the data, and Exchange manages access to the stored data based on user and store permissions. Applications that handle mailbox data typically use REST, EWS, or the EWS Managed API.

Managed enterprise server

Exchange functions as a managed server for applications that manage Exchange servers and stores. Applications can configure, control, and monitor current activity and the health of Exchange servers across the organization. Exchange management applications use the Exchange Management Shell to manage Exchange servers.