Skip to main content
Sessions represent coding work periods. Each session groups related observations.

Create Session

POST /sessions Create a new session or update an existing one.

Request Body

string
required
Unique session identifier. Use UUIDs or timestamps for uniqueness.
string
required
Project name (e.g., “engram”, “my-app”)
string
Working directory path

Response

string
The session ID
string
Always “created”

Example

End Session

POST /sessions/{id}/end Mark a session as completed with an optional summary.

Path Parameters

string
required
Session ID to end

Request Body

string
Optional session summary describing what was accomplished

Response

string
The session ID
string
Always “completed”

Example

Get Recent Sessions

GET /sessions/recent Retrieve recent sessions, optionally filtered by project.

Query Parameters

string
Filter by project name
integer
default:"5"
Maximum number of sessions to return (1-100)

Response

Returns an array of session summaries:
string
Session ID
string
Project name
string
ISO 8601 timestamp when session started
string | null
ISO 8601 timestamp when session ended (null if still active)
string | null
Session summary if provided
integer
Number of observations in this session

Example

Session Schema

Complete session object structure: