## Mark a chat read

**post** `/v1/chats/{chat}/read`

Marks the latest unread inbound message as read, optionally showing the
typing indicator. The upstream command targets that one message; this API
does not promise that the channel also marks earlier inbound messages.
Omit the body, or send `{}`, for read-only; the two forms are identical.
`typing: false` is identical too.

If the chat is not available to this account, the request is refused
with `404 chat_not_found`. If it has no unread inbound message, it is
refused with `409 nothing_unread`; this route does not act as a
standalone typing refresh.

`202` means the command and its `chat.read` journal event are durable;
the upstream action is asynchronous. Read receipts and typing are
outbound-only: this API never reports customer typing.

### Path Parameters

- `chat: string`

### Body Parameters

- `typing: optional boolean`

  Also show the customer the typing indicator, which auto-dismisses after
  a short time or when your next message arrives. Read receipts and typing
  are outbound-only: the API never reports customer typing.

### Example

```http
curl https://whatsapp.messages.api.linqapp.com/v1/chats/$CHAT/read \
    -X POST \
    -H "Authorization: Bearer $LINQ_WHATSAPP_API_KEY"
```
