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

# Update an endpoint

`PATCH /v1/webhooks/{id}`

## Request

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

Changes an endpoint's URL, description, event patterns, or enabled flag. Omitted fields are left as they are.

The signing secret is **not** rotated and cannot be set here, so an endpoint you edit keeps verifying against the secret you already deployed.

`enabled: false` is the reversible way to stop deliveries — the endpoint and its delivery history survive, and flipping it back resumes without re-registering.

## Path parameters

- `id` string, required

## Request body

- object
  - `url` string, uri
  - `description` string
  - `events` string[]
  - `enabled` boolean

## Response `200`

The updated endpoint.

- WebhookEndpoint
  - `webhookEndpointId` string, required
  - `projectId` string
  - `url` string, uri, required
  - `description` string, nullable
  - `secret` string, required: `whsec_…` — used to HMAC-SHA256-sign every delivery (`X-Volanea-Signature: t=<ms>,v1=<hex>` over `<t>.<body>`).
  - `events` string[], nullable: Event name patterns, e.g. `["email.*", "contact.created"]`. Empty or null = all events.
  - `enabled` boolean, required
  - `createdAt` string, date-time, required

## Other responses

- `401`: Missing or invalid API key.
- `404`: Not found.
- `422`: Request validation failed (code `validation_error`, 422).

---

[API](https://skmtc.dev/volanea/apis/volanea-api.md) · [All operations](https://skmtc.dev/volanea/apis/volanea-api/llms.txt) · [OpenAPI document](https://skmtc.dev/volanea/apis/volanea-api/revisions/9e187ae84fda?raw)
