Skip to content

Sessions API

GET /api/sessions

List sessions with filtering and pagination.

Query Parameters

ParameterTypeDescription
agentIdstringFilter by agent ID
statusstringFilter by status: active, completed, error (comma-separated)
fromstringStart of time range (ISO 8601)
tostringEnd of time range (ISO 8601)
tagsstringFilter by tags (comma-separated)
limitnumberResults per page (default: 50, max: 500)
offsetnumberPagination offset (default: 0)

Response (200)

json
{
  "sessions": [
    {
      "id": "sess_01HXYZ",
      "agentId": "my-agent",
      "agentName": "My Agent",
      "startedAt": "2026-02-08T10:00:00.000Z",
      "endedAt": "2026-02-08T10:05:00.000Z",
      "status": "completed",
      "eventCount": 47,
      "toolCallCount": 15,
      "errorCount": 0,
      "totalCostUsd": 0.42,
      "tags": ["production"]
    }
  ],
  "total": 256,
  "hasMore": true
}

curl Example

bash
# List error sessions from the last week
curl "http://localhost:3400/api/sessions?status=error&from=2026-02-01T00:00:00Z" \
  -H "Authorization: Bearer als_your_key"

SDK Example

typescript
const { sessions, total } = await client.listSessions({
  status: 'error',
  from: '2026-02-01T00:00:00Z',
  limit: 20,
});

GET /api/sessions/:id

Get detailed information about a single session.

Response (200)

json
{
  "id": "sess_01HXYZ",
  "agentId": "my-agent",
  "agentName": "My Agent",
  "startedAt": "2026-02-08T10:00:00.000Z",
  "endedAt": "2026-02-08T10:05:00.000Z",
  "status": "completed",
  "eventCount": 47,
  "toolCallCount": 15,
  "errorCount": 0,
  "totalCostUsd": 0.42,
  "tags": ["production"]
}

Errors

StatusCause
404Session not found

GET /api/sessions/:id/timeline

Get all events for a session in ascending chronological order, with hash chain verification.

Response (200)

json
{
  "events": [
    {
      "id": "01H001...",
      "timestamp": "2026-02-08T10:00:00.000Z",
      "sessionId": "sess_01HXYZ",
      "agentId": "my-agent",
      "eventType": "session_started",
      "severity": "info",
      "payload": { "agentName": "My Agent", "tags": ["production"] },
      "metadata": {},
      "prevHash": null,
      "hash": "abc123..."
    },
    {
      "id": "01H002...",
      "timestamp": "2026-02-08T10:00:01.342Z",
      "sessionId": "sess_01HXYZ",
      "agentId": "my-agent",
      "eventType": "tool_call",
      "severity": "info",
      "payload": { "toolName": "search_database", "callId": "c1", "arguments": { "query": "users" } },
      "metadata": {},
      "prevHash": "abc123...",
      "hash": "def456..."
    }
  ],
  "chainValid": true
}

The chainValid field indicates whether the SHA-256 hash chain is intact (no events have been tampered with).

curl Example

bash
curl "http://localhost:3400/api/sessions/sess_01HXYZ/timeline" \
  -H "Authorization: Bearer als_your_key"

Released under the MIT License.