Office 365 API reference

Applies to: Exchange Online | Office 365 | OneDrive for Business


Office 365 API functionality is also available through Microsoft Graph, a unified API that includes APIs from other Microsoft services such as Outlook, OneDrive, OneNote, Planner, and Office Graph, accessible through a single endpoint and with a single access token. We recommend using Microsoft Graph in your apps when possible.

The Office 365 APIs enable you to provide access to your customer's Office 365 data, including the things they care about most--their mail, calendars, contacts, users and groups, files, and folders--all right from within your app itself.

You can access the Office 365 APIs from solutions across all mobile, web, and desktop platforms. No matter your development platform or tools. So whether you're building web applications using .NET, PHP, Java, Python, or Ruby on Rails, or creating apps for Windows Universal Apps, iOS, Android, or on another device platform, it's your choice.


When you use the Office 365 APIs, you agree to the Microsoft API terms of use.

Office 365 SDKs make app development easier

You can program directly against the REST APIs to interact with Office 365, write and maintain code around managing authentication tokens, constructing the correct URLs and queries for the API you want to access, and other tasks. The Office 365 SDKs for Visual Studio, Eclipse and Android Studio, or Xcode, help reduce the complexity of the code you need to write to access the Office 365 APIs.

The Office Developer Tools for Visual Studio include SDKs that provide .NET and JavaScript libraries that wrap the Office 365 REST services and provide an even easier way to connect to your Office 365 data. The SDKs are available for ASP.NET MVC, ASP.NET Web Forms, WPF, Win Forms, Universal App, Cordova and Xamarin project types in Visual Studio.

For Android developers, the Android SDK for Eclipse and Android Studio is now generally available as well. See the Office 365 SDK for Android.

For iOS apps, the iOS SDK for Xcode supports both Objective C and Swift languages within Xcode 6. See the Office 365 SDK for iOS.

Batching Outlook REST requests

Send Outlook REST requests in batches

Outlook Task

Task API

Task operations   Create tasks | Get tasks | Update tasks | Delete tasks| Complete tasks | Synchronize tasks or task folders

Task folder operations   Create task folders | Get task folders | Update task folders | Delete task folders | Synchronize tasks or task folders

Task group operations   Create task groups | Get task groups | Update task groups | Delete task groups

Outlook People

The People API topic now redirects to Use the People API in Microsoft Graph.

Office 365 Data Extensions

Data Extensions API

Open Type Extensions   Create in existing item | Create with new item | Get | Get expanded item | Update | Delete

Outlook Extended Properties

Extended Properties API

Extended Properties   Create in existing item | Create with new item | Get expanded item | Filter

Outlook Mail

Mail API

Messages   Get | Create and send | Reply to | Forward | Update | Delete | Move or copy

Attachments   Get | Create | Delete

Folders   Get | Create | Update | Delete | Move or copy

Outlook Contacts

Contacts API

Contacts   Get | Create | Update | Delete

Contact folders   Get

Outlook Calendar

Calendar API

Calendar view   Get | Sync

Events   Get | Sync | Create | Update | Respond | Delete

Attachments   Get | Create | Delete

Reminders   Get | Snooze | Dismiss

Calendars   Get | Create | Update | Delete

Calendar groups   Get | Create | Update | Delete

Resource reference for the Mail, Calendar, Contacts, and Task APIs

Resource reference

Entities   Calendar | CalendarGroup | Contact | ContactFolder | Event | EventMessage | Extended properties | FileAttachment | Folder | ItemAttachment | Message | Task | TaskFolder | TaskGroup | User

Complex types   Attendee | AttendeeBase | AttendeeAvailability | DateTimeTimeZone | EmailAddress | GeoCoordinates | ItemBody | Location | LocationConstraint | MeetingTimeSuggestion | PatternedRecurrence | PhysicalAddress | Recipient | RecurrencePattern | RecurrenceRange | ResponseStatus | TimeConstraint | TimeSlot |

OData query parameters   $search | $filter | $select | $orderby | $top and $skip | $count

Outlook notifications

Push Notifications API

Streaming Notifications API (preview)

Outlook User Photo

User Photo API

Discovery Service

Discovery Service API

Operations   Initial sign in | Discover specific services | Learn what services are discoverable


OneDrive API


Video API

Video portal   Get information

Channels   Get information

Video information   Get | Update video metadata

Videos   Upload | Delete

API resource and service endpoints of Office 365 operated by 21Vianet

API endpoints of Office 365 operated by 21Vianet

Office 365 Management APIs

Service Communications API | Management Activity API Reference | Reporting web service

See also

REST API response status codes

Office 365 Platform Overview

Office 365 Permission Scopes

Microsoft Partner Center API Reference

Partners can use the CSP Commerce REST API to create customer accounts, manage customer profiles in the Microsoft Commerce Platform, and purchase and manage orders and subscriptions of Microsoft products for their customers.