Microsoft Outlook website screenshot

Microsoft Outlook

Microsoft Outlook is a personal information manager and email client that is part of the Microsoft Office suite. It provides email, calendar, contact management, task management, and other productivity features.

10 APIs 10 Features
CalendarContactsEmailEnterpriseMicrosoftOffice 365Productivity

APIs

Microsoft Graph Mail API

API for accessing Outlook email messages, folders, and mail settings through Microsoft Graph.

Microsoft Graph Calendar API

API for accessing Outlook calendar events, calendars, and meeting scheduling through Microsoft Graph.

Microsoft Graph Contacts API

API for accessing Outlook contacts and contact folders through Microsoft Graph.

Microsoft Graph Tasks API

API for accessing Outlook tasks and to-do items through Microsoft Graph.

Outlook Add-ins API

JavaScript API for building Outlook add-ins that extend Outlook functionality with custom features, using the Office.js library and the Mailbox requirement set.

Microsoft Graph People API

API for accessing people data relevant to the user, aggregating information from contacts, social networks, organization directory, and recent communications.

Microsoft Graph Change Notifications API

API for subscribing to changes in Outlook resources including mail, calendar events, and contacts via webhooks, enabling real-time notifications.

Microsoft Graph Focused Inbox API

API for managing Focused Inbox overrides and message classification, allowing applications to control how incoming messages are categorized between Focused and Other tabs.

Microsoft Graph Mail Rules API

API for managing Outlook inbox rules that automatically process incoming messages based on conditions, enabling actions like moving messages to folders, assigning categories, an...

Microsoft Graph Categories API

API for managing Outlook categories, allowing applications to create, read, update, and delete categories in a user's master category list for organizing messages, events, and c...

Collections

Arazzo Workflows

Microsoft Outlook Archive Copy of a Message

Create an archive folder, copy a message into it, and read the copy back.

ARAZZO

Microsoft Outlook Build Folder Tree and Seed Draft

Create a parent folder, a child subfolder, and a seed draft inside the child.

ARAZZO

Microsoft Outlook Compose, Attach, and Send

Create a draft message, attach a file to it, and send the finished draft.

ARAZZO

Microsoft Outlook Draft, Refine, and Send

Create a draft, refine its body and importance, then send the polished draft.

ARAZZO

Microsoft Outlook File Message into New Folder

Create a mail folder, find a matching message, and move it into the folder.

ARAZZO

Microsoft Outlook Find and Forward

Find a message by subject, read it, then forward it to a new recipient.

ARAZZO

Microsoft Outlook Inspect and Remove Attachment

Find a message with attachments, inspect the first one, and delete it.

ARAZZO

Microsoft Outlook Large Attachment Upload Session

Draft a message and open an upload session for a large (3-150 MB) attachment.

ARAZZO

Microsoft Outlook Reorganize Folder

Create a destination folder, find a source folder by name, and move it under the destination.

ARAZZO

Microsoft Outlook Reply Draft with Attachment

Create a reply draft for a message, attach a file, and send the reply.

ARAZZO

Microsoft Outlook Review Folder and Mark Read

Open a mail folder, list its unread messages, and mark the top one as read.

ARAZZO

Microsoft Outlook Triage and Reply

List the newest messages, read the top one in full, and reply to its sender.

ARAZZO

Pricing Plans

Rate Limits

Microsoft Outlook Rate Limits

7 limits

RATE LIMITS

FinOps

Features

Email management with full CRUD operations on messages
Calendar scheduling with meeting invitations and RSVPs
Contact management across personal and organizational directories
Task and to-do list management
Focused Inbox classification and mail rules
Real-time change notifications via webhooks
Rich attachment handling with large file support
Categories for organizing messages, events, and contacts
People insights aggregated across multiple sources
Outlook add-in extensibility via Office.js

Use Cases

Building email client integrations and automation workflows
Scheduling meetings and managing calendars programmatically
Syncing contacts between systems
Creating automated email processing pipelines
Building productivity dashboards with mail and calendar data
Extending Outlook with custom add-ins

Integrations

