---
title: "Get sub DAG runs with timing info"
method: GET
path: "/dag-runs/{name}/{dagRunId}/sub-dag-runs"
tags: ["dag-runs"]
---

# Get sub DAG runs with timing info

`GET /dag-runs/{name}/{dagRunId}/sub-dag-runs`

## Request

- Base URL: `http://localhost/api/v1`
- URL: `http://localhost/api/v1/dag-runs/{name}/{dagRunId}/sub-dag-runs`
- Auth: one of:
  - HTTP bearer
  - HTTP basic
  - none

Retrieves timing and status information for all sub DAG runs (including repeated executions) of a specific step. When parentSubDAGRunId is provided, returns sub-runs of that specific sub DAG run (for multi-level nested DAGs).

## Path parameters

- `name` string, regex, required: Name of the DAG
- `dagRunId` string, required: Unique identifier for the DAG-run. The special value 'latest' can be used to reference the most recent DAG-run.

## Query parameters

- `remoteNode` string
- `parentSubDAGRunId` string

## Response `200`

A successful response

- object
  - `subRuns` SubDAGRunDetail[], required
    - `dagRunId` string, required: Unique identifier for the DAG-run. The special value 'latest' can be used to reference the most recent DAG-run.
    - `params` string: Parameters passed to the sub DAG-run in JSON format
    - `dagName` string: Name of the executed sub-DAG. For chat tool calls, this is the tool DAG name.
    - `status` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, required: Numeric status code indicating current DAG-run state: 0: "Not started" 1: "Running" 2: "Failed" 3: "Aborted" 4: "Success" 5: "Queued" 6: "Partial Success" 7: "Waiting for manual action" 8: "Rejected"
    - `statusLabel` 'not_started' | 'running' | 'failed' | 'aborted' | 'succeeded' | 'queued' | 'partially_succeeded' | 'waiting' | 'rejected', required: Human-readable status description for the DAG-run
    - `startedAt` string, required: RFC 3339 timestamp with millisecond precision when the sub DAG-run started
    - `finishedAt` string: RFC 3339 timestamp with millisecond precision when the sub DAG-run finished

## Other responses

- `404`: DAG run not found
- `default`: Generic error response

## Changes

> 208 revisions in range; 1 not diffed.

- **2026-07-23** (v1) `75b8e91aaf57`: 6 warning
  - added the new `conflict` enum value to the `code` response property for the response status `404`
  - added the new `conflict` enum value to the `code` response property for the response status `default`
  - added the new `human_task_resume_failed` enum value to the `code` response property for the response status `404`
  - added the new `human_task_resume_failed` enum value to the `code` response property for the response status `default`
  - …2 more
- **2026-05-24** (v1) `8a2d5d3e9608`: 2 warning
  - added the new `rate_limited` enum value to the `code` response property for the response status `404`
  - added the new `rate_limited` enum value to the `code` response property for the response status `default`
- **2026-02-04** (v1) `a047d6ba27d5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dagucloud/apis/dagu/changes/dag-runs/:name/:dagRunId/sub-dag-runs/get.md)

---

[API](https://skmtc.dev/dagucloud/apis/dagu.md) - [All operations](https://skmtc.dev/dagucloud/apis/dagu/llms.txt) - [OpenAPI document](https://skmtc.dev/dagucloud/apis/dagu/revisions/742c8ecb39ce?raw)
