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

# Update Webhook

> Update one or more fields on an existing webhook

## Update Webhook

```text theme={"dark"}
PATCH /v1/webhooks/:id
```

Updates one or more fields on an existing webhook.

### Path Parameters

| Parameter | Type | Description    |
| --------- | ---- | -------------- |
| `id`      | uuid | The webhook ID |

### Request Body

All fields are optional. Only provided fields will be updated.

| Field                   | Type      | Description                                                                   |
| ----------------------- | --------- | ----------------------------------------------------------------------------- |
| `name`                  | string    | Display name                                                                  |
| `description`           | string    | Description                                                                   |
| `url`                   | string    | Delivery URL                                                                  |
| `method`                | string    | HTTP method                                                                   |
| `event_types`           | string\[] | Subscribed event types                                                        |
| `auth_type`             | string    | Authentication type: `none`, `basic`, `bearer`, `hmac`, `header`              |
| `auth_config`           | object    | Authentication credentials                                                    |
| `request_headers`       | object    | Custom delivery headers                                                       |
| `route_filter`          | string\[] | Array of route UUIDs to filter events by                                      |
| `include_request_body`  | boolean   | Include request body                                                          |
| `include_response_body` | boolean   | Include response body                                                         |
| `include_headers`       | boolean   | Include headers                                                               |
| `timeout_seconds`       | integer   | Delivery timeout                                                              |
| `retry_on_failure`      | boolean   | Retry on failure                                                              |
| `max_retries`           | integer   | Max retry attempts                                                            |
| `enabled`               | boolean   | Enable or disable                                                             |
| `hmac_key_id`           | uuid      | Crypto Keys transit key for HMAC signing                                      |
| `hmac_format`           | string    | Signature format (`legacy`, `stripe`, `github`, `slack`, `aws-sns`, `custom`) |
| `hmac_header_name`      | string    | Custom header name when `hmac_format` is `custom`                             |

### Response

Returns `{ "data": { ... }, "meta": { ... } }` — the updated webhook fields: `id`, `name`, `description`, `url`, `method`, `event_types`, `auth_type`, `enabled`, `created_at`. The `secret_key` is never returned after creation.

### Errors

| Status | Type               | Description              |
| ------ | ------------------ | ------------------------ |
| 400    | `validation_error` | No valid fields provided |
| 404    | `not_found`        | Webhook not found        |
