---
title: "List flow run steps"
method: GET
path: "/flow-runs/{flowRunId}/steps"
tags: ["Workflow Flows"]
---

# List flow run steps

`GET /flow-runs/{flowRunId}/steps`

## Request

- Base URL: `https://api.render.com/v1`
- URL: `https://api.render.com/v1/flow-runs/{flowRunId}/steps`
- Auth: HTTP bearer

List the steps a flow run has recorded, in the order the flow started them. A page can hold fewer than `limit` steps and still have more after it, so page until `hasMore` is false.

## Query parameters

- `cursor` string
- `limit` integer: Defaults to 20

## Response `200`

Page of flow run steps

- object
  - `steps` object[], required
    - `seq` integer, required: The step's position in the flow run. Steps are numbered densely in the order the flow started them.
    - `stepKey` string, required: The SDK's key for the step.
    - `name` string: For inline steps, the function's name. For detached steps, the task's registered name. Omitted for sleep steps.
    - `type` Type, required (unresolved $ref)
    - `status` Status, required (unresolved $ref)
    - `startedAt` string, date-time, required
    - `completedAt` string, date-time
    - `wakeAt` string, date-time: For sleep steps, when the sleep ends.
    - `childTaskRunId` string: For detached steps, the ID of the task run the step started.
  - `cursor` string: Pass as the `cursor` query parameter to fetch the next page. Absent on the last page.
  - `hasMore` boolean, required: Whether another page of steps follows this one.

## Other responses

- `400`: The request could not be understood by the server.
- `401`: Authorization information is missing or invalid.
- `403`: You do not have permissions for the requested resource. If a scoped API token does not satisfy the endpoint's minimum scope requirements, the response has code insufficient_token_scope and its message lists all minimum required scopes. Broader scopes that include their permissions also satisfy the requirements. Passing this check does not guarantee access to the requested resource or to conditional operations.
- `404`: Unable to find the requested resource.
- `429`: Rate limit has been surpassed. Rate-limited endpoints also return `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset` on successful responses so clients can track their remaining quota.
- `500`: An unexpected server error has occurred.
- `503`: Server currently unavailable.

## Changes

- **2026-11-03** `6ac5d3d47362`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/render/apis/render-public-api/changes/flow-runs/:flowRunId/steps/get.md)

---

[API](https://skmtc.dev/render/apis/render-public-api.md) - [All operations](https://skmtc.dev/render/apis/render-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/render/apis/render-public-api/revisions/6ac5d3d47362?raw)
