# 批量重试工作流作业

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

重试一个调度作业下的指定执行，或该调度作业下的全部失败执行。接口成功仅表示已接受批量重试请求。

```text
POST https://api.moi.matrixorigin.cn/v5/workflow/v2/workflow-apps/{workflow_id}/executions/batch-retry
```

## 调用前准备

先[查看工作流作业列表](../workflow-jobs/list-workflow-jobs.md#成功响应)，确定工作流、源调度作业和需要重试的范围。准备具有目标工作区访问权限的[个人访问令牌](../../../../../guides/genesis/api-keys.md#创建和管理个人访问令牌)和[目标工作区 ID](../../../../../guides/ai-studio/resource-center/workspace.md#复制工作区-id)。

需要目标工作流的运行权限；输入引用的文件、卷等资源还要分别满足访问权限。业务错误只返回 code 和 msg，不包含 data。

## 请求示例

示例中的凭据和资源标识需替换为当前调用者的实际值。

```bash
curl -X POST "https://api.moi.matrixorigin.cn/v5/workflow/v2/workflow-apps/$WORKFLOW_ID/executions/batch-retry" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "source_dispatch_job_id": "'"$SOURCE_DISPATCH_JOB_ID"'",
    "all_failed": true,
    "request_id": "retry-20260828-001"
  }'
```

## 路径参数

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `workflow_id` | string | 是 | 工作流 ID，位于请求路径中。 |

## 请求体

| 字段 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `source_dispatch_job_id` | string | 是 | 源调度作业 ID；不能为空。 |
| `execution_ids` | array 或 null | 否 | 要重试的执行 ID；使用此字段时不要传 `all_failed: true`。 |
| `all_failed` | boolean 或 null | 否 | 填 `true` 时重试源调度作业下的全部失败执行。 |
| `request_id` | string | 是 | 本次批量请求的唯一标识；不能为空。 |

request_id 用于标识同一选择集合的请求，须保持稳定并遵守接口的字节长度限制。同一键重放不等于重新唤醒运行；部分执行已经启动后，不能把相同键重试理解为保证全部成功。

## 成功响应

请求成功时返回 HTTP 200，响应如下。

accepted_count 是去重后的文件数量。指定执行时，所选执行必须属于同一来源且全部失败；空选集不接受。

```json
{
  "code": "OK",
  "msg": "OK",
  "data": {
    "source_dispatch_job_id": "dispatch-source-001",
    "dispatch_job_id": "dispatch-retry-001",
    "status": "waiting",
    "accepted_count": 1,
    "replayed": false
  }
}
```

响应字段如下。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `data.source_dispatch_job_id` | string | 源调度作业 ID。 |
| `data.dispatch_job_id` | string | 本次批量重试创建或复用的调度作业 ID。 |
| `data.status` | string | 批量重试请求当前状态；取值：`waiting`、`running`、`completed`、`failed`、`cancelled`。 |
| `data.accepted_count` | integer | 本次接受重试的执行数。 |
| `data.replayed` | boolean | 是否为同一 `request_id` 的重复请求。 |

## 错误响应

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

```json
{
  "code": "ErrParamInvalid",
  "msg": "请求参数无效"
}
```

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

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | string | 错误代码。 |
| `msg` | string | 可读错误信息。 |

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

## 后续操作

使用响应中的调度作业 ID [查看工作流作业列表](../workflow-jobs/list-workflow-jobs.md#成功响应)，确认重试执行的状态。
