{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/microsoft.graph.chatMessageAttachment",
  "title": "chatMessageAttachment",
  "required": [
    "@odata.type"
  ],
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "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.",
      "nullable": true
    },
    "contentType": {
      "type": "string",
      "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.",
      "nullable": true
    },
    "contentUrl": {
      "type": "string",
      "description": "The URL for the content of the attachment.",
      "nullable": true
    },
    "id": {
      "type": "string",
      "description": "Read-only. The unique ID of the attachment.",
      "nullable": true
    },
    "name": {
      "type": "string",
      "description": "The name of the attachment.",
      "nullable": true
    },
    "teamsAppId": {
      "type": "string",
      "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.",
      "nullable": true
    },
    "thumbnailUrl": {
      "type": "string",
      "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.",
      "nullable": true
    },
    "@odata.type": {
      "type": "string"
    }
  }
}