message: forward

Namespace: microsoft.graph


APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

Forward a message, add a comment or modify any updateable properties
all in one forward call. The message is saved in the Sent Items folder.

Alternatively, you can first create a draft forward message to include a comment or update any message properties, and then send the draft message.


  • You can specify either a comment or the body property of the message parameter. Specifying both will return an HTTP 400 Bad Request error.
  • You must specify either the toRecipients parameter or the toRecipients property of the message parameter. Specifying both or specifying neither will return an HTTP 400 Bad Request error.


One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Mail.Send
Delegated (personal Microsoft account) Mail.Send
Application Mail.Send

HTTP request

POST /me/messages/{id}/forward
POST /users/{id | userPrincipalName}/messages/{id}/forward
POST /me/mailFolders/{id}/messages/{id}/forward
POST /users/{id | userPrincipalName}/mailFolders/{id}/messages/{id}/forward

Request headers

Name Type Description
Authorization string Bearer {token}. Required.
Content-Type string Nature of the data in the body of an entity. Required.

Request body

In the request body, provide a JSON object with the following parameters.

Parameter Type Description
comment String A comment to include. Can be an empty string.
toRecipients recipient collection The list of recipients.
message message Any writeable properties to update in the reply message.


If successful, this method returns 202 Accepted response code. It does not return anything in the response body.


The following example sets the isDeliveryReceiptRequested property to true, adds a comment and forwards the message.


Here is an example of the request.

Content-Type: application/json

    "isDeliveryReceiptRequested": true,
        "emailAddress": {
          "name":"Dana Swope"
  "comment": "Dana, just want to make sure you get this." 

Here is an example of the response.

HTTP/1.1 202 Accepted