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

# Update Webhook Endpoint

> Update an endpoint's URL, description, events, or status

## Overview

Partial update: omitted fields are unchanged. Requires the `portfolios:manage` scope.

## Path Parameters

<ParamField path="id" type="string" required>Endpoint ID (`whk_*`).</ParamField>

## Body Parameters

All fields optional.

<ParamField body="url" type="string">New URL (HTTPS in production).</ParamField>
<ParamField body="description" type="string | null">Description, or `null` to clear it.</ParamField>
<ParamField body="enabled_events" type="string[]">Replace the enabled-events list.</ParamField>
<ParamField body="status" type="string">`active` or `disabled`. Re-enabling an endpoint that was auto-disabled after repeated delivery failures resets `consecutive_failures` to `0`.</ParamField>
<ParamField body="metadata" type="object">Free-form metadata.</ParamField>

## Response

The updated `Webhook` (secret redacted).

## Errors

| Status | `type`             | When                                                                                  |
| ------ | ------------------ | ------------------------------------------------------------------------------------- |
| 400    | `validation_error` | Invalid URL, unknown event type in `enabled_events`, or an unsupported `status` value |
| 404    | `not_found`        | Endpoint doesn't exist or belongs to another org                                      |

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PATCH "https://api.signa.so/v1/webhooks/whk_2mR8vNkT" \
    -H "Authorization: Bearer sig_YOUR_KEY" \
    -H "Content-Type: application/json" \
    -H "Idempotency-Key: reenable-whk-2mR8vNkT-2026-06-12" \
    -d '{ "status": "active" }'
  ```

  ```typescript TypeScript theme={null}
  import { Signa } from "@signa-so/sdk";
  const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });

  await signa.webhooks.update("whk_2mR8vNkT", { status: "active" });
  ```
</CodeGroup>

<ResponseExample>
  ```json theme={null}
  {
    "id": "whk_2mR8vNkT",
    "object": "webhook_endpoint",
    "url": "https://hooks.auroradigital.example.com/signa",
    "description": "Production alerts for Aurora Digital",
    "enabled_events": ["alert.created"],
    "status": "active",
    "secret_version": 1,
    "consecutive_failures": 0,
    "last_success_at": "2026-07-05T09:12:31.000Z",
    "last_failure_at": "2026-07-06T02:00:00.000Z",
    "metadata": {},
    "created_at": "2026-07-06T08:00:00.000Z",
    "updated_at": "2026-07-06T09:15:00.000Z",
    "request_id": "req_8mQ2vXpL"
  }
  ```
</ResponseExample>

## Related Endpoints

* [Retrieve Webhook Endpoint](/api-reference/monitoring/webhooks/retrieve) - check current status and failure counts
* [Test Webhook Endpoint](/api-reference/monitoring/webhooks/test) - confirm an endpoint works after re-enabling it
