{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ad/json-schema/azure-ad-microsoft-graph-conversation-thread-schema.json",
  "title": "microsoft.graph.conversationThread",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azure-ad-groups-conversation-api-openapi.yml#/components/schemas/microsoft.graph.conversationThread",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "conversationThread",
      "type": "object",
      "properties": {
        "ccRecipients": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.recipient"
          },
          "description": "The Cc: recipients for the thread. Requires $select to retrieve."
        },
        "hasAttachments": {
          "type": "boolean",
          "description": "Indicates whether any of the posts within this thread has at least one attachment. Returned by default."
        },
        "isLocked": {
          "type": "boolean",
          "description": "Indicates if the thread is locked. Returned by default."
        },
        "lastDeliveredDateTime": {
          "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 time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.Returned by default.",
          "format": "date-time"
        },
        "preview": {
          "type": "string",
          "description": "A short summary from the body of the latest post in this conversation. Returned by default."
        },
        "topic": {
          "type": "string",
          "description": "The topic of the conversation. This property can be set when the conversation is created, but it cannot be updated. Returned by default."
        },
        "toRecipients": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.recipient"
          },
          "description": "The To: recipients for the thread. Requires $select to retrieve."
        },
        "uniqueSenders": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "All the users that sent a message to this thread. Returned by default."
        },
        "posts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.post"
          },
          "x-ms-navigationProperty": true
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  ],
  "$defs": {
    "microsoft.graph.attachment": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "attachment",
          "type": "object",
          "properties": {
            "contentType": {
              "type": [
                "string",
                "null"
              ],
              "description": "The MIME type."
            },
            "isInline": {
              "type": "boolean",
              "description": "true if the attachment is an inline attachment; otherwise, false."
            },
            "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": "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",
              "format": "date-time"
            },
            "name": {
              "type": [
                "string",
                "null"
              ],
              "description": "The attachment's file name."
            },
            "size": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "number",
              "description": "The length of the attachment in bytes.",
              "format": "int32"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.bodyType": {
      "title": "bodyType",
      "enum": [
        "text",
        "html"
      ],
      "type": "string"
    },
    "microsoft.graph.emailAddress": {
      "title": "emailAddress",
      "type": "object",
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ],
          "description": "The email address of the person or entity."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "The display name of the person or entity."
        }
      },
      "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.extension": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "extension",
          "type": "object",
          "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.multiValueLegacyExtendedProperty": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "multiValueLegacyExtendedProperty",
          "type": "object",
          "properties": {
            "value": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "A collection of property values."
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.outlookItem": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "outlookItem",
          "type": "object",
          "properties": {
            "categories": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "The categories associated with the item"
            },
            "changeKey": {
              "type": [
                "string",
                "null"
              ],
              "description": "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."
            },
            "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": "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",
              "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": "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",
              "format": "date-time"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.post": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.outlookItem"
        },
        {
          "title": "post",
          "type": "object",
          "properties": {
            "body": {
              "$ref": "#/$defs/microsoft.graph.itemBody"
            },
            "conversationId": {
              "type": [
                "string",
                "null"
              ],
              "description": "Unique ID of the conversation. Read-only."
            },
            "conversationThreadId": {
              "type": [
                "string",
                "null"
              ],
              "description": "Unique ID of the conversation thread. Read-only."
            },
            "from": {
              "$ref": "#/$defs/microsoft.graph.recipient"
            },
            "hasAttachments": {
              "type": "boolean",
              "description": "Indicates whether the post has at least one attachment. This is a default property."
            },
            "newParticipants": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.recipient"
              },
              "description": "Conversation participants that were added to the thread as part of this post."
            },
            "receivedDateTime": {
              "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": "Specifies when the post was received. The DateTimeOffset 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",
              "format": "date-time"
            },
            "sender": {
              "$ref": "#/$defs/microsoft.graph.recipient"
            },
            "attachments": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.attachment"
              },
              "description": "Read-only. Nullable. Supports $expand.",
              "x-ms-navigationProperty": true
            },
            "extensions": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.extension"
              },
              "description": "The collection of open extensions defined for the post. Read-only. Nullable. Supports $expand.",
              "x-ms-navigationProperty": true
            },
            "inReplyTo": {
              "$ref": "#/$defs/microsoft.graph.post"
            },
            "multiValueExtendedProperties": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.multiValueLegacyExtendedProperty"
              },
              "description": "The collection of multi-value extended properties defined for the post. Read-only. Nullable.",
              "x-ms-navigationProperty": true
            },
            "singleValueExtendedProperties": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.singleValueLegacyExtendedProperty"
              },
              "description": "The collection of single-value extended properties defined for the post. Read-only. Nullable.",
              "x-ms-navigationProperty": true
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.recipient": {
      "title": "recipient",
      "type": "object",
      "properties": {
        "emailAddress": {
          "$ref": "#/$defs/microsoft.graph.emailAddress"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.singleValueLegacyExtendedProperty": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "singleValueLegacyExtendedProperty",
          "type": "object",
          "properties": {
            "value": {
              "type": [
                "string",
                "null"
              ],
              "description": "A property value."
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    }
  }
}