agency-board

POST /v1/agency/boards/{boardId}/webhooks

Add an outbound webhook.

所有 agency-board 端点

身份验证

请将 API 密钥作为 bearer 令牌发送。此端点在规范中未指明具体的权限,因此请为您的密钥赋予所需的最小权限,并通过检查响应来确认,而不是盲目假设。

此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。

免费试用

将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。

curl -X POST https://api.zinndigital.com/v1/agency/boards/{boardId}/webhooks \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "name": <string>, "url": <string> }'

已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点

详细信息

HTTPS only. We mint the signing secret and return it **once, in this response**. There is no endpoint that can read it back, so keep it — rotate to get a new one. Deliveries are signed `X-Zinn-Signature: sha256=<hmac over "<timestamp>.<body>">` with `X-Zinn-Timestamp`, `X-Zinn-Delivery` and `X-Zinn-Event` beside them. The timestamp is bound INTO the signature so a captured request cannot be replayed for ever, and so a receiver cannot be tricked about which timestamp it was.

参数

名称类型必填内容简介
boardId (path)UuidProject board ID (UUIDv7).

请求正文

名称类型必填内容简介
namestring
urlstringHTTPS only. Private and link-local addresses are refused when the socket opens, not when you save.
eventsstring[]Empty means every event this board emits.
statusstring<enabled, disabled>

响应

名称类型必填内容简介
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
board_idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
namestring
urlstring
eventsstring[]
statusBoardAutomationStatus`suspended` means WE paused it after repeated failure and it carries a reason the customer has not read. It is a third state rather than a reuse of `disabled`, because collapsin…
has_secretbooleanWhether a signing secret is stored. The secret itself is in Vault and is returned only by create and rotate; no endpoint can read it back.
consecutive_failuresinteger
suspended_reasonstringWhy we paused this webhook, in authored copy from a closed table — never an exception from our own code. It distinguishes your endpoint refusing a delivery, your endpoint being…
suspended_atstring
last_delivered_atstring
last_failed_atstring
created_atstring
secretstringShown ONCE, here. Store it now; rotate to get a new one.

此端点可能返回的错误

401 · 403 · 404 · 422