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

# message.edited

> Occurs when a message is edited

<ResponseExample>
  ```json Example payload theme={null}
  {
    "id": "ck9v2m5nj0xp4wq7ybftrae8",
    "seq": 112,
    "teamId": "hzcai5t59nn9vsck3rbuepyg",
    "type": "message.edited",
    "timestamp": "2025-01-15T15:10:00.000Z",
    "version": "1.0",
    "data": {
      "message": {
        "id": "p8rvk2m5j0xn4wq7ybftcael",
        "platform": "twitter",
        "platformId": "1876543210987654322",
        "threadId": "l44e15irdq4db30i77cgphhx",
        "teamId": "hzcai5t59nn9vsck3rbuepyg",
        "authorId": "df6jbw4h36qm5d9iu2sgn7kx",
        "userId": "r3km7xj9wq5p2bvnhfdteoly",
        "campaignId": null,
        "content": "The updated proposal is attached — let me know if you have any questions about the pricing.",
        "origin": "internal",
        "createdAt": "2025-01-15T14:30:00.000Z",
        "updatedAt": "2025-01-15T15:10:00.000Z",
        "isEdited": true,
        "isEncrypted": false,
        "entities": null,
        "attachment": null,
        "reactions": [],
        "replyData": null,
        "forwardData": null,
        "deletedAt": null,
        "platformDeletedAt": null
      },
      "threadId": "l44e15irdq4db30i77cgphhx"
    }
  }
  ```
</ResponseExample>

## When it fires

A message's content is modified — either through the platform natively or via the [Edit message](/api-reference/messages/edit-message) API endpoint.

The `message` object reflects the state **after** the edit. The `isEdited` field will be `true` and `updatedAt` will contain the edit timestamp.

## Payload

<ResponseField name="message" type="Message" required>
  The message object.

  <Expandable title="properties">
    <ResponseField name="id" type="string">
      The Inbox message ID.
    </ResponseField>

    <ResponseField name="platform" type="string">
      The platform the message belongs to (e.g., `twitter`).
    </ResponseField>

    <ResponseField name="platformId" type="string | null">
      The platform's native message ID.
    </ResponseField>

    <ResponseField name="threadId" type="string">
      The Inbox thread ID this message belongs to.
    </ResponseField>

    <ResponseField name="teamId" type="string">
      The Inbox team ID.
    </ResponseField>

    <ResponseField name="authorId" type="string">
      The author of the message. Either the `accountLinkId` (if sent by your team) or the prospect's `externalId`.
    </ResponseField>

    <ResponseField name="userId" type="string | null">
      The Inbox user ID of the team member who sent this message, if applicable.
    </ResponseField>

    <ResponseField name="campaignId" type="string | null">
      The campaign ID that sent this message, if applicable.
    </ResponseField>

    <ResponseField name="content" type="string">
      The text content of the message.
    </ResponseField>

    <ResponseField name="origin" type="string | null">
      How the message was sent: `internal` (Inbox UI), `external` (synced from platform), or `api` (sent via API).
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      When the message was created (ISO 8601).
    </ResponseField>

    <ResponseField name="updatedAt" type="string | null">
      When the message was last updated (ISO 8601).
    </ResponseField>

    <ResponseField name="isEdited" type="boolean">
      Whether the message has been edited.
    </ResponseField>

    <ResponseField name="isEncrypted" type="boolean | null">
      Whether the message is end-to-end encrypted.
    </ResponseField>

    <ResponseField name="entities" type="object | null">
      Normalized URL entities, mentions, hashtags, and tweet shares.
    </ResponseField>

    <ResponseField name="attachment" type="object | null">
      Normalized media and card attachments.
    </ResponseField>

    <ResponseField name="reactions" type="array">
      Reactions on this message.
    </ResponseField>

    <ResponseField name="replyData" type="object | null">
      Reply metadata if this message is a reply to another message.
    </ResponseField>

    <ResponseField name="forwardData" type="object | null">
      Forward metadata if this message was forwarded.
    </ResponseField>

    <ResponseField name="deletedAt" type="string | null">
      When the message was soft-deleted in Inbox (ISO 8601).
    </ResponseField>

    <ResponseField name="platformDeletedAt" type="string | null">
      When the message was deleted on the platform (ISO 8601).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="threadId" type="string" required>
  The Inbox thread ID the message belongs to.
</ResponseField>

<Tip>
  Inbox stores full message history, including previous versions of edited messages. Use the [Get message history](/api-reference/messages/get-message-history) endpoint to retrieve the original content and all prior edits.
</Tip>
