Microsoft 365 · Schema
microsoft.graph.chat
ProductivityCollaborationEmailCalendarFileIdentityMicrosoftMicrosoft Graph
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier for an entity. Read-only. |
| chatType | object | |
| createdDateTime | stringnull | Date and time at which the chat was created. Read-only. |
| isHiddenForAllMembers | booleannull | Indicates whether the chat is hidden for all its members. Read-only. |
| lastUpdatedDateTime | stringnull | Date and time at which the chat was renamed or the list of members was last changed. Read-only. |
| migrationMode | object | |
| onlineMeetingInfo | object | |
| originalCreatedDateTime | stringnull | Timestamp of the original creation time for the chat. The value is null if the chat never entered migration mode. |
| tenantId | stringnull | The identifier of the tenant in which the chat was created. Read-only. |
| topic | stringnull | (Optional) Subject or topic for the chat. Only available for group chats. |
| viewpoint | object | |
| webUrl | stringnull | The URL for the chat in Microsoft Teams. The URL should be treated as an opaque blob, and not parsed. Read-only. |
| installedApps | array | A collection of all the apps in the chat. Nullable. |
| lastMessagePreview | object | |
| members | array | A collection of all the members in the chat. Nullable. |
| messages | array | A collection of all the messages in the chat. Nullable. |
| permissionGrants | array | A collection of permissions granted to apps for the chat. |
| pinnedMessages | array | A collection of all the pinned messages in the chat. Nullable. |
| tabs | array | A collection of all the tabs in the chat. Nullable. |
| targetedMessages | array | A collection of targeted messages in the chat that are visible only to specific users. Nullable. You can't expand this relationship using $expand. Targeted messages can also be retrieved via the userT |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/microsoft-365/json-schema/microsoft-365-microsoft-graph-chat-schema.json",
"title": "microsoft.graph.chat",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/microsoft-365-teams-api-openapi.yml#/components/schemas/microsoft.graph.chat",
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "chat",
"type": "object",
"properties": {
"chatType": {
"$ref": "#/$defs/microsoft.graph.chatType"
},
"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 and time at which the chat was created. Read-only.",
"format": "date-time"
},
"isHiddenForAllMembers": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the chat is hidden for all its members. Read-only."
},
"lastUpdatedDateTime": {
"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 and time at which the chat was renamed or the list of members was last changed. Read-only.",
"format": "date-time"
},
"migrationMode": {
"$ref": "#/$defs/microsoft.graph.migrationMode"
},
"onlineMeetingInfo": {
"$ref": "#/$defs/microsoft.graph.teamworkOnlineMeetingInfo"
},
"originalCreatedDateTime": {
"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 the original creation time for the chat. The value is null if the chat never entered migration mode.",
"format": "date-time"
},
"tenantId": {
"type": [
"string",
"null"
],
"description": "The identifier of the tenant in which the chat was created. Read-only."
},
"topic": {
"type": [
"string",
"null"
],
"description": "(Optional) Subject or topic for the chat. Only available for group chats."
},
"viewpoint": {
"$ref": "#/$defs/microsoft.graph.chatViewpoint"
},
"webUrl": {
"type": [
"string",
"null"
],
"description": "The URL for the chat in Microsoft Teams. The URL should be treated as an opaque blob, and not parsed. Read-only."
},
"installedApps": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.teamsAppInstallation"
},
"description": "A collection of all the apps in the chat. Nullable.",
"x-ms-navigationProperty": true
},
"lastMessagePreview": {
"$ref": "#/$defs/microsoft.graph.chatMessageInfo"
},
"members": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.conversationMember"
},
"description": "A collection of all the members in the chat. Nullable.",
"x-ms-navigationProperty": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.chatMessage"
},
"description": "A collection of all the messages in the chat. Nullable.",
"x-ms-navigationProperty": true
},
"permissionGrants": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.resourceSpecificPermissionGrant"
},
"description": "A collection of permissions granted to apps for the chat.",
"x-ms-navigationProperty": true
},
"pinnedMessages": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.pinnedChatMessageInfo"
},
"description": "A collection of all the pinned messages in the chat. Nullable.",
"x-ms-navigationProperty": true
},
"tabs": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.teamsTab"
},
"description": "A collection of all the tabs in the chat. Nullable.",
"x-ms-navigationProperty": true
},
"targetedMessages": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.targetedChatMessage"
},
"description": "A collection of targeted messages in the chat that are visible only to specific users. Nullable. You can't expand this relationship using $expand. Targeted messages can also be retrieved via the userTeamwork: getAllTargetedMessages API.",
"x-ms-navigationProperty": true
}
},
"additionalProperties": {
"type": "object"
}
}
],
"$defs": {
"microsoft.graph.bodyType": {
"title": "bodyType",
"enum": [
"text",
"html"
],
"type": "string"
},
"microsoft.graph.channelIdentity": {
"title": "channelIdentity",
"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."
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.chatMessage": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "chatMessage",
"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": {
"$ref": "#/$defs/microsoft.graph.channelIdentity"
},
"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": {
"$ref": "#/$defs/microsoft.graph.eventMessageDetail"
},
"from": {
"$ref": "#/$defs/microsoft.graph.chatMessageFromIdentitySet"
},
"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": {
"$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolation"
},
"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
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.chatMessageActions": {
"title": "chatMessageActions",
"enum": [
"reactionAdded",
"reactionRemoved",
"actionUndefined",
"unknownFutureValue"
],
"type": "string",
"x-ms-enum-flags": {
"isFlags": true
}
},
"microsoft.graph.chatMessageAttachment": {
"title": "chatMessageAttachment",
"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."
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.chatMessageFromIdentitySet": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.identitySet"
},
{
"title": "chatMessageFromIdentitySet",
"type": "object",
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.chatMessageHistoryItem": {
"title": "chatMessageHistoryItem",
"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": {
"$ref": "#/$defs/microsoft.graph.chatMessageReaction"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.chatMessageHostedContent": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.teamworkHostedContent"
},
{
"title": "chatMessageHostedContent",
"type": "object",
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.chatMessageImportance": {
"title": "chatMessageImportance",
"enum": [
"normal",
"high",
"urgent",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.chatMessageInfo": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "chatMessageInfo",
"type": "object",
"properties": {
"body": {
"$ref": "#/$defs/microsoft.graph.itemBody"
},
"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": {
"$ref": "#/$defs/microsoft.graph.eventMessageDetail"
},
"from": {
"$ref": "#/$defs/microsoft.graph.chatMessageFromIdentitySet"
},
"isDeleted": {
"type": [
"boolean",
"null"
],
"description": "If set to true, the original message has been deleted."
},
"messageType": {
"$ref": "#/$defs/microsoft.graph.chatMessageType"
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.chatMessageMention": {
"title": "chatMessageMention",
"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": {
"$ref": "#/$defs/microsoft.graph.chatMessageMentionedIdentitySet"
},
"mentionText": {
"type": [
"string",
"null"
],
"description": "String used to represent the mention. For example, a user's display name, a team name."
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.chatMessageMentionedIdentitySet": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.identitySet"
},
{
"title": "chatMessageMentionedIdentitySet",
"type": "object",
"properties": {
"conversation": {
"$ref": "#/$defs/microsoft.graph.teamworkConversationIdentity"
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.chatMessagePolicyViolation": {
"title": "chatMessagePolicyViolation",
"type": "object",
"properties": {
"dlpAction": {
"$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolationDlpActionTypes"
},
"justificationText": {
"type": [
"string",
"null"
],
"description": "Justification text provided by the sender of the message when overriding a policy violation."
},
"policyTip": {
"$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolationPolicyTip"
},
"userAction": {
"$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolationUserActionTypes"
},
"verdictDetails": {
"$ref": "#/$defs/microsoft.graph.chatMessagePolicyViolationVerdictDetailsTypes"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.chatMessagePolicyViolationDlpActionTypes": {
"title": "chatMessagePolicyViolationDlpActionTypes",
"enum": [
"none",
"notifySender",
"blockAccess",
"blockAccessExternal"
],
"type": "string",
"x-ms-enum-flags": {
"isFlags": true
}
},
"microsoft.graph.chatMessagePolicyViolationPolicyTip": {
"title": "chatMessagePolicyViolationPolicyTip",
"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'."
}
},
"additionalProperties": {
"type": "object"
}
},
"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",
"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"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.chatMessageReactionIdentitySet": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.identitySet"
},
{
"title": "chatMessageReactionIdentitySet",
"type": "object",
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.chatMessageType": {
"title": "chatMessageType",
"enum": [
"message",
"chatEvent",
"typing",
"unknownFutureValue",
"systemEventMessage"
],
"type": "string"
},
"microsoft.graph.chatType": {
"title": "chatType",
"enum": [
"oneOnOne",
"group",
"meeting",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.chatViewpoint": {
"title": "chatViewpoint",
"type": "object",
"properties": {
"isHidden": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the chat is hidden for the current user."
},
"lastMessageReadDateTime": {
"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": "Represents the dateTime up until which the current user has read chatMessages in a specific chat.",
"format": "date-time"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.conversationMember": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "conversationMember",
"type": "object",
"properties": {
"displayName": {
"type": [
"string",
"null"
],
"description": "The display name of the user."
},
"roles": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "The roles for that user. This property contains more qualifiers only when relevant - for example, if the member has owner privileges, the roles property contains owner as one of the values. Similarly, if the member is an in-tenant guest, the roles property contains guest as one of the values. A basic member shouldn't have any values specified in the roles property. An Out-of-tenant external member is assigned the owner role."
},
"visibleHistoryStartDateTime": {
"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": "The timestamp denoting how far back a conversation's history is shared with the conversation member. This property is settable only for members of a chat.",
"format": "date-time"
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.directoryObject": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "directoryObject",
"type": "object",
"properties": {
"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": "Date and time when this object was deleted. Always null when the object hasn't been deleted.",
"format": "date-time"
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.entity": {
"title": "entity",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for an entity. Read-only."
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.eventMessageDetail": {
"title": "eventMessageDetail",
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.identity": {
"title": "identity",
"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."
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.identitySet": {
"title": "identitySet",
"type": "object",
"properties": {
"application": {
"$ref": "#/$defs/microsoft.graph.identity"
},
"device": {
"$ref": "#/$defs/microsoft.graph.identity"
},
"user": {
"$ref": "#/$defs/microsoft.graph.identity"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.itemBody": {
"title": "itemBody",
"type": "object",
"properties": {
"content": {
"type": [
"string",
"null"
],
"description": "The content of the item."
},
"contentType": {
"$ref": "#/$defs/microsoft.graph.bodyType"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.migrationMode": {
"title": "migrationMode",
"enum": [
"inProgress",
"completed",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.pinnedChatMessageInfo": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "pinnedChatMessageInfo",
"type": "object",
"properties": {
"message": {
"$ref": "#/$defs/microsoft.graph.chatMessage"
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.resourceSpecificPermissionGrant": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.directoryObject"
},
{
"title": "resourceSpecificPermissionGrant",
"type": "object",
"properties": {
"clientAppId": {
"type": [
"string",
"null"
],
"description": "ID of the service principal of the Microsoft Entra app that has been granted access. Read-only."
},
"clientId": {
"type": [
"string",
"null"
],
"description": "ID of the Microsoft Entra app that has been granted access. Read-only."
},
"permission": {
"type": [
"string",
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://artifacts.apis.io/microsoft-365/json-schema/microsoft-365-microsoft-graph-chat-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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-365-microsoft-graph-chat"
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.