*This schema defines the Thread entity. A Thread is a collection of posts made by the users. The first post that starts a thread is **about** a data asset **from** a user. Other users can respond to this post by creating new posts in the thread. Note that bot users can also interact with a thread. A post can contains links that mention Users or other Data Assets.*
- **`id`**: Unique identifier that identifies an entity instance. Refer to *[../../type/basic.json#/definitions/uuid](#/../type/basic.json#/definitions/uuid)*.
- **`type`**: Refer to *[#/definitions/threadType](#definitions/threadType)*.
- **`href`**: Link to the resource corresponding to this entity. Refer to *[../../type/basic.json#/definitions/href](#/../type/basic.json#/definitions/href)*.
- **`threadTs`**: Timestamp of the first post created the thread in Unix epoch time milliseconds. Refer to *[../../type/basic.json#/definitions/timestamp](#/../type/basic.json#/definitions/timestamp)*.
- **`about`**: Data asset about which this thread is created for with format <#E::{entities}::{entityName}::{field}::{fieldValue}. Refer to *[../../type/basic.json#/definitions/entityLink](#/../type/basic.json#/definitions/entityLink)*.
- **`entityRef`**: Reference to the entity in `about` that the thread belongs to. Refer to *[../../type/entityReference.json](#/../type/entityReference.json)*.
- **`entityUrlLink`** *(string)*: Link to the entity in `about` that the thread belongs to.
- **`domain`**: Domain the entity belongs to. Refer to *[../../type/basic.json#/definitions/uuid](#/../type/basic.json#/definitions/uuid)*.
- **`generatedBy`** *(string)*: User or team that generated the thread. Must be one of: `["user", "system"]`. Default: `"user"`.
- **`cardStyle`** *(string)*: Card style for the thread. Must be one of: `["default", "logicalTestCaseAdded", "entityCreated", "entityDeleted", "entitySoftDeleted", "description", "tags", "owner", "testCaseResult", "customProperties", "assets", "domain"]`. Default: `"default"`.
- **`fieldOperation`** *(string)*: Operation on thread, whether the field was added, or updated or deleted. Must be one of: `["added", "updated", "deleted", "none"]`. Default: `"updated"`.
- **`feedInfo`** *(object)*: Entity Id of the entity in `about` that the thread belongs to. Cannot contain additional properties.
- **`headerMessage`** *(string)*: Header message for the feed.
- **`fieldName`** *(string)*: Field Name message for the feed.
- **`entitySpecificInfo`**
- **One of**
- : Refer to *[./assets.json](#assets.json)*.
- : Refer to *[./customProperty.json](#customProperty.json)*.
- : Refer to *[./description.json](#description.json)*.
- : Refer to *[./domain.json](#domain.json)*.
- : Refer to *[./entityInfo.json](#entityInfo.json)*.
- : Refer to *[./tag.json](#tag.json)*.
- : Refer to *[./testCaseResult.json](#testCaseResult.json)*.
- **`addressedTo`**: User or team this thread is addressed to in format <#E::{entities}::{entityName}::{field}::{fieldValue}. Refer to *[../../type/basic.json#/definitions/entityLink](#/../type/basic.json#/definitions/entityLink)*.
- **`updatedAt`**: Last update time corresponding to the new version of the entity in Unix epoch time milliseconds. Refer to *[../../type/basic.json#/definitions/timestamp](#/../type/basic.json#/definitions/timestamp)*.
- **Items**: Refer to *[#/definitions/post](#definitions/post)*.
- **`reactions`**: Reactions for the thread. Refer to *[../../type/reaction.json#/definitions/reactionList](#/../type/reaction.json#/definitions/reactionList)*.
- **`task`**: Details about the task. This is only applicable if thread is of type task. Refer to *[#/definitions/taskDetails](#definitions/taskDetails)*.
- **`announcement`**: Details about the announcement. This is only applicable if thread is of type announcement. Refer to *[#/definitions/announcementDetails](#definitions/announcementDetails)*.
- **`chatbot`**: Details about the Chatbot conversation. This is only applicable if thread is of type Chatbot. Refer to *[#/definitions/chatbotDetails](#definitions/chatbotDetails)*.
- **`taskType`** *(string)*: Type of a task. Must be one of: `["RequestDescription", "UpdateDescription", "RequestTag", "UpdateTag", "RequestApproval", "RequestTestCaseFailureResolution", "Generic"]`.
- **`id`** *(integer, required)*: Unique identifier that identifies the task.
- **`type`**: Refer to *[#/definitions/taskType](#definitions/taskType)*.
- **`assignees`**: List of users or teams the task is assigned to. Refer to *[../../type/entityReferenceList.json](#/../type/entityReferenceList.json)*.
- **`status`**: Refer to *[#/definitions/threadTaskStatus](#definitions/threadTaskStatus)*.
- **`closedAt`**: Timestamp when the task was closed in Unix epoch time milliseconds. Refer to *[../../type/basic.json#/definitions/timestamp](#/../type/basic.json#/definitions/timestamp)*.
- **`testCaseResolutionStatusId`**: The test case resolution status id for which the task is created. Refer to *[../../type/basic.json#/definitions/uuid](#/../type/basic.json#/definitions/uuid)*.
- **`threadTaskStatus`** *(string)*: Status of a task. Must be one of: `["Open", "Closed"]`. Default: `"Open"`.
- **`threadType`** *(string)*: Type of thread. Must be one of: `["Conversation", "Task", "Announcement", "Chatbot"]`. Default: `"Conversation"`.
- **`announcementDetails`** *(object)*: Details about the announcement. This is only applicable if thread is of type announcement. Cannot contain additional properties.
- **`startTime`**: Timestamp of the start time from when the announcement should be shown. Refer to *[../../type/basic.json#/definitions/timestamp](#/../type/basic.json#/definitions/timestamp)*.
- **`endTime`**: Timestamp of when the announcement should end. Refer to *[../../type/basic.json#/definitions/timestamp](#/../type/basic.json#/definitions/timestamp)*.
- **`chatbotDetails`** *(object)*: Details about the Chatbot conversation. This is only applicable if thread is of type Chatbot.
- **`query`** *(string)*: The query being discussed with the Chatbot.
- **`id`**: Unique identifier that identifies the post. Refer to *[../../type/basic.json#/definitions/uuid](#/../type/basic.json#/definitions/uuid)*.
- **`message`** *(string, required)*: Message in Markdown format. See Markdown support for more details.
- **`postTs`**: Timestamp of the post in Unix epoch time milliseconds. Refer to *[../../type/basic.json#/definitions/timestamp](#/../type/basic.json#/definitions/timestamp)*.
- **`from`** *(string, required)*: Name of the User posting the message.
- **`reactions`**: Reactions for the post. Refer to *[../../type/reaction.json#/definitions/reactionList](#/../type/reaction.json#/definitions/reactionList)*.