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

# List Connect messages

> Page through a thread’s messages and events — filter by lane, include Supervisor interventions, and export full conversation history for audits and disputes.

List a thread's messages, oldest first, cursor-paginated. Includes participant messages, system chips, and Supervisor messages — the complete record of the order conversation.

## Path

<ParamField path="thread_id" type="string" required>
  Thread ID (`th_…`) or your `reference`.
</ParamField>

## Query

<ParamField query="lane" type="string">
  Restrict to one lane.
</ParamField>

<ParamField query="include_events" type="boolean" default="false">
  Interleave non-message events (joins, removals, status changes, safety masks) as typed entries — the full audit trail for disputes.
</ParamField>

<ParamField query="cursor" type="string">
  Cursor from a previous response.
</ParamField>

<ParamField query="limit" type="number" default="50">
  Page size, max 200.
</ParamField>

## Response

<ResponseField name="data" type="array">
  Message objects (same shape as [Send message](/api-reference/connect/send-message)); event entries carry `type` instead of `sender` when `include_events` is set.
</ResponseField>

<ResponseField name="next_cursor" type="string">
  Present when more results exist.
</ResponseField>

<RequestExample>
  ```bash cURL theme={"dark"}
  curl "https://api.open.cx/connect/threads/order_84421/messages?lane=customer_courier&include_events=true" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={"dark"}
  {
    "data": [
      { "id": "msg_1q8x", "lane": "customer_courier",
        "sender": { "participant_id": "prt_c81", "role": "customer" },
        "text": "البوابة رقم ٤ — الرمز 4411",
        "translations": { "en": "Gate 4 — the code is 4411" },
        "created_at": "2026-07-30T14:31:05Z" },
      { "id": "evt_9k2m", "type": "supervisor.safety_mask", "lane": "customer_courier",
        "detail": "Masked a phone number in an outbound courier message",
        "created_at": "2026-07-30T14:33:47Z" }
    ],
    "next_cursor": null
  }
  ```
</ResponseExample>
