List the work sessions the caller can see
One keyset page of work sessions, MOST RECENTLY ACTIVE first (lastActivityAt, which is also what nextCursor carries), read from the work_sessions projection with a single query. Authorization: a session is listed when the caller holds work_session:read, or when it is linked to a space the caller holds space:contribute on — the SAME permission the detail route is gated on, so the list never advertises a session every other route answers 404 on; administrators see every session EXCEPT other people’s desk sessions, which are private by identity. Optional filter is mine, shared, space:<spaceId> or agent:<agentId>; status narrows by derived status and workStatus by the status a person set; limit is 1-50 (default 25) and starting_after takes the previous page’s nextCursor. Every one of them is ENFORCED — an unknown filter, a limit outside 1-50 or a status outside the enum is 400 validation_failed, never a quietly unfiltered page (R7-03 / R7C-04). The projection is best-effort, so a session opened seconds ago may take a moment to appear.
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Query parameters
One of mine (opened by the caller), shared (the caller is a participant on someone else’s session), space:<spaceId> or agent:<agentId>. Any other value is 400 validation_failed.
Page size, 1-50 (default 25).
The previous page’s nextCursor — <ISO-8601 timestamp>|<row id> (a bare timestamp is still accepted). Anything else is 400 validation_failed.