---
title: "Forward message"
method: POST
path: "/me/messages/{messageId}/forward"
tags: ["me.message"]
---

# Forward message

`POST /me/messages/{messageId}/forward`

Forward a message using either JSON or MIME format. When using JSON format, you can specify either a comment or the body property of the message parameter. This method saves the message in the Sent Items folder.

## Request body

- MessageIdForwardBody
  - `Comment` string, nullable — A comment to include when forwarding the message. Can be an empty string
  - `Message` union — A writeable message object to add content or modify recipients when forwarding the message
    - object
      - `@odata.type` string
      - `id` string — The unique identifier for an entity. Read-only
      - `changeKey` string, nullable — Identifies the version of the item. Every time the item is changed, changeKey changes as well. This allows Exchange to apply changes to the correct version of the object. Read-only
      - `lastModifiedDateTime` string, date-time, nullable — The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      - `createdDateTime` string, date-time, nullable — The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      - `categories` string[] — The categories associated with the item
      - `flag` union — Indicates the status, start date, due date, or completion date for the message
        - MicrosoftGraphFollowupFlag
          - `startDateTime` union — The date and time that the follow-up is to begin
            - MicrosoftGraphDateTimeTimeZone
              - …
            - object, nullable
          - `dueDateTime` union — The date and time that the follow-up is to be finished. Note: To set the due date, you must also specify the startDateTime; otherwise, you get a 400 Bad Request response
            - MicrosoftGraphDateTimeTimeZone
              - …
            - object, nullable
          - `flagStatus` union — The status for follow-up for an item. Possible values are notFlagged, complete, and flagged
            - 'notFlagged' | 'complete' | 'flagged'
            - object, nullable
          - `@odata.type` string
          - `completedDateTime` union — The date and time that the follow-up was finished
            - MicrosoftGraphDateTimeTimeZone
              - …
            - object, nullable
        - object, nullable
      - `attachments` MicrosoftGraphAttachment[] — The fileAttachment and itemAttachment attachments for the message
        - `@odata.type` string
        - `id` string — The unique identifier for an entity. Read-only
        - `lastModifiedDateTime` string, date-time, nullable — The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
        - `size` number — The length of the attachment in bytes
        - `name` string, nullable — The attachment's file name
        - `isInline` boolean — true if the attachment is an inline attachment; otherwise, false
        - `contentType` string, nullable — The MIME type
        - `contentBytes` string, base64url, nullable — The base64-encoded contents of the file attachment. Required only for file attachments
      - `parentFolderId` string, nullable — The unique identifier for the message's parent mailFolder
      - `importance` union — The importance of the message. The possible values are: low, normal, and high
        - 'low' | 'normal' | 'high'
        - object, nullable
      - `subject` string, nullable — The subject of the message
      - `webLink` string, nullable — The URL to open the message in Outlook on the web
      - `isDraft` boolean, nullable — Indicates whether the message is a draft. A message is a draft if it hasn't been sent yet
      - `isRead` boolean, nullable — Indicates whether the message has been read
      - `bodyPreview` string, nullable — The first 255 characters of the message body. It is in text format
      - `body` union — The body of the message. It can be in HTML or text format. Find out about safe HTML in a message body
        - MicrosoftGraphItemBody
          - `@odata.type` string
          - `contentType` union — The type of the content. Possible values are text and html
            - 'text' | 'html'
            - object, nullable
          - `content` string, nullable — The content of the item
        - object, nullable
      - `inferenceClassification` union — The classification of the message for the user, based on inferred relevance or importance, or on an explicit override
        - 'focused' | 'other'
        - object, nullable
      - `internetMessageId` string, nullable — The message ID in the format specified by RFC2822
      - `toRecipients` MicrosoftGraphRecipient[] — The To: recipients for the message
        - `emailAddress` union — The recipient's email address
          - MicrosoftGraphEmailAddress
            - `address` string, nullable — The email address of the person or entity
            - `@odata.type` string
            - `name` string, nullable — The display name of the person or entity
          - object, nullable
        - `@odata.type` string
      - `isReadReceiptRequested` boolean, nullable — Indicates whether a read receipt is requested for the message
      - `from` union — The owner of the mailbox from which the message is sent. In most cases, this value is the same as the sender property, except for sharing or delegation scenarios
        - MicrosoftGraphRecipient
          - `emailAddress` union — The recipient's email address
            - MicrosoftGraphEmailAddress
              - …
            - object, nullable
          - `@odata.type` string
        - object, nullable
      - `uniqueBody` union — The part of the body of the message that is unique to the current message. uniqueBody is not returned by default but can be retrieved with $select=uniqueBody
        - MicrosoftGraphItemBody
          - `@odata.type` string
          - `contentType` union — The type of the content. Possible values are text and html
            - 'text' | 'html'
            - object, nullable
          - `content` string, nullable — The content of the item
        - object, nullable
      - `hasAttachments` boolean, nullable — Indicates whether the message has attachments. This property doesn't include inline attachments, so if a message contains only inline attachments, this property is false
      - `sentDateTime` string, date-time, nullable — The date and time the message was sent. The date and time information uses ISO 8601 format and is always in UTC time
      - `conversationIndex` string, base64url, nullable — Indicates the position of the message within the conversation
      - `conversationId` string, nullable — The ID of the conversation the email belongs to
      - `internetMessageHeaders` MicrosoftGraphInternetMessageHeader[] — A collection of message headers defined by RFC5322. The set includes message headers indicating the network path taken by a message from the sender to the recipient
        - `@odata.type` string
        - `name` string, nullable — Represents the key in a key-value pair
        - `value` string, nullable — The value in a key-value pair
      - `receivedDateTime` string, date-time, nullable — The date and time the message was received. The date and time information uses ISO 8601 format and is always in UTC time
      - `extensions` MicrosoftGraphExtension[] — The collection of open extensions defined for the message. Nullable
        - `@odata.type` string
        - `id` string — The unique identifier for an entity. Read-only
      - `sender` union — The account that is used to generate the message. In most cases, this value is the same as the from property
        - MicrosoftGraphRecipient
          - `emailAddress` union — The recipient's email address
            - MicrosoftGraphEmailAddress
              - …
            - object, nullable
          - `@odata.type` string
        - object, nullable
      - `bccRecipients` MicrosoftGraphRecipient[] — The Bcc: recipients for the message
        - `emailAddress` union — The recipient's email address
          - MicrosoftGraphEmailAddress
            - `address` string, nullable — The email address of the person or entity
            - `@odata.type` string
            - `name` string, nullable — The display name of the person or entity
          - object, nullable
        - `@odata.type` string
      - `ccRecipients` MicrosoftGraphRecipient[] — The Cc: recipients for the message
        - `emailAddress` union — The recipient's email address
          - MicrosoftGraphEmailAddress
            - `address` string, nullable — The email address of the person or entity
            - `@odata.type` string
            - `name` string, nullable — The display name of the person or entity
          - object, nullable
        - `@odata.type` string
      - `isDeliveryReceiptRequested` boolean, nullable — Indicates whether a read receipt is requested for the message
      - `replyTo` MicrosoftGraphRecipient[] — The email addresses to use when replying
        - `emailAddress` union — The recipient's email address
          - MicrosoftGraphEmailAddress
            - `address` string, nullable — The email address of the person or entity
            - `@odata.type` string
            - `name` string, nullable — The display name of the person or entity
          - object, nullable
        - `@odata.type` string
    - object, nullable
  - `ToRecipients` MicrosoftGraphRecipient[] — The list of recipients of the forwarded message
    - `emailAddress` union — The recipient's email address
      - MicrosoftGraphEmailAddress
        - `address` string, nullable — The email address of the person or entity
        - `@odata.type` string
        - `name` string, nullable — The display name of the person or entity
      - object, nullable
    - `@odata.type` string

## Response `204`

If successful, the message is forwarded and no content is returned. Unless, the recipients may be invalid or the message may not exist.

## Other responses

- `4XX` — error
- `5XX` — error

---

[API](https://skmtc.net/ballerina-platform/apis/microsoft-graph-mail-api.md) · [All operations](https://skmtc.net/ballerina-platform/apis/microsoft-graph-mail-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ballerina-platform/microsoft-graph-mail-api/versions/af62694b9f2d/schema)
