---
title: "Update a webhook endpoint"
method: PATCH
path: "/webhook_endpoints/{id}"
tags: ["Webhooks"]
---

# Update a webhook endpoint

`PATCH /webhook_endpoints/{id}`

## Request

- Base URL: `https://api.meetdarwin.ai/v1`
- URL: `https://api.meetdarwin.ai/v1/webhook_endpoints/{id}`
- Auth: HTTP bearer

Requires the `webhooks:write` scope.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- WebhookEndpointUpdate
  - `url` string
  - `events` string[]
  - `description` string
  - `status` 'enabled' | 'disabled'

## Response `200`

OK

- WebhookEndpoint
  - `id` string, required
  - `object` 'webhook_endpoint', required
  - `url` string, required
  - `description` string, required
  - `events` string[], required
  - `status` 'enabled' | 'disabled', required
  - `disabled_reason` string, nullable, required
  - `failing_since` string, date-time, nullable, required
  - `created_at` string, date-time, nullable, required
  - `updated_at` string, date-time, nullable, required
  - `secret` string: whsec_…, only when the endpoint is created or its secret rotated.

## Other responses

- `400`: Invalid request (`invalid_request`, `unsupported_version`).
- `401`: Missing or invalid key (`authentication_required`, `invalid_api_key`).
- `402`: The workspace must add a card before the API can be used (`payment_required`).
- `403`: The key lacks the scope (`insufficient_scope`).
- `404`: No such object in this workspace (`not_found`).
- `409`: Conflicts with the current state (`conflict`, `idempotency_key_in_use`).
- `422`: Refused by a rule (`unprocessable`, `idempotency_key_reused`).
- `429`: Rate limited (`rate_limited`) or a monthly allowance used (`quota_exceeded`); see Retry-After.

---

[API](https://skmtc.dev/meetdarwin/apis/darwin-api.md) · [All operations](https://skmtc.dev/meetdarwin/apis/darwin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meetdarwin/apis/darwin-api/revisions/4b7ea8fe8645?raw)
