创建 Hooks 规则接口

为一个 Agent 事件创建 Hook 配置,提交名称、事件、JSON 配置数组和启用状态。同一组织内名称不能重复,每个事件只能有一组配置;保存成功不代表数组中的命令已执行验证。

所需权限

所需权限资源Scope资源服务
Hooks 规则管理(管理)hooksadmin.v1.hooks.manageqwenwork-biz-service

POST /api/openapi/v1/hook-policies

认证与请求头

使用应用 API Key 调用。当前接口校验上方独立 Scope;读取、管理与执行权限互不包含。

名称位置类型必填说明示例
Authorizationheaderstring应用 API Key,使用 Bearer 方式传递。Bearer qwk_\\*
X-Request-Idheaderstring可选的调用追踪标识;未传入时由服务端生成。req-20260831-001

请求参数

名称位置类型必填说明示例
Idempotency-Keyheaderstring必填本次写操作的幂等键。同一操作重试时复用相同键和请求内容,避免重复处理。"<string>"
configbodyany必填该事件的 Hook 配置,必须是 JSON 数组。服务端保存数组原文,只校验 JSON 语法和顶层数组结构,不校验数组内的脚本或命令能否执行。[]
descriptionbodystring必填Hook 配置的用途说明。 最多字符数:500。"<string>"
enabledbodyboolean | null必填是否启用这项配置。false
event_namebodystring必填触发事件:SessionStart(会话开始)、UserPromptSubmit(提交用户输入)、PreToolUse(工具调用前)、PostToolUse(工具调用后)、Stop(停止)或 Notification(通知)。"SessionStart"
namebodystring必填Hook 配置的名称。 最多字符数:80。"<string>"

请求示例

将 <BASE_URL> 替换为企业部署的千问办公 API 服务地址,并填写实际参数。示例中的占位值不能直接用于请求。

curl --request POST --url '<BASE_URL>/api/openapi/v1/hook-policies' --header 'Authorization: Bearer <API_KEY>' --header 'Idempotency-Key: <UNIQUE_REQUEST_ID>' --header 'Content-Type: application/json' --data '{  "config": [],  "description": "<string>",  "enabled": false,  "event_name": "SessionStart",  "name": "<string>"}'

响应

201 创建成功,返回新建的记录。

名称类型必填说明示例
configany该事件的 Hook 配置,必须是 JSON 数组。服务端保存数组原文,只校验 JSON 语法和顶层数组结构,不校验数组内的脚本或命令能否执行。[]
created_atstring · date-time此记录的创建时间。"2026-08-27T10:00:00Z"
descriptionstringHook 配置的用途说明。"<string>"
enabledboolean是否启用这项配置。false
event_namestring触发事件:SessionStart(会话开始)、UserPromptSubmit(提交用户输入)、PreToolUse(工具调用前)、PostToolUse(工具调用后)、Stop(停止)或 Notification(通知)。"<string>"
idstring此记录的唯一标识,查询、更新或删除对应记录时使用。"<string>"
namestringHook 配置的名称。"<string>"
updated_atstring · 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 请求失败,返回错误码和错误详情。

名称类型必填说明示例
codestring用于程序判断错误原因的稳定业务错误码。"<string>"
detailstring便于阅读的错误说明。"<string>"
detailsOpenapiErrorDetails字段校验失败时的详细信息。{"field":"<string>","reason":"<string>","suggestion":"<string>"}
details.fieldstring未通过校验的请求字段。"<string>"
details.reasonstring稳定的校验失败原因,用于判断字段为何不合法。"<string>"
details.suggestionstring建议采用的规范化字段值。"<string>"
errorstring稳定的 HTTP 错误类型。"<string>"
{
  "code": "<string>",
  "detail": "<string>",
  "details": {
    "field": "<string>",
    "reason": "<string>",
    "suggestion": "<string>"
  },
  "error": "<string>"
}