---
title: "Summarize DAG-run activity"
method: GET
path: "/dag-run-activity"
tags: ["dag-runs"]
---

# Summarize DAG-run activity

`GET /dag-run-activity`

## Request

- Base URL: `http://localhost/api/v1`
- URL: `http://localhost/api/v1/dag-run-activity`
- Auth: one of:
  - HTTP bearer
  - HTTP basic
  - none

Lists the DAG-runs created in a time window, newest first, one page at
a time. The first page also lists the DAGs whose latest run did not
succeed, runs still in progress (including ones created before the
window), queues with work, and the next scheduled runs. Without fromDate, the window is
the last `hours` hours, aligned to a 96th of its length. To load older
runs, pass the first page's from and to as fromDate and toDate, with
nextCursor as cursor.

## Query parameters

- `remoteNode` string
- `workspace` string
- `fromDate` integer: Unix timestamp in seconds
- `toDate` integer: Unix timestamp in seconds
- `hours` integer
- `labels` string
- `cursor` string

## Response `200`

A successful response

- DAGRunActivity: One page of DAG-run activity for a time window
  - `from` integer, required: Window start as Unix seconds
  - `to` integer, required: Window end as Unix seconds
  - `runs` DAGRunActivityRun[], required: Up to 100 runs created in the window, newest first
    - `name` string, required: DAG name
    - `dagRunId` string, required
    - `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"
    - `startedAt` integer: Start as Unix seconds, or the queue time when the run has not started
    - `finishedAt` integer: Finish as Unix seconds
    - `failedStep` string: First failed step; set on attention runs
    - `error` string: Error of the failed step or the run, shortened; set on attention runs
    - `queue` string: Queue the run runs or waits in; set on active runs
  - `nextCursor` string: Opaque cursor for loading the next page of older runs
  - `attention` DAGRunActivityRun[], required: First page only: the latest run of each DAG whose latest run was created in the window and did not succeed, newest first, at most 20
    - `name` string, required: DAG name
    - `dagRunId` string, required
    - `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"
    - `startedAt` integer: Start as Unix seconds, or the queue time when the run has not started
    - `finishedAt` integer: Finish as Unix seconds
    - `failedStep` string: First failed step; set on attention runs
    - `error` string: Error of the failed step or the run, shortened; set on attention runs
    - `queue` string: Queue the run runs or waits in; set on active runs
  - `active` DAGRunActivityRun[], required: First page only: runs still running, waiting, or queued, oldest first, at most 100, including up to 50 live runs created before the window
    - `name` string, required: DAG name
    - `dagRunId` string, required
    - `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"
    - `startedAt` integer: Start as Unix seconds, or the queue time when the run has not started
    - `finishedAt` integer: Finish as Unix seconds
    - `failedStep` string: First failed step; set on attention runs
    - `error` string: Error of the failed step or the run, shortened; set on attention runs
    - `queue` string: Queue the run runs or waits in; set on active runs
  - `upcoming` DAGRunActivityUpcoming[], required: First page only: next scheduled runs, soonest first
    - `name` string, required
    - `fileName` string, required
    - `nextRun` integer, required: Next scheduled run as Unix seconds
  - `queues` DAGRunActivityQueue[], required: First page only: queues with runs running or waiting, the longest wait first, at most 20
    - `name` string, required
    - `running` integer, required: Number of runs running; a lower bound when runningCapped is set
    - `runningCapped` boolean: True when reading running runs stopped early, so running is a lower bound
    - `maxConcurrency` integer: Maximum number of runs the queue runs at once
    - `queued` integer, required: Number of runs waiting; a lower bound when queuedCapped is set
    - `queuedCapped` boolean: True when counting stopped early, so queued is a lower bound
    - `nextQueuedAt` integer: When the next run in line was queued, as Unix seconds
    - `blockedReason` 'noMatchingWorker' | 'noAvailableWorker' | 'workerDispatchUnavailable': Why queued runs cannot start: no healthy worker matches their selector, no healthy worker exists, or runs cannot be handed to workers
  - `diskUsedPercent` integer: First page only: how full the data directory's disk is, in percent; set only when it is at least 90 and the caller may view system status

## Other responses

- `400`: The window, filters, or cursor are invalid
- `default`: Generic error response

## Changes

> 208 revisions in range; 1 not diffed.

- **2026-10-14** (v1) `c265ee525530`: 2 info
  - added the optional property `diskUsedPercent` to the response with the `200` status
  - added the optional property `queues/items/blockedReason` to the response with the `200` status
- **2026-10-14** (v1) `3f0be38e8956`: 4 info
  - added the optional property `active/items/queue` to the response with the `200` status
  - added the optional property `attention/items/queue` to the response with the `200` status
  - added the optional property `runs/items/queue` to the response with the `200` status
  - added the required property `queues` to the response with the `200` status
- **2026-10-14** (v1) `295652b28ee0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dagucloud/apis/dagu/changes/dag-run-activity/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)
