---
title: "Update message"
method: PATCH
path: "/me/messages/{messageId}"
tags: ["me.message"]
---

# Update message

`PATCH /me/messages/{messageId}`

Update the properties of a message object. Only the properties listed in the request body will be updated.

## Request body

- MicrosoftGraphMessage
  - `@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
          - `dateTime` string — A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000)
          - `@odata.type` string
          - `timeZone` string, nullable — Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values
        - 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
          - `dateTime` string — A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000)
          - `@odata.type` string
          - `timeZone` string, nullable — Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values
        - 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
          - `dateTime` string — A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000)
          - `@odata.type` string
          - `timeZone` string, nullable — Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values
        - 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
          - `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
  - `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
          - `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
  - `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

## Response `2XX`

If successful, returns the updated message object. Unless, the message may not exist or the request body may be invalid.

- MicrosoftGraphMessage
  - `@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
          - `dateTime` string — A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000)
          - `@odata.type` string
          - `timeZone` string, nullable — Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values
        - 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
          - `dateTime` string — A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000)
          - `@odata.type` string
          - `timeZone` string, nullable — Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values
        - 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
          - `dateTime` string — A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000)
          - `@odata.type` string
          - `timeZone` string, nullable — Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values
        - 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
          - `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
  - `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
          - `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
  - `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

## 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)
