---
title: "List session history"
method: GET
path: "/api/v1/sessions"
tags: ["sessions"]
---

# List session history

`GET /api/v1/sessions`

Paginated list of durable session transcripts with search and status filters.

## Query parameters

- `search` string, nullable — Full-text search on title
- `status` string, nullable — Filter by status (active, archived)
- `created_after` string, date-time, nullable — Filter sessions created on or after this date (ISO 8601)
- `created_before` string, date-time, nullable — Filter sessions created on or before this date (ISO 8601)
- `model_name` string, nullable — Filter by exact model name
- `model_provider` string, nullable — Filter by exact model provider
- `limit` integer — Page size
- `offset` integer — Pagination offset

## Response `200`

Successful Response

- SessionListResponse — Paginated session list.
  - `items` SessionListItem[], required — Session list items.
    - `id` string, required — Durable session identifier.
    - `title` string, required — Human-readable session title.
    - `status` string, required — Session status (active, archived).
    - `model_name` string, nullable — Model used in session.
    - `external_session_id` string, nullable — Canonical runtime session identifier.
    - `created_at` string, required — ISO-8601 creation timestamp.
    - `updated_at` string, required — ISO-8601 last-update timestamp.
  - `total` integer, required — Total matching sessions.
  - `offset` integer, required — Current pagination offset.
  - `limit` integer, required — Current page size.
  - `has_more` boolean, required — Whether more results exist beyond this page.

## Other responses

- `401` — Authentication is required or the provided token is invalid.
- `403` — The caller does not have permission to access this resource.
- `422` — Validation Error
- `503` — Session services are unavailable because server startup is incomplete.

## Changes

- **2026-05-23** `6178f925cdec` — 1 breaking, 3 info
  - the `detail` response's property type changed from `array` to no type for status `422`
  - added `subschema #1, subschema #2` to the `detail` response property `anyOf` list for the response status `422`
  - added the required property `code` to the response with the `422` status
  - added the required property `message` to the response with the `422` status
- **2026-04-23** `3eba82f72276` — 4 info
  - added the new optional `query` request parameter `created_after`
  - added the new optional `query` request parameter `created_before`
  - added the new optional `query` request parameter `model_name`
  - added the new optional `query` request parameter `model_provider`
- **2026-04-23** `cef6d48edfbe` — 3 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `503`
- **2026-04-18** `1f45411d7556` — 1 breaking
  - the `items/items/id` response's property type changed from `integer` to `string` for status `200`
- **2026-04-14** `3044e5c4a9da` — 1 info
  - endpoint added

[Full history](https://skmtc.dev/qredence/apis/fleet-rlm/changes/api/v1/sessions/get.md)

---

[API](https://skmtc.dev/qredence/apis/fleet-rlm.md) · [All operations](https://skmtc.dev/qredence/apis/fleet-rlm/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/qredence/fleet-rlm/revisions/e25aaded81b9/schema)
