Microsoft Graph · Schema

microsoft.graph.chatMessage

Microsoft GraphAzure ADCollaborationContactsDocumentsEmailGraphIdentityMicrosoftOffice 365PresentationsProductivitySpreadsheetsT1Task

Properties

Name Type Description
id string The unique identifier for an entity. Read-only.
@odata.type string
attachments array References to attached objects like files, tabs, meetings etc.
body object
channelIdentity object If the message was sent in a channel, represents identity of the channel.
chatId stringnull If the message was sent in a chat, represents the identity of the chat.
createdDateTime stringnull Timestamp of when the chat message was created.
deletedDateTime stringnull Read only. Timestamp at which the chat message was deleted, or null if not deleted.
etag stringnull Read-only. Version number of the chat message.
eventDetail object Read-only. If present, represents details of an event that happened in a chat, a channel, or a team, for example, adding new members. For event messages, the messageType property will be set to system
from object Details of the sender of the chat message. Can only be set during migration.
importance object
lastEditedDateTime stringnull Read only. Timestamp when edits to the chat message were made. Triggers an 'Edited' flag in the Teams UI. If no edits are made the value is null.
lastModifiedDateTime stringnull Read only. Timestamp when the chat message is created (initial setting) or modified, including when a reaction is added or removed.
locale string Locale of the chat message set by the client. Always set to en-us.
mentions array List of entities mentioned in the chat message. Supported entities are: user, bot, team, channel, chat, and tag.
messageHistory array List of activity history of a message item, including modification time and actions, such as reactionAdded, reactionRemoved, or reaction changes, on the message.
messageType object
policyViolation object Defines the properties of a policy violation set by a data loss prevention (DLP) application.
reactions array Reactions for this chat message (for example, Like).
replyToId stringnull Read-only. ID of the parent chat message or root chat message of the thread. (Only applies to chat messages in channels, not chats.)
subject stringnull The subject of the chat message, in plaintext.
summary stringnull Summary text of the chat message that could be used for push notifications and summary views or fall back views. Only applies to channel chat messages, not chat messages in a chat.
webUrl stringnull Read-only. Link to the message in Microsoft Teams.
hostedContents array Content in a message hosted by Microsoft Teams - for example, images or code snippets.
replies array Replies for a specified message. Supports $expand for channel messages.
View JSON Schema on GitHub

JSON Schema

