# 重试失败的任务

`POST` `/api/agent/run/retryTask`

对已失败的智能体运行发起重试，返回新的 requestId，客户端可通过 /run/stream 接口读取事件流。原请求若声明过 virtualTools，重试时沿用原请求快照中的定义，无需重传。

**迁移进来的历史运行不支持本操作**：通过定时任务「迁移历史运行记录」接口登记的运行（triggerSource 为 imported）只是历史留痕，没有真实的执行过程，对其调用本接口会返回 409 冲突。这类运行仅支持查询和随任务删除。原生运行的行为不受影响。

## 请求参数

### 请求头参数

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| X-Principal-Id | integer | 否 | 身份主体ID（Long类型）。通过API访问时必须传递以标识操作主体；通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。 |

### 请求体（JSON）

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| assistantMessageId | integer | 是 | 需要重试的助手消息ID，用于定位失败的运行节点 |

## 响应

### 200

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | AgentRunAsyncResponse | 响应数据 |
|     requestId | string | - |
|     sessionId | integer | - |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

### 400

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | object | 响应数据 |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

### 500

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | object | 响应数据 |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

