Get one interactive session's detail.
Authentication accepts a browser session or a WorkOS user token only; an rsk API key or a BYOA OAuth-agent token is rejected 403 (no user identity to derive driver/viewer capability from). Returns 404 - never 403 - for a session belonging to a different org or one the caller has no project access/grant for, so existence is never leaked across the boundary.
Rensei API key presented as Authorization: Bearer rsk_live_. Required API-key scopes are recorded per operation in x-rensei-required-scopes.
In: header
Path Parameters
The session id (agent_sessions.session_id).
Response Body
application/json
curl -X GET "https://example.com/api/interactive-sessions/string"{
"id": "string",
"sessionId": "string",
"orgId": "string",
"projectId": "string",
"createdByUserId": "string",
"status": "provisioning",
"liveStatus": "string",
"poolId": "string",
"harness": "string",
"modelProfileId": "string",
"sandboxProvider": "string",
"localAuthAvailable": true,
"localAuthAvailableSource": "default",
"displayName": "string",
"executionLocation": {
"provider": "string",
"pool": {
"id": "string",
"displayName": "string"
},
"host": {
"id": "string",
"displayName": "string"
},
"sandboxFlavor": "string",
"runtimeFlavor": "string"
},
"relayRoomId": "string",
"sessionDetail": {
"property1": null,
"property2": null
},
"driverState": {
"property1": null,
"property2": null
},
"recordingPolicy": "string",
"recordingPointer": "string",
"callerRole": "driver",
"startedAt": "string",
"endedAt": "string",
"createdAt": "string",
"updatedAt": "string"
}Launch a new interactive PTY-attach session.
Authentication accepts a browser session or a WorkOS user token; an rsk API key or a BYOA OAuth-agent token authenticates successfully but is rejected 403 because interactive sessions require a human user identity for driver/viewer grant derivation. When initialPrompt is supplied, the handler trims it and enforces an exact 1,023 UTF-8-byte limit without truncation; the schema maxLength is only a coarse character bound. Entitlement-gated (403 when the org lacks the interactive_sessions feature flag) and quota-gated (429 with {code, limit, current} when the org is at its concurrent-inflight or monthly-attached-seconds cap). Unpinned axes (poolId, harness, modelProfileId, repositoryId, sandboxProvider) resolve through the project/org default cascade - this path never routes through MAB.
Cooperatively stop an interactive session.
Authentication accepts a browser session or a WorkOS user token only; an rsk API key or a BYOA OAuth-agent token is rejected 403. Idempotent-ish: stopping an already-ended session still returns 200 (the underlying Redis/SQL writes are themselves idempotent). 404 - never 403 - for a session belonging to a different org or one the caller has no project access for (no-existence-leak). Teardown drives the cooperative Redis/lock-refresh rail and, belt-and-braces, emits a fire-and-forget relay kill (reason: stopped) when the relay control env is configured.