Skip to content
Linq

List chat events

GET/v1/chats/{chat}/events

Lists the chat’s event log: the ordered record you rebuild your own state from. Each entry carries a seq that only ever counts up, with no gaps; page with after_seq.

Path ParametersExpand Collapse
chat: string
Query ParametersExpand Collapse
after_seq: optional number

Return entries with seq greater than this; omitted (or non-numeric) reads from the start.

formatint64
limit: optional number

Page size; absent or outside 1–100 reads as 100.

formatint32
ReturnsExpand Collapse
data: array of JournalEntry { actor, created_at, payload, 3 more }
actor: string

Who wrote it: customer, partner, human, system or brand.

created_at: string
formatdate-time
payload: unknown

The event’s own JSON payload; shape depends on type.

seq: number

Gapless per-chat sequence number: the events cursor.

formatint64
type: string

Event type (message_received, message_sent, owner_changed, …).

operator: optional string

WHICH human, for the events that have one: the operator name the acting request carried (attributed through our agent console). Present ONLY beside actor: "human", and only when the caller named an operator; absent everywhere else, including on every event recorded before an operator id was ever sent. So its presence is the signal that this row can be rendered as “Dana accepted this” rather than “someone accepted this”; its absence is never “no human”, only “unattributed”.

List chat events

curl https://messages.api.linqapp.com/v1/chats/$CHAT/events \
    -H "Authorization: Bearer $LINQ_AMB_API_KEY"
{
  "data": [
    {
      "seq": 13,
      "type": "message_received",
      "actor": "customer",
      "payload": {
        "body": "where is my driver?"
      },
      "created_at": "2026-08-06T14:01:58Z"
    }
  ]
}
Returns Examples
{
  "data": [
    {
      "seq": 13,
      "type": "message_received",
      "actor": "customer",
      "payload": {
        "body": "where is my driver?"
      },
      "created_at": "2026-08-06T14:01:58Z"
    }
  ]
}