List User Process Conversations
Per-user conversation INDEX across every process the user has ever registered — served entirely from the cloud mirror, no process RPC.
The per-process route below answers "what does THIS process hold" and needs the caller to already know the process id. A pure-cloud client (Luria) needs the inverse: "everything of mine, wherever it ran", including processes that are offline or whose sandbox was destroyed — those still have live rows here because a terminated container never deregisters, and history-survives-the-sandbox is the product promise. Reading the mirror only (never RPC) keeps this one cheap DB query regardless of how many processes the user has accumulated.
Rows are the same summaries _cached_conversations serves, plus the owning process's identity so the client can build a runtime binding and route detail reads to /api/processes/{pid}/conversations/{sid} (which falls back to this same mirror when the process is offline).
Deliberately NOT the per-process route's two-phase read: this is the only mirror query with no process_id bound, and a long-lived account holds mirror rows by the ten-thousands with GIGABYTES of history blobs (first dogfood account: 10,842 rows / 1.7 GB). Backfilling last_active from those bodies took >60 s and got the response truncated mid-flight. A LISTING must never read bodies: rows whose summary predates last_active_local sort by synced_at and render without a timestamp until their next sync or detail read. Same reasoning behind the LIMIT — the sidebar shows the recent tail, not an unbounded account history in one response.
Query parameters
Headers
Response
Successful Response
Changes
No recorded changes to this endpoint across all 1 revision of this API.