microsoft-graph-microsoft-graph-chat-message-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-chat-message-schema.json",
  "title": "microsoft.graph.chatMessage",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-graph-chats-chat-functions-api-openapi.yml#/components/schemas/microsoft.graph.chatMessage",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "chatMessage",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.chatMessageAttachment"
          },
          "description": "References to attached objects like files, tabs, meetings etc."
        },
        "body": {
          "$ref": "#/$defs/microsoft.graph.itemBody"
        },
        "channelIdentity": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.channelIdentity"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "If the message was sent in a channel, represents identity of the channel."
        },
        "chatId": {
          "type": [
            "string",
            "null"
          ],
          "description": "If the message was sent in a chat, represents the identity of the chat."
        },
        "createdDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "Timestamp of when the chat message was created.",
          "format": "date-time"
        },
        "deletedDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "Read only. Timestamp at which the chat message was deleted, or null if not deleted.",
          "format": "date-time"
        },
        "etag": {
          "type": [
            "string",
            "null"
          ],
          "description": "Read-only. Version number of the chat message."
        },
        "eventDetail": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.eventMessageDetail"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Read-only. If present, represents details of an event that happened in a chat, a channel, or a team, for example, adding new members. For event messages, the messageType property will be set to systemEventMessage."
        },
        "from": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.chatMessageFromIdentitySet"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Details of the sender of the chat message. Can only be set during migration."
        },
        "importance": {
          "$ref": "#/$defs/microsoft.graph.chatMessageImportance"
        },
        "lastEditedDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "Read only. Timestamp when edits to the chat message were made. Triggers an 'Edited' flag in the Teams UI. If no edits are made the value is null.",
          "format": "date-time"
        },
        "lastModifiedDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "Read only. Timestamp when the chat message is created (initial setting) or modified, including when a reaction is added or removed.",
          "format": "date-time"
        },
        "locale": {
          "type": "string",
          "description": "Locale of the chat message set by the client. Always set to en-us."
        },
        "mentions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.chatMessageMention"
          },
          "description": "List of entities mentioned in the chat message. Supported entities are: user, bot, team, channel, chat, and tag."
        },
        "messageHistory": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.chatMessageHistoryItem"
          },
          "description": "List of activity history of a message item, including modification time and actions, such as reactionAdded, reactionRemoved, or reaction changes, on the message."
        },
        "messageType": {
          "$ref": "#/$defs/microsoft.graph.chatMessageType"
        },
        "policyViolation": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolation"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Defines the properties of a policy violation set by a data loss prevention (DLP) application."
        },
        "reactions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.chatMessageReaction"
          },
          "description": "Reactions for this chat message (for example, Like)."
        },
        "replyToId": {
          "type": [
            "string",
            "null"
          ],
          "description": "Read-only. ID of the parent chat message or root chat message of the thread. (Only applies to chat messages in channels, not chats.)"
        },
        "subject": {
          "type": [
            "string",
            "null"
          ],
          "description": "The subject of the chat message, in plaintext."
        },
        "summary": {
          "type": [
            "string",
            "null"
          ],
          "description": "Summary text of the chat message that could be used for push notifications and summary views or fall back views. Only applies to channel chat messages, not chat messages in a chat."
        },
        "webUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "Read-only. Link to the message in Microsoft Teams."
        },
        "hostedContents": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.chatMessageHostedContent"
          },
          "description": "Content in a message hosted by Microsoft Teams - for example, images or code snippets.",
          "x-ms-navigationProperty": true
        },
        "replies": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.chatMessage"
          },
          "description": "Replies for a specified message. Supports $expand for channel messages.",
          "x-ms-navigationProperty": true
        },
        "@odata.type": {
          "type": "string"
        }
      }
    }
  ],
  "x-ms-discriminator-value": "#microsoft.graph.chatMessage",
  "$defs": {
    "microsoft.graph.bodyType": {
      "title": "bodyType",
      "enum": [
        "text",
        "html"
      ],
      "type": "string"
    },
    "microsoft.graph.channelIdentity": {
      "title": "channelIdentity",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "channelId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The identity of the channel in which the message was posted."
        },
        "teamId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The identity of the team in which the message was posted."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.chatMessage": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "chatMessage",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "attachments": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.chatMessageAttachment"
              },
              "description": "References to attached objects like files, tabs, meetings etc."
            },
            "body": {
              "$ref": "#/$defs/microsoft.graph.itemBody"
            },
            "channelIdentity": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.channelIdentity"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "If the message was sent in a channel, represents identity of the channel."
            },
            "chatId": {
              "type": [
                "string",
                "null"
              ],
              "description": "If the message was sent in a chat, represents the identity of the chat."
            },
            "createdDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "Timestamp of when the chat message was created.",
              "format": "date-time"
            },
            "deletedDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "Read only. Timestamp at which the chat message was deleted, or null if not deleted.",
              "format": "date-time"
            },
            "etag": {
              "type": [
                "string",
                "null"
              ],
              "description": "Read-only. Version number of the chat message."
            },
            "eventDetail": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.eventMessageDetail"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "Read-only. If present, represents details of an event that happened in a chat, a channel, or a team, for example, adding new members. For event messages, the messageType property will be set to systemEventMessage."
            },
            "from": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.chatMessageFromIdentitySet"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "Details of the sender of the chat message. Can only be set during migration."
            },
            "importance": {
              "$ref": "#/$defs/microsoft.graph.chatMessageImportance"
            },
            "lastEditedDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "Read only. Timestamp when edits to the chat message were made. Triggers an 'Edited' flag in the Teams UI. If no edits are made the value is null.",
              "format": "date-time"
            },
            "lastModifiedDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "Read only. Timestamp when the chat message is created (initial setting) or modified, including when a reaction is added or removed.",
              "format": "date-time"
            },
            "locale": {
              "type": "string",
              "description": "Locale of the chat message set by the client. Always set to en-us."
            },
            "mentions": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.chatMessageMention"
              },
              "description": "List of entities mentioned in the chat message. Supported entities are: user, bot, team, channel, chat, and tag."
            },
            "messageHistory": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.chatMessageHistoryItem"
              },
              "description": "List of activity history of a message item, including modification time and actions, such as reactionAdded, reactionRemoved, or reaction changes, on the message."
            },
            "messageType": {
              "$ref": "#/$defs/microsoft.graph.chatMessageType"
            },
            "policyViolation": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolation"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "Defines the properties of a policy violation set by a data loss prevention (DLP) application."
            },
            "reactions": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.chatMessageReaction"
              },
              "description": "Reactions for this chat message (for example, Like)."
            },
            "replyToId": {
              "type": [
                "string",
                "null"
              ],
              "description": "Read-only. ID of the parent chat message or root chat message of the thread. (Only applies to chat messages in channels, not chats.)"
            },
            "subject": {
              "type": [
                "string",
                "null"
              ],
              "description": "The subject of the chat message, in plaintext."
            },
            "summary": {
              "type": [
                "string",
                "null"
              ],
              "description": "Summary text of the chat message that could be used for push notifications and summary views or fall back views. Only applies to channel chat messages, not chat messages in a chat."
            },
            "webUrl": {
              "type": [
                "string",
                "null"
              ],
              "description": "Read-only. Link to the message in Microsoft Teams."
            },
            "hostedContents": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.chatMessageHostedContent"
              },
              "description": "Content in a message hosted by Microsoft Teams - for example, images or code snippets.",
              "x-ms-navigationProperty": true
            },
            "replies": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.chatMessage"
              },
              "description": "Replies for a specified message. Supports $expand for channel messages.",
              "x-ms-navigationProperty": true
            },
            "@odata.type": {
              "type": "string"
            }
          }
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.chatMessage"
    },
    "microsoft.graph.chatMessageActions": {
      "title": "chatMessageActions",
      "enum": [
        "reactionAdded",
        "reactionRemoved",
        "actionUndefined",
        "unknownFutureValue"
      ],
      "type": "string",
      "x-ms-enum-flags": {
        "isFlags": true
      }
    },
    "microsoft.graph.chatMessageAttachment": {
      "title": "chatMessageAttachment",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "content": {
          "type": [
            "string",
            "null"
          ],
          "description": "The content of the attachment. If the attachment is a rich card, set the property to the rich card object. This property and contentUrl are mutually exclusive."
        },
        "contentType": {
          "type": [
            "string",
            "null"
          ],
          "description": "The media type of the content attachment. The possible values are: reference: The attachment is a link to another file. Populate the contentURL with the link to the object.forwardedMessageReference: The attachment is a reference to a forwarded message. Populate the content with the original message context.Any contentType that is supported by the Bot Framework's Attachment object.application/vnd.microsoft.card.codesnippet: A code snippet. application/vnd.microsoft.card.announcement: An announcement header."
        },
        "contentUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "The URL for the content of the attachment."
        },
        "id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Read-only. The unique ID of the attachment."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "The name of the attachment."
        },
        "teamsAppId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The ID of the Teams app that is associated with the attachment. The property is used to attribute a Teams message card to the specified app."
        },
        "thumbnailUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "The URL to a thumbnail image that the channel can use if it supports using an alternative, smaller form of content or contentUrl. For example, if you set contentType to application/word and set contentUrl to the location of the Word document, you might include a thumbnail image that represents the document. The channel could display the thumbnail image instead of the document. When the user selects the image, the channel would open the document."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.chatMessageFromIdentitySet": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.identitySet"
        },
        {
          "title": "chatMessageFromIdentitySet",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "@odata.type": {
              "type": "string",
              "default": "#microsoft.graph.chatMessageFromIdentitySet"
            }
          }
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.chatMessageFromIdentitySet"
    },
    "microsoft.graph.chatMessageHistoryItem": {
      "title": "chatMessageHistoryItem",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "actions": {
          "$ref": "#/$defs/microsoft.graph.chatMessageActions"
        },
        "modifiedDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": "string",
          "description": "The date and time when the message was modified.",
          "format": "date-time"
        },
        "reaction": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.chatMessageReaction"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The reaction in the modified message."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.chatMessageHostedContent": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.teamworkHostedContent"
        },
        {
          "title": "chatMessageHostedContent",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "@odata.type": {
              "type": "string"
            }
          }
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.chatMessageHostedContent"
    },
    "microsoft.graph.chatMessageImportance": {
      "title": "chatMessageImportance",
      "enum": [
        "normal",
        "high",
        "urgent",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.chatMessageMention": {
      "title": "chatMessageMention",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Index of an entity being mentioned in the specified chatMessage. Matches the {index} value in the corresponding <at id='{index}'> tag in the message body.",
          "format": "int32"
        },
        "mentioned": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.chatMessageMentionedIdentitySet"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The entity (user, application, team, channel, or chat) that was @mentioned."
        },
        "mentionText": {
          "type": [
            "string",
            "null"
          ],
          "description": "String used to represent the mention. For example, a user's display name, a team name."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.chatMessageMentionedIdentitySet": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.identitySet"
        },
        {
          "title": "chatMessageMentionedIdentitySet",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "conversation": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.teamworkConversationIdentity"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "If present, represents a conversation (for example, team, channel, or chat) @mentioned in a message."
            },
            "@odata.type": {
              "type": "string",
              "default": "#microsoft.graph.chatMessageMentionedIdentitySet"
            }
          }
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.chatMessageMentionedIdentitySet"
    },
    "microsoft.graph.chatMessagePolicyViolation": {
      "title": "chatMessagePolicyViolation",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "dlpAction": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolationDlpActionTypes"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The action taken by the DLP provider on the message with sensitive content. Supported values are: NoneNotifySender -- Inform the sender of the violation but allow readers to read the message.BlockAccess -- Block readers from reading the message.BlockAccessExternal -- Block users outside the organization from reading the message, while allowing users within the organization to read the message."
        },
        "justificationText": {
          "type": [
            "string",
            "null"
          ],
          "description": "Justification text provided by the sender of the message when overriding a policy violation."
        },
        "policyTip": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolationPolicyTip"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Information to display to the message sender about why the message was flagged as a violation."
        },
        "userAction": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolationUserActionTypes"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Indicates the action taken by the user on a message blocked by the DLP provider. Supported values are: NoneOverrideReportFalsePositiveWhen the DLP provider is updating the message for blocking sensitive content, userAction isn't required."
        },
        "verdictDetails": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolationVerdictDetailsTypes"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Indicates what actions the sender may take in response to the policy violation. Supported values are: NoneAllowFalsePositiveOverride -- Allows the sender to declare the policyViolation to be an error in the DLP app and its rules, and allow readers to see the message again if the dlpAction hides it.AllowOverrideWithoutJustification -- Allows the sender to override the DLP violation and allow readers to see the message again if the dlpAction hides it, without needing to provide an explanation for doing so. AllowOverrideWithJustification -- Allows the sender to override the DLP violation and allow readers to see the message again if the dlpAction hides it, after providing an explanation for doing so.AllowOverrideWithoutJustification and AllowOverrideWithJustification are mutually exclusive."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.chatMessagePolicyViolationDlpActionTypes": {
      "title": "chatMessagePolicyViolationDlpActionTypes",
      "enum": [
        "none",
        "notifySender",
        "blockAccess",
        "blockAccessExternal"
      ],
      "type": "string",
      "x-ms-enum-flags": {
        "isFlags": true
      }
    },
    "microsoft.graph.chatMessagePolicyViolationPolicyTip": {
      "title": "chatMessagePolicyViolationPolicyTip",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "complianceUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "The URL a user can visit to read about the data loss prevention policies for the organization. (ie, policies about what users shouldn't say in chats)"
        },
        "generalText": {
          "type": [
            "string",
            "null"
          ],
          "description": "Explanatory text shown to the sender of the message."
        },
        "matchedConditionDescriptions": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": "The list of improper data in the message that was detected by the data loss prevention app. Each DLP app defines its own conditions, examples include 'Credit Card Number' and 'Social Security Number'."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.chatMessagePolicyViolationUserActionTypes": {
      "title": "chatMessagePolicyViolationUserActionTypes",
      "enum": [
        "none",
        "override",
        "reportFalsePositive"
      ],
      "type": "string",
      "x-ms-enum-flags": {
        "isFlags": true
      }
    },
    "microsoft.graph.chatMessagePolicyViolationVerdictDetailsTypes": {
      "title": "chatMessagePolicyViolationVerdictDetailsTypes",
      "enum": [
        "none",
        "allowFalsePositiveOverride",
        "allowOverrideWithoutJustification",
        "allowOverrideWithJustification"
      ],
      "type": "string",
      "x-ms-enum-flags": {
        "isFlags": true
      }
    },
    "microsoft.graph.chatMessageReaction": {
      "title": "chatMessageReaction",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "createdDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": "string",
          "description": "The timestamp type represents date and time information using ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.",
          "format": "date-time"
        },
        "displayName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The name of the reaction."
        },
        "reactionContentUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "The hosted content URL for the custom reaction type."
        },
        "reactionType": {
          "type": "string",
          "description": "The reaction type. Supported values include Unicode characters, custom, and some backward-compatible reaction types, such as like, angry, sad, laugh, heart, and surprised."
        },
        "user": {
          "$ref": "#/$defs/microsoft.graph.chatMessageReactionIdentitySet"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.chatMessageReactionIdentitySet": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.identitySet"
        },
        {
          "title": "chatMessageReactionIdentitySet",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "@odata.type": {
              "type": "string",
              "default": "#microsoft.graph.chatMessageReactionIdentitySet"
            }
          }
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.chatMessageReactionIdentitySet"
    },
    "microsoft.graph.chatMessageType": {
      "title": "chatMessageType",
      "enum": [
        "message",
        "chatEvent",
        "typing",
        "unknownFutureValue",
        "systemEventMessage"
      ],
      "type": "string"
    },
    "microsoft.graph.entity": {
      "title": "entity",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.eventMessageDetail": {
      "title": "eventMessageDetail",
 

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-chat-message-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-graph-microsoft-graph-chat-message"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.