---
title: "Get the reconstructed engineering waterfall for a single v2 turn"
method: GET
path: "/v1/conversations/{conversation_id}/engineering/turns/{turn_id}"
tags: ["conversations"]
---

# Get the reconstructed engineering waterfall for a single v2 turn

`GET /v1/conversations/{conversation_id}/engineering/turns/{turn_id}`

Per-turn engineering waterfall reconstructed from stored observations.

Replaces the retired self-hosted ``…/turns/{turn_id}/telemetry`` read. Returns the
``TurnState.to_telemetry_dict()`` artifact the rich waterfall UI already renders (full detail,
PII-scrubbed per the org's config at emit time — ENG-686 T4).

## Path parameters

- `conversation_id` string, uuid, required
- `turn_id` string, uuid, required

## Response `200`

Successful Response

- TurnWaterfallResponse — Full per-turn engineering waterfall reconstructed from stored observations. ``trace`` is the ``TurnState.to_telemetry_dict()`` artifact the rich waterfall UI already renders (the live playground SSE stream emits the same shape). It is metadata-only at the production tier and carries the debug-tier fields when debug capture was on for the turn, mirroring the old self-hosted ``debug_log``.
  - `turn_id` string, uuid, required
  - `conversation_id` string, uuid, required
  - `trace` object, required

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `404` — Resource not found
- `422` — Validation Error

---

[API](https://skmtc.net/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.net/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/revisions/9cd7291d4228/schema)