Microsoft Teams
Microsoft Power Automate
Microsoft Power Apps
SharePoint
OneDrive
Azure Active Directory
Microsoft To Do

Event Specifications

Microsoft Outlook Change Notifications

AsyncAPI specification for Microsoft Graph change notifications (webhooks) for Outlook mail resources. Enables real-time event-driven architecture by subscribing to changes in m...

ASYNCAPI

Semantic Vocabularies

Microsoft Graph Mail Context

0 classes · 0 properties

JSON-LD

Microsoft Outlook Context

0 classes · 13 properties

JSON-LD

API Governance Rules

Microsoft Outlook API Rules

7 rules · 7 errors

SPECTRAL

JSON Structure

Microsoft Graph Mail Attachment Structure

10 properties

JSON STRUCTURE

Microsoft Graph Mail Email Address Structure

2 properties

JSON STRUCTURE

Microsoft Graph Mail Followup Flag Structure

1 properties

JSON STRUCTURE

Microsoft Graph Mail Item Body Structure

2 properties

JSON STRUCTURE

Microsoft Graph Mail Mail Folder Structure

7 properties

JSON STRUCTURE

Microsoft Graph Mail Message Structure

27 properties

JSON STRUCTURE

Microsoft Graph Mail O Data Error Structure

1 properties

JSON STRUCTURE

Microsoft Graph Mail Recipient Structure

0 properties

JSON STRUCTURE

Microsoft Graph Mail Upload Session Structure

3 properties

JSON STRUCTURE

Example Payloads

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
Portal
Portal
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
🔑
Authentication
Authentication
📦
SDKs
SDKs
📄
ChangeLog
ChangeLog
🔗
APIReference
APIReference
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
📝
Signup
Signup
🔗
Login
Login
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
💬
Support
Support
🟢
StatusPage
StatusPage
👥
StackOverflow
StackOverflow
🚀
GettingStarted
GettingStarted
🎓
Training
Training

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Microsoft Outlook Microsoft Graph Mail API
  version: 1.0.0
request:
  auth:
    type: oauth2
    flow: authorization_code
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
    accessTokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
    credentials:
      clientId: '{{clientId}}'
      clientSecret: '{{clientSecret}}'
items:
- info:
    name: Messages
    type: folder
  items:
  - info:
      name: Microsoft Outlook List Messages
      type: http
    http:
      method: GET
      url: https://graph.microsoft.com/v1.0/me/messages
      params:
      - name: $top
        value: ''
        type: query
        description: Sets the page size of results.
      - name: $skip
        value: ''
        type: query
        description: Number of items to skip for pagination.
      - 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 filter results.
      - name: $orderby
        value: ''
        type: query
        description: Comma-separated list of properties to sort results by.
      - name: $count
        value: ''
        type: query
        description: Include count of the matching resources.
      - name: $search
        value: ''
        type: query
        description: Search string to filter results.
    docs: Get all the messages in the signed-in user's mailbox including the Deleted Items and Clutter folders. Supports OData
      query parameters including $filter, $select, $top, $skip, $orderby, and $count.
  - info:
      name: Microsoft Outlook 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 message is saved in the Drafts folder. You
      can then update or send the draft.
  - info:
      name: Microsoft Outlook 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.
    docs: Read the properties and relationships of a message object. Supports $select and $expand query parameters. Use $select=internetMessageHeaders
      to get custom internet message headers.
  - info:
      name: Microsoft Outlook 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. Only draft messages can have their toRecipients, ccRecipients, bccRecipients,
      subject, body, and other content properties updated. Sent messages can have isRead and categories updated.
  - info:
      name: Microsoft Outlook 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 specified user's mailbox. The message is moved to the Deleted Items folder.
  - info:
      name: Microsoft Outlook Send Draft Message
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/send
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
    docs: Send a previously created message draft. The message is then saved in the Sent Items folder.
  - info:
      name: Microsoft Outlook Copy Message
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/copy
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Copy a message to a folder within the user's mailbox.
  - info:
      name: Microsoft Outlook Move Message
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/move
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Move a message to a different folder within the user's mailbox. This creates a new copy of the message in the destination
      folder and removes the original message.
  - info:
      name: Microsoft Outlook Reply to Message
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/reply
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Reply to the sender of a message using either JSON or MIME format. The message is then saved in the Sent Items folder.
  - info:
      name: Microsoft Outlook Reply All to Message
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/replyAll
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Reply to all recipients of a message. The message is then saved in the Sent Items folder.
  - info:
      name: Microsoft Outlook Forward Message
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/forward
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Forward a message. The message is then saved in the Sent Items folder.
  - info:
      name: Microsoft Outlook Create Draft to Forward Message
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/createForward
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Create a draft of the forward message. You can then update or send the draft.
  - info:
      name: Microsoft Outlook Create Draft to Reply
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/createReply
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Create a draft of the reply message. You can then update or send the draft.
  - info:
      name: Microsoft Outlook Create Draft to Reply All
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/createReplyAll
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Create a draft of the reply-all message. You can then update or send the draft.
  - info:
      name: Microsoft Outlook 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.
