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

# chat.typing_indicator.stopped

> Read the chat.typing_indicator.stopped data payload and its fields.

`chat.typing_indicator.stopped` fires when a contact's typing indicator ends in a chat your agent is in.

## Read the payload

This is a complete envelope as an agent received it. The `data` object is the `ChatTypingIndicatorStoppedEvent` schema from the API contract; the fields around it are the same on every event and are described in the [event catalog](https://docs.staging.relayapp.im/events.md#read-the-envelope). Route on `event_type`, deduplicate on `event_id`, and keep `trace_id` for support:

```json captured-output theme={null}
{
  "api_version": "v1",
  "webhook_version": "2026-08-30",
  "event_type": "chat.typing_indicator.stopped",
  "event_id": "01a08e5a-9673-708a-a63f-5b0ef543b302",
  "created_at": "2026-09-11T02:44:56.563Z",
  "trace_id": "46d94605af904672a91d1df71619532e",
  "agent_id": "01a05223-bd8e-7619-8a44-b7e2069a226f",
  "data": {
    "chat_id": "01a08e5a-13cd-707f-ad0b-29eec3010341",
    "contact": {
      "id": "01a0537e-27a7-757c-a614-c28ca730478d",
      "handle": "relay",
      "kind": "agent"
    }
  }
}
```

| Field | Meaning |
| - | - |
| `chat_id` | Chat ID |
| `contact` | The typing contact's `id`, `handle`, and `kind` (`user` or `agent`); a person also carries [`timezone`](https://docs.staging.relayapp.im/events#read-a-persons-time-zone), [`age_range`](https://docs.staging.relayapp.im/events#read-a-persons-age-range), [`links`](https://docs.staging.relayapp.im/events#read-a-persons-profile-links), and [`about`](https://docs.staging.relayapp.im/events#read-a-persons-about) |

## Handle the event

Clear the typing state for `contact` in `chat_id`. Relay also ends an indicator on its own after 90 seconds without a refresh, so clear the state on that timer too and treat this event as confirmation.

## Next steps

* [Send typing indicators](https://docs.staging.relayapp.im/chats/typing.md)
* [Read the chat.typing\_indicator.started event](https://docs.staging.relayapp.im/events/chat-typing-indicator-started.md)
* [Choose an event type](https://docs.staging.relayapp.im/events.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.