---
title: "Edit a webhook endpoint"
method: PATCH
path: "/api/v1/integrazioni/webhooks/{id}"
tags: ["Integrations (app routes)"]
---

# Edit a webhook endpoint

`PATCH /api/v1/integrazioni/webhooks/{id}`

## Request

- Base URL: `https://api.custodo.ai`
- URL: `https://api.custodo.ai/api/v1/integrazioni/webhooks/{id}`
- Auth: HTTP bearer

Change description, events or active. Omit secret to keep it, supply 32–256 characters to set or rotate it, or null to remove signing. A supplied secret is returned once. URL and delivery history are preserved. Deliveries starting after the update use the new setting.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Tenant-Id` string, uuid

## Request body

- object
  - `secret` string, nullable
  - `description` string
  - `events` string[]
  - `active` boolean

## Response `200`

Edit a webhook endpoint

- object
  - `ok` true, required
  - `data` IntegrazioniWebhookCreated, required
    - `id` string, required
    - `url` string, required
    - `description` string, required
    - `events` string[], required
    - `active` boolean, required
    - `createdAt` string, required
    - `lastDeliveryAt` string, nullable, required
    - `lastStatus` 'pending' | 'delivered' | 'failed' | 'dead', nullable, required
    - `failureStreak` number, required
    - `secret` string

## Other responses

- `400`: The request did not validate: `error.details` names the fields.
- `401`: No API key, or one that is malformed, unknown, revoked or expired.
- `403`: The module is off for this organisation, the credential lacks the permission, or the tier does not cover it.
- `404`: Nothing with that id in this organisation.
- `429`: The API key has spent its minute, or its day. See `Retry-After`.

---

[API](https://skmtc.dev/custodo/apis/custodo-integrazioni.md) · [All operations](https://skmtc.dev/custodo/apis/custodo-integrazioni/llms.txt) · [OpenAPI document](https://skmtc.dev/custodo/apis/custodo-integrazioni/revisions/16d336d3ec2a?raw)
