# 批量更新任务状态

`POST` `/api/agent/schedule/batchUpdateStatusByAgentIds`

按智能体ID批量启用或暂停当前主体的定时任务，可选按触发类型进一步筛选。仅处理显式绑定到指定智能体且未删除的任务，不处理未绑定智能体、运行时使用主体默认智能体的任务。智能体ID会自动去重，去重后最多100个；触发类型不传、传null或空数组时均表示不筛选。重复设置相同状态按幂等方式处理。暂停只停止后续调度，不会终止已经开始执行的任务。

## 请求参数

### 请求头参数

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

### 请求体（JSON）

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| agentIds | array | 是 | 智能体ID列表，自动去重，去重后最多100个 |
| targetStatus | string | 是 | 目标状态，可选值：ENABLED、DISABLED |
| triggerTypes | array | 否 | 触发类型筛选条件，可选值：ONE_TIME、RECURRING、CRON；不传、传null或空数组均表示不按触发类型筛选 |

## 响应

### 200

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | BatchUpdateTaskStatusResponse | 响应数据 |
|     matchedTaskCount | integer | 命中筛选条件的有效任务数量：按智能体批量时为符合主体、智能体和触发类型条件的任务数，按任务ID批量时为传入ID中真实存在且属于当前主体的任务数 |
|     updatedTaskCount | integer | 成功更新为目标状态的任务数量 |
|     unchangedTaskCount | integer | 原状态已与目标状态相同、无需更新的任务数量 |
|     failedTaskCount | integer | 更新失败的任务数量 |
|     notFoundTaskIds | array | 未命中的任务ID列表：任务不存在、不属于当前主体或已删除。无效ID不会导致整批失败，其余有效任务照常变更；按智能体批量更新时该字段恒为空数组 |
| 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处理 |

