List a work session’s timeline entries
Timeline entries ordered by seq, which is gapless and monotonic, so a client pages forward with afterSeq. This is the ONLY way to read a timeline in full: the live socket replays at most the last 200 entries, so a client that needs the whole history pages here and then attaches. seq is WRITE order, not cause order: a mention starts its turns before the comment that asked for them is written (a refused turn must leave no orphan message behind), so a turn_started sits just ABOVE its comment. The comment names them — startedTurnIds on the entry — so a reader that wants cause order renders those turn_started entries directly below the comment that claims them. afterSeq and limit are ENFORCED: afterSeq is an integer ≥ 0 and limit is 1-200 (default 50), and anything else is 400 validation_failed — never a silent page one, which is how a client with a corrupted cursor used to loop forever (R9-02 / R9C-04). Authorization: work_session:read on the session, OR space:contribute on one of its linked spaces; a desk session is readable only by its owner. Any denial is 404. A caller who may read but not WRITE the session reads the SANITIZED view, the same one its live socket gets: a tool part keeps its name and loses its input, output and errorText, and url-ish values are redacted.
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Path parameters
Query parameters
Return only entries with a seq GREATER than this. seq is gapless and monotonic, so the last entry of a page is the next page’s afterSeq.
Page size, 1-200 (default 50).