Skip to main content
GET
Read a session

Authorizations

X-API-Key
string
header
required

[Production] API key for production authentication

Path Parameters

sessionId
string
required

The unique identifier for the session.

Query Parameters

projectId
string
required

The unique identifier for the project to scope the request to.

userId
string

The unique identifier for the channel end user to scope the request to. If you omit it, the default is the empty user.

Response

OK

agentReferenceId
string
createdAt
integer
events
object[]
id
string
Example:

"507f1f77bcf86cd799439011"

lastUpdatedAt
integer
organisationId
string
Example:

"507f1f77bcf86cd799439011"

projectId
string
Example:

"507f1f77bcf86cd799439011"

sessionId
string
state
object

State is the typed session state. json omitempty on SessionState's fields means present-but-empty members (e.g. an empty loadedSkills slice) are omitted; fresh sessions serialize as "state":{}. runtimeContext and runtimeContextExpiresAt are never returned: the runtimeContext is the conversation's Flow context, which can hold secret-bearing values (see toSessionDetailResponse). TODO(follow-up 390): add runtimeContext back to this response once redaction of its values exists. state.promptValues is never returned either: the values are derived from the conversation context, and its json:"-" tag keeps it out (state.go). Return it together with the runtimeContext (follow-up 390). state.handoff.values is redacted too: withoutInternalHandoverValues (below) strips the Value of any entry whose visibility is not prompt-visible before this DTO is built, fail-closed on an unrecognised tier.

userId
string

UserId is the channel end user this session belongs to — see the same field on SessionItem.