# 查看工作流详情

```{raw} html
<div class="mo-api-page-show-toc" aria-hidden="true"></div>
```

读取一个工作流的定义、运行配置和当前状态。

```text
GET https://api.moi.matrixorigin.cn/v5/workflow/v2/workflow-apps/{workflow_id}
```

## 调用前准备

先通过[查看工作流列表](list-workflows.md#查询参数)取得要读取的工作流。准备具有工作流读取权限的[个人访问令牌](../../../../../guides/genesis/api-keys.md#创建和管理个人访问令牌)和[目标工作区 ID](../../../../../guides/ai-studio/resource-center/workspace.md#复制工作区-id)。

## 路径参数

将 `$AI_STUDIO_API_KEY`、`$WORKSPACE_ID` 和 `$WORKFLOW_ID` 替换为实际值。

:::::::{div} mo-api-tabs
::::::{tab-set}
:::::{tab-item} 调用示例

```bash
curl "https://api.moi.matrixorigin.cn/v5/workflow/v2/workflow-apps/$WORKFLOW_ID" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID"
```

:::::
:::::{tab-item} 参数说明

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `workflow_id` | string | 是 | 要读取的工作流 ID。 |

:::::
::::::
:::::::

## 成功响应

成功时返回 200，并返回当前保存的工作流定义和配置。响应字段如下。

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} 响应示例

```json
{
  "code": "OK",
  "msg": "OK",
  "data": {
    "workflow": {
      "id": "wf-001",
      "name": "daily-import",
      "description": "导入每日文件",
      "source_type": "manual_dsl",
      "status": "ready",
      "available_actions": ["update", "delete", "run", "pause"],
      "execution_mode": "cron",
      "cron_expression": "0 2 * * *",
      "dsl_yaml": "workflow:\\n  name: daily-import\\n  root: main\\nroot:\\n  chain: []\\n",
      "default_values": {},
      "latest_workflow_version_id": "ver-001",
      "latest_version": 3,
      "latest_version_status": "ready",
      "execution_summary": {
        "total_executions": 8,
        "active_executions": 0
      },
      "trigger_summary": {
        "mode": "cron",
        "configured": true,
        "enabled": true,
        "cron_expression": "0 2 * * *"
      },
      "created_at": "2026-08-18T10:00:00Z",
      "updated_at": "2026-08-18T11:00:00Z"
    }
  }
}
```

:::::
:::::{tab-item} 字段说明

::::{tab-set}
:::{tab-item} 通用与基本信息

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | string | 成功时为 `OK`。 |
| `msg` | string | 成功时为 `OK`。 |
| `data` | object | 响应数据。 |
| `workflow` | object | 工作流详情。 |

下面表格展开响应示例中 `data` 下的 `workflow` 对象；每一行是该对象的一个字段。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `id` | string | 工作流 ID。 |
| `name` | string | 工作流名称。 |
| `description` | string | 工作流说明；未设置时可能省略。 |
| `source_type` | string | 工作流来源类型。 |
| `status` | string | 当前状态。 |
| `available_actions` | array of string | 当前状态允许的操作；再次调用前应重新读取。 |
| `execution_mode` | string | 已配置的运行方式。 |
| `cron_expression` | string | Cron 表达式；仅定时触发时返回。 |
| `goal` | string | 工作流目标；服务端提供时返回。 |
| `planner_model` | string | 规划模型；服务端提供时返回。 |
| `draft_id` | string | 草稿 ID；服务端提供时返回。 |
| `session_id` | string | 工作流会话 ID；服务端提供时返回。 |
| `candidate_id` | string | 候选 ID；服务端提供时返回。 |

:::
:::{tab-item} 定义与运行输入

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `dsl_yaml` | string | 工作流 DSL 的 YAML 文本。 |
| `run_context` | object | 运行上下文；服务端提供时返回。 |
| `runtime_fields` | object | 运行时输入表单；未配置时可能省略。 |
| `runtime_layout` | object | 运行时输入表单布局；未配置时可能省略。 |
| `default_values` | object | 运行时输入表单的默认值；未配置时可能省略。 |
| `design_graph` | object | 工作流设计图配置；未配置时可能省略。 |

:::
:::{tab-item} 版本、执行与触发器

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `moi_workflow_def_id` | string | 工作流定义 ID；服务端提供时返回。 |
| `latest_workflow_version_id` | string | 最新工作流版本 ID；服务端提供时返回。 |
| `latest_version` | integer | 最新工作流版本号；服务端提供时返回。 |
| `latest_version_status` | string | 最新工作流版本状态；服务端提供时返回。 |
| `execution_summary` | object | 执行汇总。 |
| `trigger_summary` | object | 触发器汇总。 |

`execution_summary` 用于查看执行情况，`trigger_summary` 用于查看当前触发方式。字段如下。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `total_executions` | integer | 执行总数。 |
| `active_executions` | integer | 活动执行数。 |
| `active_execution_id` | string | 当前活动执行 ID；没有活动执行时可能省略。 |
| `active_execution_status` | string | 当前活动执行状态；没有活动执行时可能省略。 |
| `latest_execution_id` | string | 最近一次执行 ID；没有执行记录时可能省略。 |
| `latest_execution_status` | string | 最近一次执行状态；没有执行记录时可能省略。 |
| `latest_execution_at` | string | 最近一次执行时间；没有执行记录时可能省略。 |
| `mode` | string | 触发方式。 |
| `configured` | boolean | 是否已配置。 |
| `enabled` | boolean | 是否已启用。 |
| `volume_id` | integer | 关联的卷 ID；仅卷触发时返回。 |
| `cron_expression` | string | Cron 表达式；仅定时触发时返回。 |
| `service_name` | string | 服务名称；仅动态服务时返回。 |

:::
:::{tab-item} 计算资源与时间

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `compute_resource_id` | string | 工作流级计算资源 ID；未关联时可能省略。 |
| `compute_resource_bindings` | array | 工作流或节点的计算资源绑定；未配置时可能省略。 |
| `id` | string | 计算资源 ID。 |
| `name` | string | 计算资源名称；服务端提供时返回。 |
| `workflow_level` | boolean | 是否为工作流级绑定。 |
| `node_names` | array of string | 使用该绑定的节点名称。 |
| `created_at` | string | 创建时间；服务端提供时返回。 |
| `updated_at` | string | 最后更新时间；服务端提供时返回。 |

:::
::::

:::::
::::::
:::::::

## 错误响应

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} 响应示例

```json
{
  "code": "ErrNotFound",
  "msg": "资源不存在",
  "data": null
}
```

:::::
:::::{tab-item} 字段说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | string | 错误代码。 |
| `msg` | string | 错误说明。 |
| `data` | null | 错误时为空。 |

:::::
::::::
:::::::

## 后续操作

记录 `data.workflow.id`。需要修改定义或配置时，[更新工作流](update-workflow.md#路径参数)；需要启动一次运行时，[启动工作流作业](../workflow-jobs/start-workflow-job.md#路径参数)。
