---
title: "List all available DAGs"
method: GET
path: "/dags"
tags: ["dags"]
---

# List all available DAGs

`GET /dags`

Retrieves DAG definitions with optional filtering by name and labels

## Query parameters

- `page` integer
- `perPage` integer
- `remoteNode` string
- `workspace` string
- `name` string
- `labels` string
- `tags` string
- `sort` 'name' | 'nextRun'
- `order` 'asc' | 'desc'

## Response `200`

A successful response

- object
  - `dags` DAGFile[], required — List of DAG definitions with their status and metadata
    - `fileName` string, required — File ID of the DAG file
    - `filePath` string — Absolute file path of the DAG file on disk
    - `dag` DAG, required — unresolved $ref
    - `latestDAGRun` DAGRunSummary, required — Current status of a DAG-run
      - `dagRunId` string, required — Unique identifier for the DAG-run. The special value 'latest' can be used to reference the most recent DAG-run.
      - `name` string, regex, required — Name of the DAG
      - `workspace` string — Workspace label value for the DAG-run. Omitted for default DAG-runs and invalid workspace labels.
      - `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 approval" 8: "Rejected"
      - `statusLabel` 'not_started' | 'running' | 'failed' | 'aborted' | 'succeeded' | 'queued' | 'partially_succeeded' | 'waiting' | 'rejected', required — Human-readable status description for the DAG-run
      - `queuedAt` string — RFC 3339 timestamp when the DAG-run was queued
      - `autoRetryCount` integer, required — Number of scheduler-issued DAG auto-retries already consumed for this DAG-run
      - `autoRetryLimit` integer, nullable — Configured DAG-level automatic retry limit captured for this DAG-run; null when DAG-level automatic retry is not configured
      - `scheduleTime` string — RFC 3339 timestamp of when the DAG-run was scheduled to run
      - `startedAt` string, required — RFC 3339 timestamp when the DAG-run started
      - `finishedAt` string, required — RFC 3339 timestamp when the DAG-run finished
      - `artifactsAvailable` boolean, required — Whether artifact files are available for this DAG-run
      - `params` string — Runtime parameters passed to the DAG-run in JSON format
      - `workerId` string — ID of the worker that executed this DAG-run ('local' for local execution)
      - `triggerType` 'unknown' | 'scheduler' | 'manual' | 'webhook' | 'subdag' | 'retry' | 'catchup' — How the DAG-run was initiated
      - `labels` string[] — List of labels for categorizing and filtering DAG runs
      - `tags` string[] — Deprecated alias for labels. List of labels for categorizing and filtering DAG runs
    - `nextRun` string, date-time — Scheduler-aware next planned run time. Pending overdue one-offs remain visible until consumed.
    - `suspended` boolean, required — Whether the DAG is suspended
    - `errors` string[], required — List of errors encountered during the request
  - `errors` string[], required — List of errors encountered during the request
  - `pagination` Pagination, required
    - `totalRecords` integer, required — total number of records
    - `currentPage` integer, required — current page number
    - `totalPages` integer, required — total number of pages
    - `nextPage` integer, required — next page number
    - `prevPage` integer, required — previous page number

## Other responses

- `default` — Generic error response

## Changes

- **2026-05-24** (v1) `8a2d5d3e9608` — 1 warning
  - added the new `rate_limited` enum value to the `code` response property for the response status `default`
- **2026-05-19** (v1) `7699c11d9c61` — 1 info
  - added the optional property `dags/items/dag/resources` to the response with the `200` status
- **2026-04-30** (v1) `50e1d517afc1` — 4 warning, 1 info
  - removed the optional property `dags/items/dag/resources` from the response with the `200` status
  - removed the optional property `dags/items/dag/schedule/items/profile` from the response with the `200` status
  - removed the optional property `dags/items/latestDAGRun/conditions` from the response with the `200` status
  - removed the optional property `dags/items/latestDAGRun/profileName` from the response with the `200` status
  - …1 more

[Change history](https://skmtc.dev/dagucloud/apis/dagu/changes/dags/get.md)

---

[API](https://skmtc.dev/dagucloud/apis/dagu.md) · [All operations](https://skmtc.dev/dagucloud/apis/dagu/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dagucloud/dagu/revisions/8a2d5d3e9608/schema)
