> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fortary.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update webhook

<Info>
  **Pre-release** — contact your Fortary account team for access.
</Info>

<Warning>
  **Illustrative reference.** These examples show the shape of the API and are provided for early evaluation while it is still being finalized. Field names and response details may change before the API is released. A complete reference, generated directly from the live API, will replace these examples once it is available.
</Warning>

Updates a webhook. All fields are optional; at least one is required. Requires the `webhook:manage` scope.

## Request

```bash theme={null}
curl -X PATCH https://customer-api.fortary.io/v1/webhooks/whs_9b2f4e1a7c \
  -H "Authorization: Bearer fort_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/fortary/webhooks-v2",
    "eventKinds": ["transaction.confirmed"],
    "status": "ENABLED"
  }'
```

* **`url`** — new HTTPS endpoint.
* **`eventKinds`** — replaces the delivered [event kinds](/api/reference/webhooks/event-types).
* **`vaultIds`** — replaces the vault allowlist; `null` clears it (all vaults).
* **`status`** — `ENABLED` or `DISABLED`. Re-enabling resets the failure counter.
* **`description`** — new label, or `null` to clear it.

`entityIds` and `notificationEmail` are set at creation and cannot be changed. Changes take effect on the next delivery attempt — including deliveries already retrying. Disabling cancels in-flight deliveries at their next attempt. A deleted webhook cannot be updated.

## Response

The updated webhook — fields as in [Get webhook](/api/reference/webhooks/get-webhook).

```json theme={null}
{
  "id": "whs_9b2f4e1a7c",
  "url": "https://example.com/fortary/webhooks-v2",
  "eventKinds": ["transaction.confirmed"],
  "status": "ENABLED",
  "disabledReason": null,
  "consecutiveExhaustedCount": 0,
  "updatedAt": "2026-06-11T08:15:20Z"
}
```

Errors follow the standard [error envelope](/api/concepts/errors).
