> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wisdom.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ChatMessageDiff

This page describes the differences in streaming messages when working with real-time updates.

## ChatMessageDiff

<ParamField path="bodyDiff" type="Delta!" required>
  The incremental content changes for the message. See [Delta](/integrations/graphql-api/objects/delta).
</ParamField>

<ParamField path="conversationId" type="String!" required>
  The unique identifier of the conversation this diff belongs to.
</ParamField>

<ParamField path="messageId" type="String">
  Optional message identifier for internal tracking.
</ParamField>

<ParamField path="sender" type="ChatMessageSender!" required>
  The sender of the message. See [ChatMessageSender](/integrations/graphql-api/objects/chat-message-sender).
</ParamField>

<ParamField path="createdAt" type="DateTime!" required>
  The date and time when the diff was created.
</ParamField>

<ParamField path="updatedAt" type="DateTime!" required>
  The date and time when the diff was last updated.
</ParamField>

<ParamField path="dataRefreshedAt" type="DateTime">
  The date and time when the diff data was refreshed. Null if not refreshed.
</ParamField>

<ParamField path="cancelledAt" type="DateTime">
  The date and time when message generation was cancelled. Null if not cancelled.
</ParamField>

<ParamField path="inProgress" type="Boolean!" required>
  Indicates whether the message generation is still in progress on the server.
</ParamField>

<ParamField path="domainId" type="String">
  The unique identifier of the domain associated with this diff.
</ParamField>

<ParamField path="userId" type="String">
  The unique identifier of the user associated with this diff.
</ParamField>

<ParamField path="errorStrings" type="[String!]">
  Array of error messages if any errors occurred during processing.
</ParamField>

<ParamField path="diffIndex" type="Int!" required>
  The index of the diff in the stream for idempotent reconnects.
</ParamField>

## Related operations

<CardGroup cols={2}>
  <Card title="Delta Schema" icon="layer-group" href="/integrations/graphql-api/objects/delta">
    Learn about content diff structure
  </Card>

  <Card title="ChatMessageSender Enum" icon="user" href="/integrations/graphql-api/objects/chat-message-sender">
    Message sender types
  </Card>

  <Card title="Subscribe Conversation" icon="wifi" href="/integrations/graphql-api/subscriptions/subscribe-conversation">
    Receive real-time message diffs
  </Card>
</CardGroup>
