Skip to navigation

List the work sessions the caller can see

View as Markdown

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

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Query parameters

qstringOptional<=200 characters
filterenum or stringOptional

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.

statusenumOptional
Only sessions in this derived status.
Allowed values:
workStatusenumOptional
Only sessions a person has set to this work status.
Allowed values:
limitintegerOptional1-50

Page size, 1-50 (default 25).

starting_afterstringOptional

The previous page’s nextCursor — <ISO-8601 timestamp>|<row id> (a bare timestamp is still accepted). Anything else is 400 validation_failed.

Response

One page of work sessions.
datalist of objects
nextCursorstring or null

Errors

400
Bad Request Error