---
title: "Everything the mail runs on a conversation did, turn by turn"
method: GET
path: "/api/v1/handling/{threadId}/session"
tags: ["Desk"]
---

# Everything the mail runs on a conversation did, turn by turn

`GET /api/v1/handling/{threadId}/session`

## Request

- Base URL: `http://localhost:5180`
- URL: `http://localhost:5180/api/v1/handling/{threadId}/session`
- Auth: API key in cookie `better-auth.session_token`

One session per conversation: every run on it, oldest first, each opening with the message it read, then who it took the sender for and what it was allowed, everything the model said, each call with its arguments and what it answered, and every step. Pass `after`, the number of turns already held, to get only the ones since while a run is live.

## Path parameters

- `threadId` string, required

## Query parameters

- `after` string

## Response `200`

The run, or no run yet.

- object
  - `ok` unknown, required
  - `data` object, required
    - `runId` string, nullable, required: Stable record id, e.g. `lse_012`.
    - `live` boolean, required: True while the newest run has not ended and was last heard from in the past ten minutes.
    - `turns` object[], required
      - `runId` string, required: Stable record id, e.g. `lse_012`.
      - `seq` number, required
      - `at` string, required
      - `kind` 'context' | 'step' | 'say' | 'call' | 'result' | 'end', required
      - `title` string, required
      - `body` string, nullable, required
      - `data` unknown, required
      - `failed` boolean, required
  - `meta` object, required
    - `requestId` string, required: Echoed in the x-request-id header. Quote it in a bug report.

## Other responses

- `400`: `after` was not a whole number.

---

[API](https://skmtc.dev/dardaris/apis/dardaris-api.md) · [All operations](https://skmtc.dev/dardaris/apis/dardaris-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dardaris/apis/dardaris-api/revisions/4aff33835c73?raw)
