---
title: "Update a webhook"
method: PATCH
path: "/api/v1/manage/forms/{form}/webhooks/{id}"
tags: ["Webhooks"]
---

# Update a webhook

`PATCH /api/v1/manage/forms/{form}/webhooks/{id}`

## Request

- Base URL: `https://fillo.so`
- URL: `https://fillo.so/api/v1/manage/forms/{form}/webhooks/{id}`
- Auth: HTTP bearer

Turn draft.abandoned delivery on or off, replace receiver authentication, or remove it with authentication.type none. Receiver credentials remain write-only. Scope: webhooks:manage.

## Path parameters

- `form` string, required
- `id` string, required

## Request body

- object
  - `includeAbandoned` boolean
  - `authentication` WebhookAuthenticationInput: Optional authentication Fillo adds for the receiver. For bearer or x-api-key, secret is required, encrypted at rest, and never returned.
    - `type` 'none' | 'bearer' | 'x-api-key', required
    - `secret` string

## Response `200`

The webhook's updated event set.

- object
  - `id` string, required
  - `events` string[], required

## Other responses

- `400`: Invalid request (e.g. a body on a GET/DELETE, or a missing required query parameter).
- `401`: Missing, malformed, unknown, revoked, or expired key.
- `403`: The key is valid but lacks the required scope.
- `404`: No such resource in this project (returned instead of 403 for ids in other projects).
- `429`: Per-key (120/min), per-workspace (240/min), or per-IP (300/min) rate limit exceeded. Retry after the Retry-After header.

---

[API](https://skmtc.dev/fillo/apis/fillo-management-api.md) · [All operations](https://skmtc.dev/fillo/apis/fillo-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fillo/apis/fillo-management-api/revisions/867f943f04f5?raw)
