---
title: "Get Step Run Rows"
method: GET
path: "/api/v1/runs/{run_id}/steps/{step_id}/rows"
tags: ["run-history"]
---

# Get Step Run Rows

`GET /api/v1/runs/{run_id}/steps/{step_id}/rows`

Head-sample of rows in this StepRun's step output.

Every step always runs full (incremental-rethink Task 10) — there is
no per-run watermark window to slice by any more. This endpoint used
to slice a ``(prior_watermark, this_watermark]`` window for
incremental StepRuns; that branch was already dead in practice
(nothing has written ``StepRun.output_watermark``/``execution_mode_used``
since Task 9) and the columns themselves are dropped in Task 13.
Always returns a head-sample of the step's cumulative output parquet
plus its total row count.

## Path parameters

- `run_id` string, uuid, required
- `step_id` string, uuid, required

## Query parameters

- `limit` integer

## Response `200`

Successful Response

- StepRunRowsResponse — Head-sample of rows in a single StepRun's step output. Incremental-rethink Task 13 dropped the watermark-window slicing this used to do (``execution_mode_used`` / ``output_watermark`` no longer exist — every step always runs full, Task 10). This is now a plain head-sample of the step's cumulative output parquet.
  - `step_run_id` string, uuid, required
  - `rows_processed` integer, nullable, required
  - `total_rows` integer, nullable
  - `rows` object[], required
  - `truncated` boolean, required
  - `duration_ms` integer, nullable
  - `logs` string, nullable
  - `error` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/netter/apis/dmi-backend.md) · [All operations](https://skmtc.net/netter/apis/dmi-backend/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/netter/dmi-backend/versions/a59877bf911b/schema)
