Back to docs
Python SDK

Flow Lists

List all deployed flows using the CLI or the Python SDK.

CLI command

dagy flows list [--profile <name>] [--limit <n>]

Flags

FlagDescriptionDefault
--profile <name>Dagy profile for API URL resolutionDefault profile
--limit <n>Page size for API pagination100

Requirements

An API URL must be configured, either via DAGY_API_URL, or through an api_url in the active profile.

Profile selection

The command uses the default profile, or a specific profile via --profile:

dagy flows list --profile staging

Output format

The table format is controlled by the table_format setting in the active profile. Configure it via:

dagy config

If no format is configured, the CLI defaults to heavy_grid.

Columns

ColumnDescription
flow_nameThe registered flow name
flow_versionThe flow version string
created_atWhen the flow was first registered
updated_atWhen the flow was last updated
artifact_s3_uriS3 URI of the deployment artifact

Pagination

The CLI automatically retrieves all pages from the API and presents a single table. The --limit flag controls the page size per API request, not the total number of results.

Examples

# List all flows using default profile
$ dagy flows list
┃ flow_name  ┃ flow_version ┃ created_at           ┃ updated_at           ┃ artifact_s3_uri                    ┃
┣━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ daily_etl  ┃ 1.0.0        ┃ 2026-03-01T12:00:00Z ┃ 2026-03-04T08:00:00Z ┃ s3://dagy-artifacts/.../artifact.. ┃
┃ ingest     ┃ 2.1.0        ┃ 2026-02-15T09:30:00Z ┃ 2026-02-28T14:20:00Z ┃ s3://dagy-artifacts/.../artifact.. ┃

# No flows found
$ dagy flows list
No flows found.

Error cases

ScenarioError
No API URL configuredMissing Dagy API URL. Set DAGY_API_URL or run 'dagy config'.
API unreachableAPIError 0: Unable to reach Dagy API at <url>.
Authentication failureAPIError 401: Unauthorized

Python SDK

You can also list flows programmatically:

from dagy import DagyClient

client = DagyClient("https://api.dagy.io")
response = client.list_flows(limit=50)
for flow in response.get("items", []):
    print(f"{flow['flow_name']}:{flow['flow_version']}")

The list_flows method supports pagination via the next_token parameter.

See also