---
title: "Get Observability Sessions"
method: GET
path: "/agentic/observability/sessions"
tags: ["Agents Observability"]
---

# Get Observability Sessions

`GET /agentic/observability/sessions`

Cursor-paginated sessions list.

Filter precedence:
  1. ``agent_id`` (Streamkap or external:pk:cid synthetic form)
  2. ``project_key_id`` + ``client_id`` (external pseudo-agent)
  3. No entity filter - all-tenant-activity pseudo-row.

The FE never sends both flavours - but if it does, ``agent_id`` wins.

``kind`` and ``entity_kind`` are reserved-slot dispatch params: today only
``kind=tool_call`` against ``entity_kind=streamkap|external`` returns data.
Other valid combinations return an empty page until their backing tables /
emitters land. Unknown values raise 400.

## Query parameters

- `agent_id` string, nullable — Streamkap agent id (Mongo ObjectId or external:pk:cid)
- `project_key_id` string, nullable — External pseudo-agent: project_key_id
- `client_id` string, nullable — External pseudo-agent: client_id
- `from` string, nullable — Time range start (ISO 8601)
- `to` string, nullable — Time range end (ISO 8601)
- `tool` string, nullable — Filter by tool name
- `status` string, nullable — success | error | denied
- `cursor` string, nullable — Pagination cursor - last page's next_cursor
- `limit` integer — Max items
- `kind` string, nullable — Row kind: tool_call (default) | log | llm_call | transcript_event | kb_ingestion
- `entity_kind` string, nullable — Entity scope: streamkap | external | kb

## Response `200`

Successful Response

- ObservabilitySessionsResponse — `/agentic/observability/sessions` response envelope. ``next_cursor`` is the ``started_at`` of the last row in the page, or ``None`` when fewer than ``limit`` rows were returned (signalling end of stream to the FE).
  - `items` ObservabilitySessionItem[], required
    - `session_id` string, required
    - `started_at` string, date-time, required
    - `ended_at` string, date-time, required
    - `call_count` integer, required
    - `error_count` integer, required
    - `p95_ms` number, nullable
    - `agent_id` string, nullable
    - `agent_label` string, required
    - `entity_kind` 'streamkap' | 'external', required
  - `next_cursor` string, date-time, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/streamkap/apis/streamkap-rest-api.md) · [All operations](https://skmtc.net/streamkap/apis/streamkap-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/streamkap/streamkap-rest-api/revisions/e9ce8221bac6/schema)
