---
title: "/webhooks/{webhook_id}"
method: PUT
path: "/v1/webhooks/{webhook_id}"
tags: ["Webhooks"]
---

# /webhooks/{webhook_id}

`PUT /v1/webhooks/{webhook_id}`

## Request

- Base URL: `https://api.companydata.dk` (the document declares no server; this is the origin it was published from)
- URL: `https://api.companydata.dk/v1/webhooks/{webhook_id}`
- Auth: HTTP bearer

Update a webhook's configuration. Only the fields you provide are changed.

Setting `active: true` on an auto-disabled webhook re-enables it and resets the
consecutive-failure counter — fix the underlying issue first or it will be
auto-disabled again.

The signing secret cannot be rotated through this endpoint; delete and re-create
the webhook if you need a new secret.

## Path parameters

- `webhook_id` string, required

## Request body

- UpdateWebhookRequest: Request to update a webhook. Only provided fields are changed.
  - `name` string, nullable: New label for the webhook.
  - `url` string, nullable: New HTTPS endpoint URL.
  - `event_types` EventType[], nullable: Replace the list of event types this webhook receives.
  - `headers` object, nullable: Replace the custom headers sent with every delivery.
  - `active` boolean, nullable: Enable or disable delivery. Setting `true` on an auto-disabled webhook re-enables it and resets the consecutive-failure counter.

## Response `200`

Successful Response

- WebhookResponse: A webhook configuration. The secret is never returned after creation.
  - `webhook_id` string, required: Unique identifier for this webhook.
  - `name` string, required: Human-readable label.
  - `url` string, required: HTTPS endpoint that receives deliveries.
  - `active` boolean, required: Whether this webhook is currently delivering events.
  - `event_types` EventType[], required: Event types this webhook receives.
  - `headers` object, required: Custom headers added to every delivery.
  - `last_success_at` string, date-time, nullable: Timestamp of the most recent successful (2xx) delivery.
  - `last_failure_at` string, date-time, nullable: Timestamp of the most recent failed delivery attempt.
  - `consecutive_failures` integer: Number of consecutive failed deliveries. Reset to 0 on the next 2xx response. Reaching 10 auto-disables the webhook.
  - `disabled_reason` string, nullable: Set when the webhook is auto-disabled. `null` otherwise.
  - `created_at` string, date-time, required: When the webhook was created.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/companydata/apis/companydata-dk-api.md) · [All operations](https://skmtc.dev/companydata/apis/companydata-dk-api/llms.txt) · [OpenAPI document](https://skmtc.dev/companydata/apis/companydata-dk-api/revisions/1cc6c361ae64?raw)