- info:
    name: Mail Folders
    type: folder
  items:
  - info:
      name: Microsoft Outlook List Mail Folders
      type: http
    http:
      method: GET
      url: https://graph.microsoft.com/v1.0/me/mailFolders
      params:
      - name: $top
        value: ''
        type: query
        description: Sets the page size of results.
      - name: $skip
        value: ''
        type: query
        description: Number of items to skip for pagination.
      - 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 filter results.
      - name: includeHiddenFolders
        value: example_value
        type: query
        description: Include hidden mail folders in the response.
    docs: Get all the mail folders in the specified user's mailbox, including any mail search folders. Use the includeHiddenFolders
      query parameter to include hidden folders.
  - info:
      name: Microsoft Outlook Create Mail Folder
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/mailFolders
      body:
        type: json
        data: '{}'
    docs: Create a new mail folder in the root folder of the user's mailbox.
  - info:
      name: Microsoft Outlook Get Mail Folder
      type: http
    http:
      method: GET
      url: https://graph.microsoft.com/v1.0/me/mailFolders/:mailFolder-id
      params:
      - name: mailFolder-id
        value: ''
        type: path
        description: The unique identifier of the mail folder, or a well-known folder name such as inbox, drafts, sentitems,
          deleteditems, archive, junkemail, or outbox.
      - name: $select
        value: ''
        type: query
        description: Comma-separated list of properties to include in the response.
    docs: Read the properties and relationships of a mail folder object.
  - info:
      name: Microsoft Outlook Update Mail Folder
      type: http
    http:
      method: PATCH
      url: https://graph.microsoft.com/v1.0/me/mailFolders/:mailFolder-id
      params:
      - name: mailFolder-id
        value: ''
        type: path
        description: The unique identifier of the mail folder, or a well-known folder name such as inbox, drafts, sentitems,
          deleteditems, archive, junkemail, or outbox.
      body:
        type: json
        data: '{}'
    docs: Update the properties of a mail folder object.
  - info:
      name: Microsoft Outlook Delete Mail Folder
      type: http
    http:
      method: DELETE
      url: https://graph.microsoft.com/v1.0/me/mailFolders/:mailFolder-id
      params:
      - name: mailFolder-id
        value: ''
        type: path
        description: The unique identifier of the mail folder, or a well-known folder name such as inbox, drafts, sentitems,
          deleteditems, archive, junkemail, or outbox.
    docs: Delete the specified mail folder. The folder can be a mailSearchFolder.
  - info:
      name: Microsoft Outlook List Child Folders
      type: http
    http:
      method: GET
      url: https://graph.microsoft.com/v1.0/me/mailFolders/:mailFolder-id/childFolders
      params:
      - name: mailFolder-id
        value: ''
        type: path
        description: The unique identifier of the mail folder, or a well-known folder name such as inbox, drafts, sentitems,
          deleteditems, archive, junkemail, or outbox.
      - name: $top
        value: ''
        type: query
        description: Sets the page size of results.
      - name: $skip
        value: ''
        type: query
        description: Number of items to skip for pagination.
    docs: Get the folder collection under the specified folder.
  - info:
      name: Microsoft Outlook Create Child Folder
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/mailFolders/:mailFolder-id/childFolders
      params:
      - name: mailFolder-id
        value: ''
        type: path
        description: The unique identifier of the mail folder, or a well-known folder name such as inbox, drafts, sentitems,
          deleteditems, archive, junkemail, or outbox.
      body:
        type: json
        data: '{}'
    docs: Create a new child mail folder under the specified folder.
  - info:
      name: Microsoft Outlook 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: ''
        type: path
        description: The unique identifier of the mail folder, or a well-known folder name such as inbox, drafts, sentitems,
          deleteditems, archive, junkemail, or outbox.
      - name: $top
        value: ''
        type: query
        description: Sets the page size of results.
      - name: $skip
        value: ''
        type: query
        description: Number of items to skip for pagination.
      - 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 filter results.
      - name: $orderby
        value: ''
        type: query
        description: Comma-separated list of properties to sort results by.
    docs: Get all the messages in the specified mail folder.
  - info:
      name: Microsoft Outlook Create Message in Folder
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/mailFolders/:mailFolder-id/messages
      params:
      - name: mailFolder-id
        value: ''
        type: path
        description: The unique identifier of the mail folder, or a well-known folder name such as inbox, drafts, sentitems,
          deleteditems, archive, junkemail, or outbox.
      body:
        type: json
        data: '{}'
    docs: Create a new message draft in the specified mail folder.
  - info:
      name: Microsoft Outlook Copy Mail Folder
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/mailFolders/:mailFolder-id/copy
      params:
      - name: mailFolder-id
        value: ''
        type: path
        description: The unique identifier of the mail folder, or a well-known folder name such as inbox, drafts, sentitems,
          deleteditems, archive, junkemail, or outbox.
      body:
        type: json
        data: '{}'
    docs: Copy a mail folder and its contents to another mail folder.
  - info:
      name: Microsoft Outlook Move Mail Folder
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/mailFolders/:mailFolder-id/move
      params:
      - name: mailFolder-id
        value: ''
        type: path
        description: The unique identifier of the mail folder, or a well-known folder name such as inbox, drafts, sentitems,
          deleteditems, archive, junkemail, or outbox.
      body:
        type: json
        data: '{}'
    docs: Move a mail folder and its contents to another mail folder.
