Microsoft Office 365
A collection of APIs provided by Microsoft Office 365 for productivity, collaboration, and enterprise services.
17 APIs
9 Features
CloudCollaborationEnterpriseMicrosoftProductivity
Unified API endpoint to access data, intelligence, and insights from Microsoft 365, Windows, and Enterprise Mobility + Security.
Access to Outlook email, including reading, sending, and managing messages.
Access to Outlook calendar events, scheduling, and meeting management.
Access to Outlook personal contacts for managing contact information, creating contact folders, and organizing people data.
Access to OneDrive file storage, sharing, and collaboration features.
Access to SharePoint sites, lists, and document libraries.
Access to Microsoft Teams channels, messages, and collaboration features.
Manage Office 365 users, profiles, and organizational information.
Access to Microsoft Planner tasks, plans, and project management features.
Access to OneNote notebooks, sections, and pages for creating and managing notes and structured content.
Read and modify Excel workbooks stored in OneDrive and SharePoint, including managing worksheets, tables, charts, ranges, and sessions.
Manage tasks and task lists across To Do clients, Outlook, and Teams for personal task management and day planning.
Manage customer bookings, appointment scheduling, business services, and staff information for enterprise and small business owners.
Manage Microsoft 365 groups, group membership, conversations, and group-related resources for collaboration.
Connect security products, services, and partners to streamline security operations and improve threat protection, detection, and response.
Create and join online meetings, manage call records, and enable cloud communications capabilities for applications.
Platform for building solutions that extend Office applications including Excel, Outlook, Word, PowerPoint, and OneNote using web technologies and the Office JavaScript API.
Create an event, read it back to confirm, then delete it from the calendar.
ARAZZO
Create a draft, read it back, then delete it from the mailbox.
ARAZZO
Create a Microsoft 365 group, add a member, then list members to confirm.
ARAZZO
Disable a user account, confirm the change, then delete the user.
ARAZZO
Create a draft message, read it back, then send it from the mailbox.
ARAZZO
Query a calendar view for a time window, then read the first event found.
ARAZZO
Look up a group by display name and create it only if it does not exist.
ARAZZO
Create a user, then send a welcome email to their new mailbox address.
ARAZZO
Create a user, add them to an existing group, then confirm membership.
ARAZZO
Create a new user, then read it back to confirm provisioning.
ARAZZO
Create an event, patch its start and end times, then read it back.
ARAZZO
Read an event, then accept or decline it based on a desired response.
ARAZZO
Remove one member from a group, add another, then list members to confirm.
ARAZZO
Create an event, then accept it on behalf of the signed-in user.
ARAZZO
Create a calendar event, then read it back to confirm the booking.
ARAZZO
Read the latest inbox message, then mark it as read and categorize it.
ARAZZO
Create a draft, patch its subject and body, then send the updated message.
ARAZZO
Patch a group's properties, then read it back to verify the change.
ARAZZO
Patch a user's profile properties, then read the user back to verify.
ARAZZO
Unified API Endpoint
Access Microsoft 365 data through a single REST endpoint at graph.microsoft.com covering mail, calendar, files, users, and groups.
Real-Time Notifications
Subscribe to change notifications via webhooks to receive real-time updates when data changes across Microsoft 365 services.
Batch Requests
Combine multiple API requests into a single HTTP call to reduce network overhead and improve performance.
Delta Queries
Track incremental changes to resources efficiently using delta links without polling entire datasets.
Rich Mail Management
Read, send, reply, forward, and organize email messages with full attachment and folder support.
Calendar and Scheduling
Create events, manage calendars, check free/busy availability, and handle meeting responses programmatically.
File Storage and Sharing
Access OneDrive and SharePoint files with upload, download, sharing, and real-time collaboration capabilities.
Team Collaboration
Manage Microsoft Teams channels, messages, tabs, and apps for team communication and collaboration.
User and Group Management
Create, update, and manage users, groups, and organizational directory resources.
Enterprise Productivity Integration
Build applications that integrate email, calendar, and file management into unified productivity workflows.
Automated Reporting
Generate automated reports by pulling data from mail, calendar, and user profiles across the organization.
Identity and Access Management
Manage user provisioning, group membership, and directory synchronization for enterprise identity workflows.
Team Communication Automation
Automate team notifications, channel management, and messaging workflows across Microsoft Teams.
Document Collaboration
Enable multi-user document editing, sharing, and version tracking through OneDrive and SharePoint APIs.
Azure Active Directory
Integrate with Azure AD for user authentication, authorization, and directory management.
Microsoft Teams
Build bots, tabs, and messaging extensions that integrate with Microsoft Teams collaboration platform.
Power Automate
Connect Microsoft Graph data to Power Automate flows for no-code/low-code automation.
Power BI
Feed Microsoft 365 data into Power BI dashboards for business intelligence and reporting.
SharePoint
Access SharePoint sites, lists, and document libraries for enterprise content management.
Outlook
Integrate with Outlook mail, calendar, and contacts for personal and shared mailbox management.
opencollection: 1.0.0
info:
name: Microsoft Office 365 Microsoft Graph API
version: 1.0.0
request:
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
items:
- info:
name: Users
type: folder
items:
- info:
name: Microsoft Office 365 List Users
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/users
params:
- name: $top
value: ''
type: query
description: The number of items to return in a result set. Maximum value depends on the API.
- name: $skip
value: ''
type: query
description: The number of items to skip in the result set.
- name: $filter
value: ''
type: query
description: OData filter expression to restrict the set of items returned.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $orderby
value: ''
type: query
description: Comma-separated list of properties for sorting results.
- name: $search
value: ''
type: query
description: Search expression to filter results. Uses KQL syntax for directory objects.
- name: $count
value: ''
type: query
description: Include a count of the total number of items in a collection alongside the page of data values.
- name: $expand
value: ''
type: query
description: Comma-separated list of relationships to expand and include in the response.
docs: Retrieve a list of user objects. By default, only a limited set of properties are returned. To return additional
properties, use the $select OData query parameter. Returns up to 100 users per page by default. Requires User.ReadBasic.All,
User.Read.All, or Directory.Read.All permission.
- info:
name: Microsoft Office 365 Create User
type: http
http:
method: POST
url: https://graph.microsoft.com/v1.0/users
body:
type: json
data: '{}'
docs: Create a new user object. The request body must contain the required properties for the user. You can optionally
specify other writable properties. Requires User.ReadWrite.All or Directory.ReadWrite.All permission.
- info:
name: Microsoft Office 365 Get User
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/users/:user-id
params:
- name: user-id
value: ''
type: path
description: The unique identifier of the user (GUID) or the userPrincipalName.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $expand
value: ''
type: query
description: Comma-separated list of relationships to expand and include in the response.
docs: Retrieve the properties and relationships of a user object. Returns a limited set of properties by default; use
$select to request additional properties. Requires User.Read, User.ReadBasic.All, User.Read.All, or Directory.Read.All
permission.
- info:
name: Microsoft Office 365 Update User
type: http
http:
method: PATCH
url: https://graph.microsoft.com/v1.0/users/:user-id
params:
- name: user-id
value: ''
type: path
description: The unique identifier of the user (GUID) or the userPrincipalName.
body:
type: json
data: '{}'
docs: Update the properties of a user object. Not all properties can be updated by Member or Guest users with their default
permissions without administrator roles. Requires User.ReadWrite, User.ReadWrite.All, or Directory.ReadWrite.All permission.
- info:
name: Microsoft Office 365 Delete User
type: http
http:
method: DELETE
url: https://graph.microsoft.com/v1.0/users/:user-id
params:
- name: user-id
value: ''
type: path
description: The unique identifier of the user (GUID) or the userPrincipalName.
docs: Delete a user object. When deleted, user resources are moved to a temporary container and can be restored within
30 days. After 30 days, they are permanently deleted. Requires User.ReadWrite.All or Directory.ReadWrite.All permission.
- info:
name: Microsoft Office 365 Get Signed-in User
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/me
params:
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $expand
value: ''
type: query
description: Comma-separated list of relationships to expand and include in the response.
docs: Retrieve the properties and relationships of the currently signed-in user. The /me endpoint resolves to the signed-in
user based on the access token. Requires User.Read permission at minimum.
- info:
name: Groups
type: folder
items:
- info:
name: Microsoft Office 365 List Groups
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/groups
params:
- name: $top
value: ''
type: query
description: The number of items to return in a result set. Maximum value depends on the API.
- name: $skip
value: ''
type: query
description: The number of items to skip in the result set.
- name: $filter
value: ''
type: query
description: OData filter expression to restrict the set of items returned.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $orderby
value: ''
type: query
description: Comma-separated list of properties for sorting results.
- name: $search
value: ''
type: query
description: Search expression to filter results. Uses KQL syntax for directory objects.
- name: $count
value: ''
type: query
description: Include a count of the total number of items in a collection alongside the page of data values.
- name: $expand
value: ''
type: query
description: Comma-separated list of relationships to expand and include in the response.
docs: List all groups in an organization, including Microsoft 365 groups, security groups, and distribution groups. Returns
up to 100 objects by default. To return additional properties, use $select. Requires GroupMember.Read.All, Group.Read.All,
or Directory.Read.All permission.
- info:
name: Microsoft Office 365 Create Group
type: http
http:
method: POST
url: https://graph.microsoft.com/v1.0/groups
body:
type: json
data: '{}'
docs: Create a new Microsoft 365 group or security group. You can create Microsoft 365 groups with a team, a channel,
or both by specifying the resourceProvisioningOptions. Requires Group.ReadWrite.All or Directory.ReadWrite.All permission.
- info:
name: Microsoft Office 365 Get Group
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/groups/:group-id
params:
- name: group-id
value: ''
type: path
description: The unique identifier of the group (GUID).
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $expand
value: ''
type: query
description: Comma-separated list of relationships to expand and include in the response.
docs: Get the properties and relationships of a group object. Returns a default set of properties; use $select to request
additional properties. Requires GroupMember.Read.All, Group.Read.All, or Directory.Read.All permission.
- info:
name: Microsoft Office 365 Update Group
type: http
http:
method: PATCH
url: https://graph.microsoft.com/v1.0/groups/:group-id
params:
- name: group-id
value: ''
type: path
description: The unique identifier of the group (GUID).
body:
type: json
data: '{}'
docs: Update the properties of a group object. Requires Group.ReadWrite.All or Directory.ReadWrite.All permission. Not
every property can be updated.
- info:
name: Microsoft Office 365 Delete Group
type: http
http:
method: DELETE
url: https://graph.microsoft.com/v1.0/groups/:group-id
params:
- name: group-id
value: ''
type: path
description: The unique identifier of the group (GUID).
docs: Delete a group. When deleted, Microsoft 365 groups are moved to a temporary container and can be restored within
30 days. Security groups and distribution groups are permanently deleted immediately. Requires Group.ReadWrite.All or
Directory.ReadWrite.All permission.
- info:
name: Microsoft Office 365 List Group Members
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/groups/:group-id/members
params:
- name: group-id
value: ''
type: path
description: The unique identifier of the group (GUID).
- name: $top
value: ''
type: query
description: The number of items to return in a result set. Maximum value depends on the API.
- name: $skip
value: ''
type: query
description: The number of items to skip in the result set.
- name: $filter
value: ''
type: query
description: OData filter expression to restrict the set of items returned.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $count
value: ''
type: query
description: Include a count of the total number of items in a collection alongside the page of data values.
docs: Get a list of the group's direct members. A group can have users, organizational contacts, devices, service principals,
and other groups as members. Requires GroupMember.Read.All, Group.Read.All, or Directory.Read.All permission.
- info:
name: Microsoft Office 365 Add Group Member
type: http
http:
method: POST
url: https://graph.microsoft.com/v1.0/groups/:group-id/members/$ref
params:
- name: group-id
value: ''
type: path
description: The unique identifier of the group (GUID).
body:
type: json
data: '{}'
docs: Add a member to a Microsoft 365 group or a security group through the members navigation property. You can add users,
organizational contacts, service principals, or other groups. Requires GroupMember.ReadWrite.All, Group.ReadWrite.All,
or Directory.ReadWrite.All permission.
- info:
name: Microsoft Office 365 Remove Group Member
type: http
http:
method: DELETE
url: https://graph.microsoft.com/v1.0/groups/:group-id/members/:directoryObject-id/$ref
params:
- name: group-id
value: ''
type: path
description: The unique identifier of the group (GUID).
- name: directoryObject-id
value: '500123'
type: path
description: The unique identifier of the directory object (member) to remove.
docs: Remove a member from a group via the members navigation property. Requires GroupMember.ReadWrite.All, Group.ReadWrite.All,
or Directory.ReadWrite.All permission.
- info:
name: Mail
type: folder
items:
- info:
name: Microsoft Office 365 List Messages
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/me/messages
params:
- name: $top
value: ''
type: query
description: The number of items to return in a result set. Maximum value depends on the API.
- name: $skip
value: ''
type: query
description: The number of items to skip in the result set.
- name: $filter
value: ''
type: query
description: OData filter expression to restrict the set of items returned.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $orderby
value: ''
type: query
description: Comma-separated list of properties for sorting results.
- name: $search
value: ''
type: query
description: Search expression to filter results. Uses KQL syntax for directory objects.
- name: $count
value: ''
type: query
description: Include a count of the total number of items in a collection alongside the page of data values.
- name: $expand
value: ''
type: query
description: Comma-separated list of relationships to expand and include in the response.
docs: Get the messages in the signed-in user's mailbox (including Deleted Items and Clutter folders). Depending on the
page size and mailbox data, getting messages may incur multiple requests. The default page size is 10. Requires Mail.ReadBasic,
Mail.Read, or Mail.ReadWrite permission.
- info:
name: Microsoft Office 365 Create Draft Message
type: http
http:
method: POST
url: https://graph.microsoft.com/v1.0/me/messages
body:
type: json
data: '{}'
docs: Create a draft of a new message in the signed-in user's mailbox. The draft can then be updated and sent. The message
is saved in the Drafts folder by default. Requires Mail.ReadWrite permission.
- info:
name: Microsoft Office 365 Get Message
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/me/messages/:message-id
params:
- name: message-id
value: ''
type: path
description: The unique identifier of the message.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $expand
value: ''
type: query
description: Comma-separated list of relationships to expand and include in the response.
docs: Retrieve the properties and relationships of a message object. You can use $select to return specific properties
and $expand to expand relationships such as attachments. Requires Mail.ReadBasic, Mail.Read, or Mail.ReadWrite permission.
- info:
name: Microsoft Office 365 Update Message
type: http
http:
method: PATCH
url: https://graph.microsoft.com/v1.0/me/messages/:message-id
params:
- name: message-id
value: ''
type: path
description: The unique identifier of the message.
body:
type: json
data: '{}'
docs: Update the properties of a message object. Requires Mail.ReadWrite permission.
- info:
name: Microsoft Office 365 Delete Message
type: http
http:
method: DELETE
url: https://graph.microsoft.com/v1.0/me/messages/:message-id
params:
- name: message-id
value: ''
type: path
description: The unique identifier of the message.
docs: Delete a message in the signed-in user's mailbox. Requires Mail.ReadWrite permission.
- info:
name: Microsoft Office 365 Send Mail
type: http
http:
method: POST
url: https://graph.microsoft.com/v1.0/me/sendMail
body:
type: json
data: '{}'
docs: Send the message specified in the request body using either JSON or MIME format. The message is saved in the Sent
Items folder by default. You can include an attachment with the send action. Requires Mail.Send permission.
- info:
name: Microsoft Office 365 List Mail Folders
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/me/mailFolders
params:
- name: $top
value: ''
type: query
description: The number of items to return in a result set. Maximum value depends on the API.
- name: $skip
value: ''
type: query
description: The number of items to skip in the result set.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $filter
value: ''
type: query
description: OData filter expression to restrict the set of items returned.
docs: Get the mail folder collection directly under the root folder of the signed-in user. The returned collection includes
any mail search folders directly under the root. Requires Mail.ReadBasic, Mail.Read, or Mail.ReadWrite permission.
- info:
name: Microsoft Office 365 List Messages in Folder
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/me/mailFolders/:mailFolder-id/messages
params:
- name: mailFolder-id
value: '500123'
type: path
description: The unique identifier of the mail folder, or a well-known folder name (inbox, drafts, sentitems, deleteditems).
- name: $top
value: ''
type: query
description: The number of items to return in a result set. Maximum value depends on the API.
- name: $skip
value: ''
type: query
description: The number of items to skip in the result set.
- name: $filter
value: ''
type: query
description: OData filter expression to restrict the set of items returned.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $orderby
value: ''
type: query
description: Comma-separated list of properties for sorting results.
- name: $search
value: ''
type: query
description: Search expression to filter results. Uses KQL syntax for directory objects.
docs: Get the message collection in the specified mail folder. Requires Mail.ReadBasic, Mail.Read, or Mail.ReadWrite permission.
- info:
name: Calendar
type: folder
items:
- info:
name: Microsoft Office 365 List Events
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/me/events
params:
- name: $top
value: ''
type: query
description: The number of items to return in a result set. Maximum value depends on the API.
- name: $skip
value: ''
type: query
description: The number of items to skip in the result set.
- name: $filter
value: ''
type: query
description: OData filter expression to restrict the set of items returned.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $orderby
value: ''
type: query
description: Comma-separated list of properties for sorting results.
docs: Get the events in the signed-in user's default calendar or from a specified calendar. The list contains single instance
meetings and series masters. To get expanded event instances, you can get the calendar view or the instances of an event.
Requires Calendars.Read or Calendars.ReadWrite permission.
- info:
name: Microsoft Office 365 Create Event
type: http
http:
method: POST
url: https://graph.microsoft.com/v1.0/me/events
body:
type: json
data: '{}'
docs: Create an event in the signed-in user's default calendar or a specified calendar. By default, the allowNewTimeProposals
property is set to true when an event is created. Requires Calendars.ReadWrite permission.
- info:
name: Microsoft Office 365 Get Event
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/me/events/:event-id
params:
- name: event-id
value: ''
type: path
description: The unique identifier of the event.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $expand
value: ''
type: query
description: Comma-separated list of relationships to expand and include in the response.
docs: Get the properties and relationships of the specified event object. Returns the event body in HTML format by default.
Requires Calendars.Read or Calendars.ReadWrite permission.
- info:
name: Microsoft Office 365 Update Event
type: http
http:
method: PATCH
url: https://graph.microsoft.com/v1.0/me/events/:event-id
params:
- name: event-id
value: ''
type: path
description: The unique identifier of the event.
body:
type: json
data: '{}'
docs: Update the properties of an event object. Only the properties you specify are changed. Requires Calendars.ReadWrite
permission.
- info:
name: Microsoft Office 365 Delete Event
type: http
http:
method: DELETE
url: https://graph.microsoft.com/v1.0/me/events/:event-id
params:
- name: event-id
value: ''
type: path
description: The unique identifier of the event.
docs: Remove the specified event from the user's calendar. If the event is a meeting, deleting it on the organizer's calendar
sends a cancellation message to attendees. Requires Calendars.ReadWrite permission.
- info:
name: Microsoft Office 365 List Calendars
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/me/calendars
params:
- name: $top
value: ''
type: query
description: The number of items to return in a result set. Maximum value depends on the API.
- name: $skip
value: ''
type: query
description: The number of items to skip in the result set.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $filter
value: ''
type: query
description: OData filter expression to restrict the set of items returned.
docs: Get all the signed-in user's calendars from the default calendar group or from a specific calendar group. Requires
Calendars.Read or Calendars.ReadWrite permission.
- info:
name: Microsoft Office 365 Get Calendar View
type: http
http:
method: GET
url: https://graph.microsoft.com/v1.0/me/calendarView
params:
- name: startDateTime
value: '2026-01-15T10:30:00Z'
type: query
description: The start date and time of the time range, in ISO 8601 format (e.g. 2019-11-08T19:00:00-08:00).
- name: endDateTime
value: '2026-01-15T10:30:00Z'
type: query
description: The end date and time of the time range, in ISO 8601 format (e.g. 2019-11-08T20:00:00-08:00).
- name: $top
value: ''
type: query
description: The number of items to return in a result set. Maximum value depends on the API.
- name: $skip
value: ''
type: query
description: The number of items to skip in the result set.
- name: $select
value: ''
type: query
description: Comma-separated list of properties to include in the response.
- name: $filter
value: ''
type: query
description: OData filter expression to restrict the set of items returned.
- name: $orderby
value: ''
type: query
description: Comma-separated list of properties for sorting results.
docs: Get the occurrences, exceptions, and single instances of events in a calendar view defined by a time range, from
the user's default calendar or from a specified calendar. Requires Calendars.Read or Calendars.ReadWrite permission.
- info:
name: Microsoft Office 365 Accept Event
type: http
http:
method: POST
url: https://graph.microsoft.com/v1.0/me/events/:event-id/accept
params:
- name: event-id
value: ''
type: path
description: The unique identifier of the event.
body:
type: json
data: '{}'
docs: Accept the specified event in a user calendar. Requires Calendars.ReadWrite permission.
- info:
name: Microsoft Office 365 Decline Event
type: http
http:
method: POST
url: https://graph.microsoft.com/v1.0/me/events/:event-id/decline
params:
- name: event-id
value: ''
type: path
description: The unique identifier of the event.
body:
type: json
data: '{}'
docs: Decline invitation to the specified event in a user calendar. Requires Calendars.ReadWrite permission.
bundled: true