> ## Documentation Index
> Fetch the complete documentation index at: https://docs.danubeai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List My Workflows

> List every workflow you own, private and public, with execution stats

## Overview

Returns every workflow owned by the caller, newest first. Private workflows are included, so an agent can enumerate its own pipelines and not only the public catalog. Each item carries execution stats and schedule state.

**Auth:** Accepts either JWT or API key (`danube-api-key` header).

The Python and TypeScript SDKs do not wrap this endpoint yet. Call it directly, or use the `list_workflows` MCP tool with `scope: "mine"`.

## Query Parameters

This endpoint takes no query parameters. There is no server-side search or pagination. The full list is returned.

## Response

Returns an array of workflow summary objects.

<ResponseField name="id" type="string">
  Unique workflow identifier
</ResponseField>

<ResponseField name="name" type="string">
  Workflow name
</ResponseField>

<ResponseField name="description" type="string">
  What the workflow does
</ResponseField>

<ResponseField name="step_count" type="integer">
  Number of steps in the workflow. Instruction-based workflows with no steps report `0`.
</ResponseField>

<ResponseField name="owner_id" type="string">
  User ID of the workflow creator
</ResponseField>

<ResponseField name="visibility" type="string">
  `private` or `public`
</ResponseField>

<ResponseField name="tags" type="array">
  Tags for categorization
</ResponseField>

<ResponseField name="execution_mode" type="string">
  `template` for step-based workflows, `instructions` for instruction-based workflows
</ResponseField>

<ResponseField name="total_executions" type="integer">
  Number of recorded executions
</ResponseField>

<ResponseField name="success_rate" type="number">
  Percentage of executions that completed (0-100, one decimal). `null` when the workflow has not run yet.
</ResponseField>

<ResponseField name="schedule_enabled" type="boolean">
  Whether the cron schedule is active
</ResponseField>

<ResponseField name="schedule_cron" type="string">
  Five-field cron expression, or `null` when the workflow has no schedule
</ResponseField>

<ResponseField name="next_run_at" type="string">
  ISO 8601 timestamp of the next scheduled run, or `null`
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 creation timestamp
</ResponseField>

## Example

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.danubeai.com/v1/workflows/my" \
    -H "danube-api-key: YOUR_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Weather Alert Pipeline",
      "description": "Get weather forecast and send Slack notification",
      "step_count": 2,
      "owner_id": "user_456",
      "visibility": "private",
      "tags": ["weather", "notifications"],
      "execution_mode": "template",
      "total_executions": 12,
      "success_rate": 91.7,
      "schedule_enabled": true,
      "schedule_cron": "0 7 * * 1-5",
      "next_run_at": "2026-09-14T07:00:00Z",
      "created_at": "2026-09-01T12:00:00Z"
    },
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "name": "Weekly Inbox Digest",
      "description": "Summarize the week's email and post the digest to Slack",
      "step_count": 0,
      "owner_id": "user_456",
      "visibility": "public",
      "tags": ["email", "slack"],
      "execution_mode": "instructions",
      "total_executions": 0,
      "success_rate": null,
      "schedule_enabled": false,
      "schedule_cron": null,
      "next_run_at": null,
      "created_at": "2026-08-20T09:15:00Z"
    }
  ]
  ```
</ResponseExample>

## MCP Tool

The `list_workflows` MCP tool reads this endpoint when `scope` is `mine` or `all` (the default). Rows that come from it carry `owned_by_you: true`. Because the endpoint has no search, the tool applies `query` to your own workflows on the client by name and description.

```python theme={null}
result = await mcp.call_tool("list_workflows", {
    "scope": "mine",
    "limit": 10
})
```