- info:
    name: Attachments
    type: folder
  items:
  - info:
      name: Microsoft Outlook List Attachments
      type: http
    http:
      method: GET
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/attachments
      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: $filter
        value: ''
        type: query
        description: OData filter expression to filter results.
    docs: Retrieve a list of attachment objects attached to a message.
  - info:
      name: Microsoft Outlook Add Attachment
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/attachments
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Add a file, item, or link attachment to a message. This operation limits the size of the attachment to under 3 MB.
      For larger files (3 MB to 150 MB), use the upload session endpoint.
  - info:
      name: Microsoft Outlook Get Attachment
      type: http
    http:
      method: GET
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/attachments/:attachment-id
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      - name: attachment-id
        value: ''
        type: path
        description: The unique identifier of the attachment.
      - name: $select
        value: ''
        type: query
        description: Comma-separated list of properties to include in the response.
    docs: Read the properties, relationships, or raw contents of an attachment attached to a message.
  - info:
      name: Microsoft Outlook Delete Attachment
      type: http
    http:
      method: DELETE
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/attachments/:attachment-id
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      - name: attachment-id
        value: ''
        type: path
        description: The unique identifier of the attachment.
    docs: Delete an attachment from a message.
  - info:
      name: Microsoft Outlook Create Upload Session for Large Attachment
      type: http
    http:
      method: POST
      url: https://graph.microsoft.com/v1.0/me/messages/:message-id/attachments/createUploadSession
      params:
      - name: message-id
        value: ''
        type: path
        description: The unique identifier of the message.
      body:
        type: json
        data: '{}'
    docs: Create an upload session that allows an app to iteratively upload ranges of a file to attach it to a message. The
      file size must be between 3 MB and 150 MB.
bundled: true