---
title: "Approve a waiting step in a sub DAG-run"
method: POST
path: "/dag-runs/{name}/{dagRunId}/sub-dag-runs/{subDAGRunId}/steps/{stepName}/approve"
tags: ["dag-runs"]
---

# Approve a waiting step in a sub DAG-run

`POST /dag-runs/{name}/{dagRunId}/sub-dag-runs/{subDAGRunId}/steps/{stepName}/approve`

## Request

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

Approves a step that is in Waiting status within a sub DAG-run, optionally providing input parameters that will be available as environment variables in subsequent steps

## 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.
- `subDAGRunId` string, required
- `stepName` string, required

## Query parameters

- `remoteNode` string

## Request body

- ApproveStepRequest: Request body for approving a waiting step
  - `inputs` object: Key-value parameters to provide. These will be available as environment variables in subsequent steps.

## Response `200`

Step approved successfully

- ApproveStepResponse: Response after approving a waiting step
  - `dagRunId` string, required: The DAG run ID
  - `stepName` string, required: The approved step name
  - `resumed` boolean, required: Whether resume execution was accepted, directly or through a queue

## Other responses

- `400`: Step is not in Waiting status or required inputs missing
- `404`: Sub DAG-run or step not found
- `default`: Generic error response

## Changes

> 208 revisions in range; 1 not diffed.

- **2026-07-23** (v1) `75b8e91aaf57`: 9 warning
  - added the new `conflict` enum value to the `code` response property for the response status `400`
  - 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 `400`
  - …5 more
- **2026-05-24** (v1) `8a2d5d3e9608`: 3 warning
  - added the new `rate_limited` enum value to the `code` response property for the response status `400`
  - 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/:subDAGRunId/steps/:stepName/approve/post.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)
