注册任务终止事件的 webhook 回调。
订阅调用方提供的 HTTPS 端点接收任务到达终止态(succeeded /
failed / canceled / timeout / rejected)时的 POST 回调。
按 (task_id, url) 幂等 —— 同 URL 重注册更新 token。
实现说明:openapi-gateway 零 DB;底层订阅由 A2A Service 存在
它的 webhooks 表。webhook 触发不管任务由哪个协议创建(OpenAPI
/ A2A / MCP)—— 同一行、不同的 protocol_filter。
授权
通过 Authorization: Bearer <token> header 传用户 JWT 或
oag_ User API Key。两者都由 openapi-gateway 对 Auth
service 验证。
JWT 与 API Key 都是 user-scoped:每个 key(以及每个 JWT) 绑定到唯一 owner,所有路由都自动放开该 owner 名下的全部资源。 跨租户访问由 handler 内的 owner-ACL 拦截 —— API 表面没有 per-route scope 词汇。
v1.1.0 已移除: 历史 scope 词汇(
agents:*/tasks:*/files:*/instances:*)以及403 insufficient_scope错误码已下线。已签发的oag_key 自动获得 owner 全权限, 无需重建。之前显式传scopes调用createAPIKey的 SDK 客户端可以直接删除该参数。详见文末 changelog 迁移说明。
请求体
POST 回调到的绝对 HTTPS 端点。接收方拿到协议特定 payload (OpenAPI:task event 信封;A2A:JSON-RPC StreamResponse; MCP:notification)。
可选 bearer token,每次回调上作为 Authorization: Bearer <token>
发,接收方据此验证调用。
P2-A —— HMAC-SHA256 签名 key。设了时投递器签名每次回调
body、发 X-BeeOS-Signature: t=<unix>,v1=<hex>,其中
hex = hmac_sha256(secret, t || "." || body)。接收方
应重跑同样 HMAC 鉴证;时间戳不匹配(推荐 ±5 分钟容忍)
应拒绝以防回放。
只写。Get / List 响应从不 echo;TaskWebhookResponse
上的 has_secret 布尔是唯一可观察信号。轮转方式:Set
新值;update 时传 "" 保留已有 secret(清除请 DELETE +
重注册)。
16 - 256