{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-chat-message-info-schema.json",
  "title": "microsoft.graph.chatMessageInfo",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-graph-chats-chatmessageinfo-api-openapi.yml#/components/schemas/microsoft.graph.chatMessageInfo",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "chatMessageInfo",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "body": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.itemBody"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Body of the chatMessage. This will still contain markers for @mentions and attachments even though the object doesn't return @mentions and attachments."
        },
        "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": "Date time object representing the time at which message was created.",
          "format": "date-time"
        },
        "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, members were added, and so on. For event messages, the messageType property is set to systemEventMessage."
        },
        "from": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.chatMessageFromIdentitySet"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Information about the sender of the message."
        },
        "isDeleted": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "If set to true, the original message has been deleted."
        },
        "messageType": {
          "$ref": "#/$defs/microsoft.graph.chatMessageType"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    }
  ],
  "x-ms-discriminator-value": "#microsoft.graph.chatMessageInfo",
  "$defs": {
    "microsoft.graph.bodyType": {
      "title": "bodyType",
      "enum": [
        "text",
        "html"
      ],
      "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.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",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.identity": {
      "title": "identity",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "displayName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The display name of the identity.For drive items, the display name might not always be available or up to date. For example, if a user changes their display name the API might show the new value in a future response, but the items associated with the user don't show up as changed when using delta."
        },
        "id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Unique identifier for the identity or actor. For example, in the access reviews decisions API, this property might record the id of the principal, that is, the group, user, or application that's subject to review."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.identitySet": {
      "title": "identitySet",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "application": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.identity"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Optional. The application associated with this action."
        },
        "device": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.identity"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Optional. The device associated with this action."
        },
        "user": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.identity"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Optional. The user associated with this action."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.itemBody": {
      "title": "itemBody",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "content": {
          "type": [
            "string",
            "null"
          ],
          "description": "The content of the item."
        },
        "contentType": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.bodyType"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "The type of the content. Possible values are text and html."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    }
  }
}