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

# Update a webhook endpoint

`PATCH /v1/webhooks/{id}`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/webhooks/{id}`
- Auth: HTTP bearer

Change a webhook endpoint's URL, event subscriptions, description, or enabled state. Re-enabling an endpoint clears any automatic disable and resets its failure count, since re-enabling means the receiver has been confirmed fixed.

**Notes.**
- Needs the permission at the workspace root: a location-scoped key is refused.
- Validation failures are 400 `bad_request`, where most other routes answer 422 `validation_error`.

## Path parameters

- `id` string, required

## Request body

- object
  - `url` string: An https URL on the public internet.
  - `events` string[]: Replaces the subscription. An unknown name is refused.
  - `description` string: Cut to 200 characters.
  - `enabled` boolean: `true` also clears an automatic switch-off and the failure count.

## Response `200`

Success.

- object
  - `data` WebhookEndpoint, required: A customer webhook endpoint. The signing secret is never returned after creation.
    - `id` string, required: Webhook endpoint id.
    - `url` string, required: Where deliveries are POSTed.
    - `description` string, nullable, required
    - `secretPreview` string, required: First 8 characters of the signing secret.
    - `events` string[], required: Subscribed event names (see `GET /v1/webhooks/events`).
    - `enabled` boolean, required
    - `autoDisabledAt` string, nullable, required: ISO-8601 timestamp (UTC).
    - `autoDisabledReason` string, nullable, required
    - `consecutiveFailures` integer, required
    - `lastDeliveryAt` string, nullable, required: ISO-8601 timestamp (UTC).
    - `lastStatus` integer, nullable, required: HTTP status of the last delivery attempt.
    - `createdAt` string, required: ISO-8601 timestamp (UTC).
    - `updatedAt` string, required: ISO-8601 timestamp (UTC).

## Other responses

- `400`: `bad_request` (unknown event) or `unsafe_url`.
- `401`: Missing, expired or revoked bearer token.
- `403`: The token lacks the permission this operation needs (see `x-brix-permission`).
- `404`: No such endpoint in this workspace.
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
