---
{
  "id": "platform.webhook.lifecycle",
  "topic": "webhook",
  "title": "Webhook 生命週期與恢復",
  "locale": "zh-TW",
  "version": "2026-08-09",
  "summary": "Active、paused、cancelled、disabled 與實際到期有不同語意，只有可恢復狀態能重新啟用。",
  "content": "active 且 enabled 的 webhook 才會接受通過驗證的 inbound 事件。自動保護機制可能把資料列狀態設成 `paused`；可用 `arinova.webhook.update_webhook` 傳入 `status: active` 恢復，恢復時會清除暫停時間與原因。update 不提供由使用者主動把 webhook 設為 paused 的操作。Update 與 cancellation 都要求此 Agent 的 per-Webhook `write` grant；拒絕刻意回 `resource_not_found`。\n\n`enabled: false` 只會停用接收，不等於取消，可再透過 update 改回。`expiresAt` 是另一個時間閘門：超過時間後，inbound 會得到 expired/gone 結果；要修改或清除到期時間，同樣使用 update 的 `expiresAt`。\n\n`arinova.webhook.cancel_webhook` 是需要確認、strict drift 的 soft cancellation。它會保存 `status: cancelled` 與 `paused_reason: user_cancelled`，重複取消是安全的。取消後資料仍保留供稽核，但不能再 update 或 resume；若要重新接收，必須建立新的 webhook。\n\n因此 paused、disabled、cancelled、expired 不可混為一談。只有可恢復的 paused 或 disabled 入口適合重新啟用；提出生命週期操作前，先以 `arinova.webhook.get_webhook` 確認目前狀態。Owner 在 Office > Incoming Webhooks 管理 grants 與生命週期。Office Agent 也可能把 Webhook 當 collaboration context；terminal Webhook 可繼續用來解釋歷史或重建方式，但不能 resume 或 mutate。\n",
  "aliases": [
    "webhook 狀態",
    "active",
    "paused",
    "cancelled",
    "expired",
    "取消 webhook",
    "恢復 webhook"
  ],
  "tags": [
    "cancellation",
    "expiry",
    "lifecycle",
    "resume"
  ],
  "relatedActions": [
    "arinova.webhook.get_webhook",
    "arinova.webhook.update_webhook",
    "arinova.webhook.cancel_webhook"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/zh-tw/kb/webhook/lifecycle/"
}
---

active 且 enabled 的 webhook 才會接受通過驗證的 inbound 事件。自動保護機制可能把資料列狀態設成 `paused`；可用 `arinova.webhook.update_webhook` 傳入 `status: active` 恢復，恢復時會清除暫停時間與原因。update 不提供由使用者主動把 webhook 設為 paused 的操作。Update 與 cancellation 都要求此 Agent 的 per-Webhook `write` grant；拒絕刻意回 `resource_not_found`。

`enabled: false` 只會停用接收，不等於取消，可再透過 update 改回。`expiresAt` 是另一個時間閘門：超過時間後，inbound 會得到 expired/gone 結果；要修改或清除到期時間，同樣使用 update 的 `expiresAt`。

`arinova.webhook.cancel_webhook` 是需要確認、strict drift 的 soft cancellation。它會保存 `status: cancelled` 與 `paused_reason: user_cancelled`，重複取消是安全的。取消後資料仍保留供稽核，但不能再 update 或 resume；若要重新接收，必須建立新的 webhook。

因此 paused、disabled、cancelled、expired 不可混為一談。只有可恢復的 paused 或 disabled 入口適合重新啟用；提出生命週期操作前，先以 `arinova.webhook.get_webhook` 確認目前狀態。Owner 在 Office > Incoming Webhooks 管理 grants 與生命週期。Office Agent 也可能把 Webhook 當 collaboration context；terminal Webhook 可繼續用來解釋歷史或重建方式，但不能 resume 或 mutate。
