> For the complete documentation index, see [llms.txt](https://docs.api.intratool.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.api.intratool.de/api-reference/chat/chat-conversation-events.md).

# ChatConversationEvents

## Introduction

`ChatConversationEvents` record changes to a [ChatConversation](/api-reference/chat/chat-conversations.md). Each event has a concrete [type](#types) that defines the shape of its `data` field.

## Model Definition

**Relations**

| Key                | Relation                                                      | Type       | Relation Field(s)      |
| ------------------ | ------------------------------------------------------------- | ---------- | ---------------------- |
| `user`             | [User](/api-reference/users.md)                               | Belongs to | `user_id`              |
| `chatConversation` | [ChatConversation](/api-reference/chat/chat-conversations.md) | Belongs to | `chat_conversation_id` |

**Types**

| Type                | `data` shape                                                                     |
| ------------------- | -------------------------------------------------------------------------------- |
| `created`           | Empty object.                                                                    |
| `updated`           | `old` and `new` objects containing changed fields.                               |
| `deleted`           | Empty object.                                                                    |
| `titleChanged`      | `old` and `new` title values.                                                    |
| `lockedAtChanged`   | `old` and `new` datetime or `null` values.                                       |
| `departmentAdded`   | `targetable_type` is `department`; `targetable_id` is the integer Department ID. |
| `departmentRemoved` | `targetable_type` is `department`; `targetable_id` is the integer Department ID. |
| `userAdded`         | `targetable_type` is `user`; `targetable_id` is the integer User ID.             |
| `userLeft`          | `targetable_type` is `user`; `targetable_id` is the integer User ID.             |
| `userRemoved`       | `targetable_type` is `user`; `targetable_id` is the integer User ID.             |

Changing a conversation title or `locked_at` creates an `updated` event in addition to the corresponding `titleChanged` or `lockedAtChanged` event.

## List by conversation

List `ChatConversationEvents` for a [ChatConversation](/api-reference/chat/chat-conversations.md).

**Definition**

<mark style="color:green;">`GET`</mark> `/api/chat/conversations/{chatConversation}/events`

**Route Parameters**

| Parameter          | Type                  | Description                  |
| ------------------ | --------------------- | ---------------------------- |
| `chatConversation` | `integer` \| `string` | ChatConversation ID or hash. |

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/chat/conversations/1/events', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response**

```json
[
  {
    "id": 1,
    "user_id": 3,
    "chat_conversation_id": 1,
    "type": "titleChanged",
    "data": {
      "old": "Launch",
      "new": "Project launch"
    },
    "created_at": "2026-08-06 09:32:00",
    "updated_at": "2026-08-06 09:32:00"
  },
  {
    "id": 2,
    "user_id": 4,
    "chat_conversation_id": 1,
    "type": "lockedAtChanged",
    "data": {
      "old": null,
      "new": "2026-08-06 10:00:00"
    },
    "created_at": "2026-08-06 09:34:00",
    "updated_at": "2026-08-06 09:34:00"
  }
]
```

## Show

Show one `ChatConversationEvent`.

**Definition**

<mark style="color:green;">`GET`</mark> `/api/chat/conversations/events/{chatConversationEvent}`

**Route Parameters**

| Parameter               | Type      | Description               |
| ----------------------- | --------- | ------------------------- |
| `chatConversationEvent` | `integer` | ChatConversationEvent ID. |

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/chat/conversations/events/1', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response**

```json
{
  "id": 1,
  "user_id": 3,
  "chat_conversation_id": 1,
  "type": "titleChanged",
  "data": {
    "old": "Launch",
    "new": "Project launch"
  },
  "created_at": "2026-08-06 09:32:00",
  "updated_at": "2026-08-06 09:32:00"
}
```
