message: reply

Namespace: microsoft.graph.

Important

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.

Reply to the sender of a message using either JSON or MIME format.

When using JSON format:

  • Specify either a comment or the body property of the message parameter. Specifying both will return an HTTP 400 Bad Request error.
  • If the original message specifies a recipient in the replyTo property, per Internet Message Format (RFC 2822), send the reply to the recipients in replyTo and not the recipient in the from property.

When using MIME format:

  • Provide the applicable Internet message headers and the MIME content, all encoded in base64 format in the request body.
  • Add any attachments and S/MIME properties to the MIME content.

This method saves the message in the Sent Items folder.

Alternatively, create a draft to reply to a message, and send it later.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet

Permissions

Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) Mail.Send Not available.
Delegated (personal Microsoft account) Mail.Send Not available.
Application Mail.Send Not available.

HTTP request

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

Request headers

Name Type Description
Authorization string Bearer {token}. Required
Content-Type string Nature of the data in the body of an entity. Required
Use application/json for a JSON object and text/plain for MIME content
Prefer: outlook.timezone string Sets the time zone for the Sent field of the reply message in HTML that this API creates based on the request body. The value can be any of the supportedTimeZones configured for the user. If not specified, that Sent field is in UTC.

Use this header only if you're specifying the Content-Type: application/json header to create the reply message in HTML. If you use the Content-Type: text/plain header, this Prefer header does not have any effect. Optional.

Request body

When using JSON format, include a JSON object with the following parameters.

Parameter Type Description
comment String A comment to include. Can be an empty string.
message message Any writeable properties to update in the reply message.

When specifying the body in MIME format, provide the MIME content with the applicable Internet message headers, all encoded in base64 format in the request body. This method uses the sender of the original message as recipient.

Response

If successful, this method returns a 202 Accepted response code. It doesn't return anything in the response body.

If the request body includes malformed MIME content, this method returns a 400 Bad Request response code and the following error message: "Invalid base64 string for MIME content".

Examples

Example 1: Reply to a message in JSON format

The following example includes a comment and adds a recipient to the reply message.

Request

The following example shows a request.

POST https://graph.microsoft.com/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-Type: application/json

{
  "message":{
    "toRecipients":[
      {
        "emailAddress": {
          "address":"samanthab@contoso.com",
          "name":"Samantha Booth"
        }
      },
      {
        "emailAddress":{
          "address":"randiw@contoso.com",
          "name":"Randi Welch"
        }
      }
     ]
  },
  "comment": "Samantha, Randi, would you name the group please?"
}

Response

The following example shows the response.

HTTP/1.1 202 Accepted

Example 2: Reply to a message in MIME format

Request

The following example shows a request.

POST https://graph.microsoft.com/v1.0/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-Type: text/plain

UmVjZWl2ZWQ6IGZyb20gY29udG9zby5jb20gKDEwLjE5NC4yNDEuMTk3KSBieSAKY29udG9zby5jb20gKDEwLjE5NC4yNDEuMTk3KSB3aXRoIE1pY3Jvc29mdCAKU01UUCBTZXJ2ZXIgKHZlcnNpb249VExTMV8yLCAKY2lwaGVyPVRMU19FQ0RIRV9SU0FfV0lUSF9BRVNfMjU2X0NCQ19TSEEzODRfUDI1NikgaW

Response

The following example shows the response.

HTTP/1.1 202 Accepted

If the request body includes malformed MIME content, this method returns the following error message.

HTTP/1.1 400 Bad Request
Content-type: application/json

{
    "error": {
        "code": "ErrorMimeContentInvalidBase64String",
        "message": "Invalid base64 string for MIME content."
    }
}