Rensei docs
API ReferenceSessions ( Public)

Get session activity time-series

Three access modes: 1. Worker JWT with `?sessionId=<rawLinearSessionId>`. 2. Unauthenticated with `?sessionId=<rawId>&sessionHash=<32-hex>`. 3. Authenticated CLI/dashboard with `?sessionId=<rawOrHashedId>` + `rsk_` bearer or session cookie.

GET
/api/public/session-activities

Authorization

headerAuthorizationBearer <rsk_live_*>

Rensei API key presented as Authorization: Bearer rsk_live_. Required API-key scopes are recorded per operation in x-rensei-required-scopes.

Query Parameters

sessionId*string

Raw linearSessionId, trackerSessionId, or 16-char public hash.

sessionHash?string

32-char hex hash for unauthenticated access (SHA-256("session:{rawId}").slice(0,32)).

cursor?string

Opaque cursor for incremental polling (alias after also accepted).

Response Body

Activity list with cursor.

application/json
  1. response
activities*array<>
cursor?string

Opaque cursor for polling next batch.

sessionStatus*PublicSessionStatus

Coarse public lifecycle. starting means a worker owns the claim but runner execution is not yet acknowledged; working begins only after the source lifecycle advances to running/finalizing (or a post-running stuck projection). Health diagnostics such as claimStuck remain independent of this lifecycle value.

Value in"queued""parked""starting""working""completed""failed""stopped""timed_out"
Example Request
curl -X GET 'https://app.rensei.ai/api/public/session-activities?sessionId=string'
Example Response
{  "activities": [    {      "id": "string",      "type": "thought",      "content": "string",      "toolName": "string",      "timestamp": "2019-08-24T14:15:22Z"    }  ],  "cursor": "string",  "sessionStatus": "queued"}