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

# Update Webhook

> Update an existing webhook's configuration

## Path Parameters

<ParamField path="id" type="string" required>
  The unique identifier of the webhook
</ParamField>

## Request Body

All fields are optional.

<ParamField body="name" type="string">
  Display name for the webhook
</ParamField>

<ParamField body="url" type="string">
  Webhook endpoint URL
</ParamField>

<ParamField body="is_active" type="boolean">
  Enable or disable the webhook
</ParamField>

<ParamField body="events" type="array">
  Event types to send to this webhook
</ParamField>

## Response

Returns the updated webhook object.

<RequestExample>
  ```bash cURL theme={null}
  curl -X PATCH "https://kodostatus.com/api/v1/webhooks/550e8400-e29b-41d4-a716-446655440000" \
    -H "X-API-Key: your_api_key" \
    -H "Content-Type: application/json" \
    -d '{
      "is_active": true,
      "events": ["incident.created", "incident.updated", "incident.resolved"]
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://kodostatus.com/api/v1/webhooks/550e8400-e29b-41d4-a716-446655440000', {
    method: 'PATCH',
    headers: {
      'X-API-Key': 'your_api_key',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      is_active: true,
      events: ['incident.created', 'incident.updated', 'incident.resolved']
    })
  });
  const webhook = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "webhook": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Production Webhook",
      "url": "https://api.example.com/webhooks/kodo",
      "is_active": true,
      "events": ["incident.created", "incident.updated", "incident.resolved"],
      "headers": {},
      "created_at": "2026-01-15T10:30:00.000Z",
      "updated_at": "2026-02-20T11:00:00.000Z"
    }
  }
  ```
</ResponseExample>
