Microsoft Graph Mail API

Access Exchange Online mailboxes through the Microsoft Graph API, providing modern REST endpoints for reading, sending, and managing email messages, drafts, attachments, and mail folders.

OpenAPI Specification

microsoft-exchange-graph-mail-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Microsoft Exchange Microsoft Graph Mail API
  description: >-
    Access Exchange Online mailboxes through the Microsoft Graph API, providing
    modern REST endpoints for reading, sending, and managing email messages,
    drafts, attachments, and mail folders. Supports accessing data in users'
    primary mailboxes and shared mailboxes stored in the cloud on Exchange
    Online as part of Microsoft 365.
  version: 1.0.0
  contact:
    name: Microsoft Support
    url: https://support.microsoft.com
    email: [email protected]
  license:
    name: Microsoft API License
    url: https://www.microsoft.com/en-us/legal/terms-of-use
  x-date-modified: '2026-03-04'
servers:
  - url: https://graph.microsoft.com/v1.0
    description: Microsoft Graph v1.0 production endpoint
security:
  - oauth2: []
tags:
  - name: Attachments
    description: Operations for managing message attachments
  - name: Mail Folders
    description: Operations for managing mail folders
  - name: Messages
    description: Operations for managing email messages
paths:
  /me/messages:
    get:
      operationId: listMessages
      summary: Microsoft Exchange List messages
      description: >-
        Get all the messages in the signed-in user's mailbox including the
        Deleted Items and Clutter folders. Supports OData query parameters
        including $filter, $orderby, $select, $top, $skip, and $expand.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/TopParam'
        - $ref: '#/components/parameters/SkipParam'
        - $ref: '#/components/parameters/SelectParam'
        - $ref: '#/components/parameters/FilterParam'
        - $ref: '#/components/parameters/OrderByParam'
        - $ref: '#/components/parameters/SearchParam'
      responses:
        '200':
          description: Successfully retrieved messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageCollectionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      operationId: createDraftMessage
      summary: Microsoft Exchange Create draft message
      description: >-
        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.
      tags:
        - Messages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Message'
      responses:
        '201':
          description: Successfully created draft message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /me/messages/{message-id}:
    get:
      operationId: getMessage
      summary: Microsoft Exchange Get message
      description: >-
        Read properties and relationships of a message object. Supports
        $select query parameter to return specific properties.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
        - $ref: '#/components/parameters/SelectParam'
      responses:
        '200':
          description: Successfully retrieved message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateMessage
      summary: Microsoft Exchange Update message
      description: >-
        Update the properties of a message object. Only draft messages can
        have their body, subject, and other writable properties updated.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Message'
      responses:
        '200':
          description: Successfully updated message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteMessage
      summary: Microsoft Exchange Delete message
      description: >-
        Delete a message in the specified user's mailbox, or delete a
        relationship of the message. The message is moved to the Deleted
        Items folder.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      responses:
        '204':
          description: Successfully deleted message
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/send:
    post:
      operationId: sendDraftMessage
      summary: Microsoft Exchange Send draft message
      description: >-
        Send a previously created message draft. The message is then saved in
        the Sent Items folder. The draft message can be a new message draft,
        reply draft, reply-all draft, or a forward draft.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      responses:
        '202':
          description: Message accepted for sending
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/reply:
    post:
      operationId: replyToMessage
      summary: Microsoft Exchange Reply to message
      description: >-
        Reply to the sender of a message, add a comment, and send the reply.
        The message is then saved in the Sent Items folder.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  $ref: '#/components/schemas/Message'
                comment:
                  type: string
                  description: A comment to include with the reply
      responses:
        '202':
          description: Reply accepted for sending
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/replyAll:
    post:
      operationId: replyAllToMessage
      summary: Microsoft Exchange Reply all to message
      description: >-
        Reply to all recipients of a message, add a comment, and send the
        reply. The message is then saved in the Sent Items folder.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  $ref: '#/components/schemas/Message'
                comment:
                  type: string
                  description: A comment to include with the reply
      responses:
        '202':
          description: Reply-all accepted for sending
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/forward:
    post:
      operationId: forwardMessage
      summary: Microsoft Exchange Forward message
      description: >-
        Forward a message, add a comment, and send the forwarded message.
        The message is then saved in the Sent Items folder.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                toRecipients:
                  type: array
                  items:
                    $ref: '#/components/schemas/Recipient'
                  description: The recipients to forward the message to
                comment:
                  type: string
                  description: A comment to include with the forwarded message
              required:
                - toRecipients
      responses:
        '202':
          description: Forward accepted for sending
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/copy:
    post:
      operationId: copyMessage
      summary: Microsoft Exchange Copy message
      description: >-
        Copy a message to a specified folder. Returns the new copy of the
        message in the destination folder.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                destinationId:
                  type: string
                  description: The ID of the destination folder or a well-known folder name
              required:
                - destinationId
      responses:
        '201':
          description: Successfully copied message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/move:
    post:
      operationId: moveMessage
      summary: Microsoft Exchange Move message
      description: >-
        Move a message to a specified folder. This creates a new copy of the
        message in the destination folder and removes the original message.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                destinationId:
                  type: string
                  description: The ID of the destination folder or a well-known folder name
              required:
                - destinationId
      responses:
        '201':
          description: Successfully moved message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/createReply:
    post:
      operationId: createReplyDraft
      summary: Microsoft Exchange Create reply draft
      description: >-
        Create a draft of a reply message. You can then update the draft
        and send it.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  $ref: '#/components/schemas/Message'
                comment:
                  type: string
      responses:
        '201':
          description: Successfully created reply draft
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/createReplyAll:
    post:
      operationId: createReplyAllDraft
      summary: Microsoft Exchange Create reply-all draft
      description: >-
        Create a draft of a reply-all message. You can then update the
        draft and send it.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  $ref: '#/components/schemas/Message'
                comment:
                  type: string
      responses:
        '201':
          description: Successfully created reply-all draft
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/createForward:
    post:
      operationId: createForwardDraft
      summary: Microsoft Exchange Create forward draft
      description: >-
        Create a draft of a forward message. You can then update the draft
        to add recipients and content, and then send it.
      tags:
        - Messages
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                toRecipients:
                  type: array
                  items:
                    $ref: '#/components/schemas/Recipient'
                message:
                  $ref: '#/components/schemas/Message'
                comment:
                  type: string
      responses:
        '201':
          description: Successfully created forward draft
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/messages/{message-id}/attachments:
    get:
      operationId: listMessageAttachments
      summary: Microsoft Exchange List message attachments
      description: >-
        Retrieve a list of attachment objects attached to a message. Includes
        file attachments, item attachments, and reference attachments.
      tags:
        - Attachments
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
        - $ref: '#/components/parameters/SelectParam'
      responses:
        '200':
          description: Successfully retrieved attachments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentCollectionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: addMessageAttachment
      summary: Microsoft Exchange Add attachment to message
      description: >-
        Add a file, item, or reference attachment to a message. This operation
        limits the size of the attachment to 3 MB. For larger attachments, use
        the upload session approach.
      tags:
        - Attachments
      parameters:
        - $ref: '#/components/parameters/MessageIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Attachment'
      responses:
        '201':
          description: Successfully added attachment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attachment'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /me/sendMail:
    post:
      operationId: sendMail
      summary: Microsoft Exchange Send mail
      description: >-
        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 a file attachment in the same sendMail action call.
      tags:
        - Messages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  $ref: '#/components/schemas/Message'
                saveToSentItems:
                  type: boolean
                  description: Indicates whether to save the message in Sent Items
                  default: true
              required:
                - message
      responses:
        '202':
          description: Message accepted for sending
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /me/mailFolders:
    get:
      operationId: listMailFolders
      summary: Microsoft Exchange List mail folders
      description: >-
        Get all the mail folders in the signed-in user's mailbox, including
        any mail search folders. By default, hidden mail folders are not
        included. Use the includeHiddenFolders query parameter to include them.
      tags:
        - Mail Folders
      parameters:
        - $ref: '#/components/parameters/TopParam'
        - $ref: '#/components/parameters/SkipParam'
        - $ref: '#/components/parameters/SelectParam'
        - name: includeHiddenFolders
          in: query
          description: Include hidden mail folders in the response
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved mail folders
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailFolderCollectionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createMailFolder
      summary: Microsoft Exchange Create mail folder
      description: >-
        Create a new mail folder in the root folder of the user's mailbox.
      tags:
        - Mail Folders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MailFolder'
      responses:
        '201':
          description: Successfully created mail folder
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailFolder'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /me/mailFolders/{mailFolder-id}:
    get:
      operationId: getMailFolder
      summary: Microsoft Exchange Get mail folder
      description: >-
        Read the properties and relationships of a mail folder object.
      tags:
        - Mail Folders
      parameters:
        - $ref: '#/components/parameters/MailFolderIdParam'
        - $ref: '#/components/parameters/SelectParam'
      responses:
        '200':
          description: Successfully retrieved mail folder
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailFolder'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateMailFolder
      summary: Microsoft Exchange Update mail folder
      description: >-
        Update the properties of a mail folder object.
      tags:
        - Mail Folders
      parameters:
        - $ref: '#/components/parameters/MailFolderIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MailFolder'
      responses:
        '200':
          description: Successfully updated mail folder
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailFolder'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteMailFolder
      summary: Microsoft Exchange Delete mail folder
      description: >-
        Delete the specified mail folder. The folder is moved to the Deleted
        Items folder. To permanently delete a mail folder, use the
        permanentDelete action.
      tags:
        - Mail Folders
      parameters:
        - $ref: '#/components/parameters/MailFolderIdParam'
      responses:
        '204':
          description: Successfully deleted mail folder
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/mailFolders/{mailFolder-id}/messages:
    get:
      operationId: listMailFolderMessages
      summary: Microsoft Exchange List messages in mail folder
      description: >-
        Get all the messages in the specified mail folder of the signed-in
        user's mailbox.
      tags:
        - Mail Folders
        - Messages
      parameters:
        - $ref: '#/components/parameters/MailFolderIdParam'
        - $ref: '#/components/parameters/TopParam'
        - $ref: '#/components/parameters/SkipParam'
        - $ref: '#/components/parameters/SelectParam'
        - $ref: '#/components/parameters/FilterParam'
        - $ref: '#/components/parameters/OrderByParam'
      responses:
        '200':
          description: Successfully retrieved messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageCollectionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createMessageInFolder
      summary: Microsoft Exchange Create message in folder
      description: >-
        Create a new message in the specified mail folder.
      tags:
        - Mail Folders
        - Messages
      parameters:
        - $ref: '#/components/parameters/MailFolderIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Message'
      responses:
        '201':
          description: Successfully created message in folder
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /me/mailFolders/{mailFolder-id}/childFolders:
    get:
      operationId: listChildFolders
      summary: Microsoft Exchange List child folders
      description: >-
        Get the folder collection under the specified folder.
      tags:
        - Mail Folders
      parameters:
        - $ref: '#/components/parameters/MailFolderIdParam'
        - $ref: '#/components/parameters/TopParam'
        - $ref: '#/components/parameters/SkipParam'
      responses:
        '200':
          description: Successfully retrieved child folders
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailFolderCollectionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createChildFolder
      summary: Microsoft Exchange Create child folder
      description: >-
        Create a new child mail folder under the specified folder.
      tags:
        - Mail Folders
      parameters:
        - $ref: '#/components/parameters/MailFolderIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MailFolder'
      responses:
        '201':
          description: Successfully created child folder
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailFolder'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /me/mailFolders/{mailFolder-id}/copy:
    post:
      operationId: copyMailFolder
      summary: Microsoft Exchange Copy mail folder
      description: >-
        Copy a mail folder and its contents to another mail folder.
      tags:
        - Mail Folders
      parameters:
        - $ref: '#/components/parameters/MailFolderIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                destinationId:
                  type: string
                  description: The ID of the destination folder or a well-known folder name
              required:
                - destinationId
      responses:
        '200':
          description: Successfully copied mail folder
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailFolder'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /me/mailFolders/{mailFolder-id}/move:
    post:
      operationId: moveMailFolder
      summary: Microsoft Exchange Move mail folder
      description: >-
        Move a mail folder and its contents to another mail folder.
      tags:
        - Mail Folders
      parameters:
        - $ref: '#/components/parameters/MailFolderIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                destinationId:
                  type: string
                  description: The ID of the destination folder or a well-known folder name
              required:
                - destinationId
      responses:
        '200':
          description: Successfully moved mail folder
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailFolder'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization with Microsoft identity platform
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            Mail.Read: Read user mail
            Mail.ReadWrite: Read and write access to user mail
            Mail.Send: Send mail as a user
            Mail.ReadBasic: Read user basic mail
  parameters:
    MessageIdParam:
      name: message-id
      in: path
      required: true
      description: The unique identifier of the message
      schema:
        type: string
    MailFolderIdParam:
      name: mailFolder-id
      in: path
      required: true
      description: >-
        The unique identifier of the mail folder, or a well-known folder name
        such as inbox, drafts, sentitems, or deleteditems
      schema:
        type: string
    TopParam:
      name: $top
      in: query
      description: The number of items to return in a result set
      schema:
        type: integer
        minimum: 1
    SkipParam:
      name: $skip
      in: query
      description: The number of items to skip in a result set
      schema:
        type: integer
        minimum: 0
    SelectParam:
      name: $select
      in: query
      description: Comma-separated list of properties to include in the response
      schema:
        type: string
    FilterParam:
      name: $filter
      in: query
      description: OData filter expression to filter results
      schema:
        type: string
    OrderByParam:
      name: $orderby
      in: query
      description: Comma-separated list of properties to sort results by
      schema:
        type: string
    SearchParam:
      name: $search
      in: query
      description: Search string to filter results
      schema:
        type: string
  schemas:
    Message:
      type: object
      description: A message in a mailFolder
      properties:
        id:
          type: string
          readOnly: true
          description: Unique identifier for the message
        subject:
          type: string
          description: The subject of the message
        body:
          $ref: '#/components/schemas/ItemBody'
        bodyPreview:
          type: string
          readOnly: true
          description: The first 255 characters of the message body in text format
        from:
          $ref: '#/components/schemas/Recipient'
        sender:
          $ref: '#/components/schemas/Recipient'
        toRecipients:
          type: array
          items:
            $ref: '#/components/schemas/Recipient'
          description: 'The To: recipients for the message'
        ccRecipients:
          type: array
          items:
            $ref: '#/components/schemas/Recipient'
          description: 'The Cc: recipients for the message'
        bccRecipients:
          type: array
          items:
            $ref: '#/components/schemas/Recipient'
          description: 'The Bcc: recipients for the message'
        replyTo:
          type: array
          items:
            $ref: '#/components/schemas/Recipient'
          description: The email addresses to use when replying
        conversationId:
          type: string
          description: The ID of the conversation the email belongs to
        conversationIndex:
          type: string
          format: byte
          description: Indicates the position of the message within the conversation
        createdDateTime:
          type: string
          format: date-time
          readOnly: true
          description: The date and time the message was created in ISO 8601 UTC format
        lastModifiedDateTime:
          type: string
          format: date-time
          readOnly: true
          description: The date and time the message was last changed in ISO 8601 UTC format
        receivedDateTime:
          type: string
          format: date-time
          readOnly: true
          description: The date and time the message was received in ISO 8601 UTC format
        sentDateTime:
          type: string
          format: date-time
          readOnly: true
          description: The date and time the message was sent in ISO 8601 UTC format
        hasAttachments:
          type: boolean
          readOnly: true
          description: Indicates whether the message has attachments (excludes inline attachments)
        importance:
          type: string
          enum:
            - low
            - normal
            - high
          description: The importance of the message
        inferenceClassification:
          type: string
          enum:
            - focused
            - other
          description: >-
            The classification of the message for the user based on inferred
            relevance or importance
        internetMessageId:
          type: string
          description: The message ID in the format specified by RFC2822
        internetMessageHeaders:
          type: array
          items:
            $ref: '#/components/schemas/InternetMessageHeader'
          readOnly: true
          description: A collection of message headers defined by RFC5322
        isDeliveryReceiptRequested:
          type: boolean
          description: Indicates whether a delivery receipt is requested
        isDraft:
          type: boolean
          readOnly: true
          description: Indicates whether the message is a draft
        isRead:
          type: boolean
          description: Indicates whether the message has been read
        isReadReceiptRequested:
          type: boolean
         

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-exchange/refs/heads/main/openapi/microsoft-exchange-graph-mail-openapi.yml