Microsoft Exchange · Schema

Microsoft Exchange Message

Represents an email message in a user's mailbox as exposed through the Microsoft Graph Mail API. A message is contained within a mail folder and supports operations such as send, reply, forward, and delete.

CalendarCollaborationContactsEmailEnterprise

Properties

Name Type Description
id string Unique identifier for the message. By default, this value changes when the item is moved from one container to another.
subject string The subject of the message
body object The body of the message in HTML or text format
bodyPreview string The first 255 characters of the message body in text format
from object The owner of the mailbox from which the message is sent
sender object The account used to generate the message
toRecipients array The To: recipients for the message
ccRecipients array The Cc: recipients for the message
bccRecipients array The Bcc: recipients for the message
replyTo array The email addresses to use when replying
conversationId string The ID of the conversation the email belongs to
conversationIndex string Indicates the position of the message within the conversation
createdDateTime string The date and time the message was created in ISO 8601 UTC format
lastModifiedDateTime string The date and time the message was last changed
receivedDateTime string The date and time the message was received
sentDateTime string The date and time the message was sent
hasAttachments boolean Indicates whether the message has attachments (excludes inline attachments)
importance string The importance of the message
inferenceClassification string The classification of the message based on inferred relevance or importance
internetMessageId string The message ID in the format specified by RFC2822
internetMessageHeaders array A collection of message headers defined by RFC5322
isDeliveryReceiptRequested boolean Indicates whether a delivery receipt is requested
isDraft boolean Indicates whether the message is a draft
isRead boolean Indicates whether the message has been read
isReadReceiptRequested boolean Indicates whether a read receipt is requested
parentFolderId string The unique identifier for the message's parent mailFolder
webLink string The URL to open the message in Outlook on the web
flag object The follow-up flag status for the message
categories array The categories associated with the message
changeKey string The version of the message
uniqueBody object The part of the body unique to the current message
View JSON Schema on GitHub

JSON Schema

microsoft-exchange-message-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/microsoft-exchange/json-schema/microsoft-exchange-message-schema.json",
  "title": "Microsoft Exchange Message",
  "description": "Represents an email message in a user's mailbox as exposed through the Microsoft Graph Mail API. A message is contained within a mail folder and supports operations such as send, reply, forward, and delete.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the message. By default, this value changes when the item is moved from one container to another.",
      "readOnly": true
    },
    "subject": {
      "type": "string",
      "description": "The subject of the message"
    },
    "body": {
      "$ref": "#/$defs/itemBody",
      "description": "The body of the message in HTML or text format"
    },
    "bodyPreview": {
      "type": "string",
      "description": "The first 255 characters of the message body in text format",
      "maxLength": 255,
      "readOnly": true
    },
    "from": {
      "$ref": "#/$defs/recipient",
      "description": "The owner of the mailbox from which the message is sent"
    },
    "sender": {
      "$ref": "#/$defs/recipient",
      "description": "The account used to generate the message"
    },
    "toRecipients": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/recipient"
      },
      "description": "The To: recipients for the message"
    },
    "ccRecipients": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/recipient"
      },
      "description": "The Cc: recipients for the message"
    },
    "bccRecipients": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/recipient"
      },
      "description": "The Bcc: recipients for the message"
    },
    "replyTo": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/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",
      "contentEncoding": "base64",
      "description": "Indicates the position of the message within the conversation"
    },
    "createdDateTime": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the message was created in ISO 8601 UTC format",
      "readOnly": true
    },
    "lastModifiedDateTime": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the message was last changed",
      "readOnly": true
    },
    "receivedDateTime": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the message was received",
      "readOnly": true
    },
    "sentDateTime": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the message was sent",
      "readOnly": true
    },
    "hasAttachments": {
      "type": "boolean",
      "description": "Indicates whether the message has attachments (excludes inline attachments)",
      "readOnly": true
    },
    "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 based on inferred relevance or importance"
    },
    "internetMessageId": {
      "type": "string",
      "description": "The message ID in the format specified by RFC2822"
    },
    "internetMessageHeaders": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/internetMessageHeader"
      },
      "description": "A collection of message headers defined by RFC5322",
      "readOnly": true
    },
    "isDeliveryReceiptRequested": {
      "type": "boolean",
      "description": "Indicates whether a delivery receipt is requested"
    },
    "isDraft": {
      "type": "boolean",
      "description": "Indicates whether the message is a draft",
      "readOnly": true
    },
    "isRead": {
      "type": "boolean",
      "description": "Indicates whether the message has been read"
    },
    "isReadReceiptRequested": {
      "type": "boolean",
      "description": "Indicates whether a read receipt is requested"
    },
    "parentFolderId": {
      "type": "string",
      "description": "The unique identifier for the message's parent mailFolder",
      "readOnly": true
    },
    "webLink": {
      "type": "string",
      "format": "uri",
      "description": "The URL to open the message in Outlook on the web",
      "readOnly": true
    },
    "flag": {
      "$ref": "#/$defs/followupFlag",
      "description": "The follow-up flag status for the message"
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The categories associated with the message"
    },
    "changeKey": {
      "type": "string",
      "description": "The version of the message",
      "readOnly": true
    },
    "uniqueBody": {
      "$ref": "#/$defs/itemBody",
      "description": "The part of the body unique to the current message"
    }
  },
  "required": ["subject"],
  "$defs": {
    "recipient": {
      "type": "object",
      "description": "Represents an email recipient",
      "properties": {
        "emailAddress": {
          "$ref": "#/$defs/emailAddress"
        }
      }
    },
    "emailAddress": {
      "type": "object",
      "description": "The name and email address of a person or entity",
      "properties": {
        "name": {
          "type": "string",
          "description": "The display name of the person or entity"
        },
        "address": {
          "type": "string",
          "format": "email",
          "description": "The email address"
        }
      }
    },
    "itemBody": {
      "type": "object",
      "description": "Represents the body content",
      "properties": {
        "contentType": {
          "type": "string",
          "enum": ["text", "html"],
          "description": "The type of the content"
        },
        "content": {
          "type": "string",
          "description": "The content of the body"
        }
      }
    },
    "internetMessageHeader": {
      "type": "object",
      "description": "A key-value pair representing an Internet message header defined by RFC5322",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the message header"
        },
        "value": {
          "type": "string",
          "description": "The value of the message header"
        }
      }
    },
    "followupFlag": {
      "type": "object",
      "description": "Follow-up flag on a message",
      "properties": {
        "completedDateTime": {
          "$ref": "#/$defs/dateTimeTimeZone"
        },
        "dueDateTime": {
          "$ref": "#/$defs/dateTimeTimeZone"
        },
        "startDateTime": {
          "$ref": "#/$defs/dateTimeTimeZone"
        },
        "flagStatus": {
          "type": "string",
          "enum": ["notFlagged", "complete", "flagged"],
          "description": "The status of the follow-up flag"
        }
      }
    },
    "dateTimeTimeZone": {
      "type": "object",
      "description": "Describes a date, time, and time zone",
      "properties": {
        "dateTime": {
          "type": "string",
          "description": "A date and time combined in ISO 8601 format"
        },
        "timeZone": {
          "type": "string",
          "description": "A time zone name (e.g. Pacific Standard Time)"
        }
      }
    }
  }
}