---
title: "List the turns of a session"
method: GET
path: "/o/{org}/p/{project}/sessions/{session}/turns"
tags: ["Sessions"]
---

# List the turns of a session

`GET /o/{org}/p/{project}/sessions/{session}/turns`

## Request

- Base URL: `https://api.prix.dev`
- URL: `https://api.prix.dev/o/{org}/p/{project}/sessions/{session}/turns`
- Auth: HTTP bearer

Every prompt in the session in order: the one that started it, then each delivered
follow-up. A turn is `running` until the session finishes it, then carries that status
and its result. A turn that was still open when the next began ends `interrupted`. Cost and tokens are the session's, on GET …/sessions/{session}.

## Response `200`

The session's turns.

- object
  - `turns` Turn[], required
    - `id` string, uuid, required
    - `ordinal` integer, required: 1 for the prompt that started the session, then one per delivered follow-up.
    - `status` 'running' | 'completed' | 'needs_review' | 'failed' | 'cancelled' | 'expired' | 'interrupted', required
    - `prompt` string, nullable, required
    - `result` unknown, required
    - `started_at` string, date-time, required
    - `ended_at` string, date-time, nullable, required

## Other responses

- `401`: No bearer, an unknown, revoked or expired one, or an API key on a route keys cannot call.
- `404`: No such resource for the caller, including one in an org the caller is not in or a Project that is private to someone else.

---

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