完整替换指定 Hook 的名称、说明、触发事件、配置数组和启用状态。即使只调整启用状态,也需按此接口的请求模型提交完整配置。
所需权限
| 所需权限 | 资源 | Scope | 资源服务 |
|---|
| Hooks 规则管理(管理) | hooks | admin.v1.hooks.manage | qwenwork-biz-service |
PATCH /api/openapi/v1/hook-policies/{policyId}
认证与请求头
使用应用 API Key 调用。当前接口校验上方独立 Scope;读取、管理与执行权限互不包含。
| 名称 | 位置 | 类型 | 必填 | 说明 | 示例 |
|---|
| Authorization | header | string | 是 | 应用 API Key,使用 Bearer 方式传递。 | Bearer qwk_\\* |
| X-Request-Id | header | string | 否 | 可选的调用追踪标识;未传入时由服务端生成。 | req-20260831-001 |
请求参数
| 名称 | 位置 | 类型 | 必填 | 说明 | 示例 |
|---|
| policyId | path | string · uuid | 必填 | 需要操作的策略标识。 | "<uuid>" |
| config | body | any | 必填 | 该事件的 Hook 配置,必须是 JSON 数组。服务端保存数组原文,只校验 JSON 语法和顶层数组结构,不校验数组内的脚本或命令能否执行。 | [] |
| description | body | string | 必填 | Hook 配置的用途说明。 最多字符数:500。 | "<string>" |
| enabled | body | boolean | null | 必填 | 是否启用这项配置。 | false |
| event_name | body | string | 必填 | 触发事件:SessionStart(会话开始)、UserPromptSubmit(提交用户输入)、PreToolUse(工具调用前)、PostToolUse(工具调用后)、Stop(停止)或 Notification(通知)。 | "SessionStart" |
| name | body | string | 必填 | Hook 配置的名称。 最多字符数:80。 | "<string>" |
请求示例
将 <BASE_URL> 替换为企业部署的千问办公 API 服务地址,并填写实际参数。示例中的占位值不能直接用于请求。
curl --request PATCH --url '<BASE_URL>/api/openapi/v1/hook-policies/<policyId>' --header 'Authorization: Bearer <API_KEY>' --header 'Content-Type: application/json' --data '{ "config": [], "description": "<string>", "enabled": false, "event_name": "SessionStart", "name": "<string>"}'
响应
200 请求成功,返回当前或更新后的数据。
| 名称 | 类型 | 必填 | 说明 | 示例 |
|---|
| config | any | 是 | 该事件的 Hook 配置,必须是 JSON 数组。服务端保存数组原文,只校验 JSON 语法和顶层数组结构,不校验数组内的脚本或命令能否执行。 | [] |
| created_at | string · date-time | 是 | 此记录的创建时间。 | "2026-08-27T10:00:00Z" |
| description | string | 是 | Hook 配置的用途说明。 | "<string>" |
| enabled | boolean | 是 | 是否启用这项配置。 | false |
| event_name | string | 是 | 触发事件:SessionStart(会话开始)、UserPromptSubmit(提交用户输入)、PreToolUse(工具调用前)、PostToolUse(工具调用后)、Stop(停止)或 Notification(通知)。 | "<string>" |
| id | string | 是 | 此记录的唯一标识,查询、更新或删除对应记录时使用。 | "<string>" |
| name | string | 是 | Hook 配置的名称。 | "<string>" |
| updated_at | string · date-time | 是 | 此记录最后一次更新的时间。 | "2026-08-27T10:00:00Z" |
{
"config": [],
"created_at": "2026-08-27T10:00:00Z",
"description": "<string>",
"enabled": false,
"event_name": "<string>",
"id": "<string>",
"name": "<string>",
"updated_at": "2026-08-27T10:00:00Z"
}
default 请求失败,返回错误码和错误详情。
| 名称 | 类型 | 必填 | 说明 | 示例 |
|---|
| code | string | 否 | 用于程序判断错误原因的稳定业务错误码。 | "<string>" |
| detail | string | 是 | 便于阅读的错误说明。 | "<string>" |
| details | OpenapiErrorDetails | 否 | 字段校验失败时的详细信息。 | {"field":"<string>","reason":"<string>","suggestion":"<string>"} |
| details.field | string | 否 | 未通过校验的请求字段。 | "<string>" |
| details.reason | string | 否 | 稳定的校验失败原因,用于判断字段为何不合法。 | "<string>" |
| details.suggestion | string | 否 | 建议采用的规范化字段值。 | "<string>" |
| error | string | 是 | 稳定的 HTTP 错误类型。 | "<string>" |
{
"code": "<string>",
"detail": "<string>",
"details": {
"field": "<string>",
"reason": "<string>",
"suggestion": "<string>"
},
"error": "<string>"
}