---
title: "Update webhook integration"
method: PATCH
path: "/generic-webhook-integration/project/{projectId}"
tags: ["Generic Webhook"]
---

# Update webhook integration

`PATCH /generic-webhook-integration/project/{projectId}`

Update the outgoing webhook. Omitted fields keep their current value, event toggles merge into the existing set, and a null secret clears it.

## Path parameters

- `projectId` string, required

## Request body

- object
  - `webhookUrl` string
  - `secret` string, nullable — Send null to remove the signing secret.
  - `isActive` boolean
  - `events` object
    - `taskCreated` boolean
    - `taskStatusChanged` boolean
    - `taskPriorityChanged` boolean
    - `taskTitleChanged` boolean
    - `taskDescriptionChanged` boolean
    - `taskCommentCreated` boolean
    - `taskDeleted` boolean
    - `taskMoved` boolean
    - `taskDueDateChanged` boolean
    - `taskAssigneeChanged` boolean
    - `taskUnassigned` boolean
    - `dueDateReminder` boolean
  - `dueDateReminderLeadTimeMinutes` integer — Between 5 minutes and 30 days.

## Response `200`

The updated integration

- GenericWebhookIntegration, nullable
  - `id` string, required
  - `projectId` string, required
  - `webhookConfigured` boolean, required
  - `maskedWebhookUrl` string, nullable, required
  - `secretConfigured` boolean, required
  - `maskedSecret` string, nullable, required — A preview of the HMAC signing secret used to sign outgoing deliveries.
  - `events` GenericWebhookEvents, required
    - `taskCreated` boolean, required
    - `taskStatusChanged` boolean, required
    - `taskPriorityChanged` boolean, required
    - `taskTitleChanged` boolean, required
    - `taskDescriptionChanged` boolean, required
    - `taskCommentCreated` boolean, required
    - `taskDeleted` boolean, required
    - `taskMoved` boolean, required
    - `taskDueDateChanged` boolean, required
    - `taskAssigneeChanged` boolean, required
    - `taskUnassigned` boolean, required
    - `dueDateReminder` boolean, required
  - `dueDateReminderLeadTimeMinutes` number, required — How long before a due date the dueDateReminder event fires, in minutes.
  - `isActive` boolean, nullable, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400` — The resulting config failed validation
- `401` — Missing or invalid credentials
- `403` — No workspace access, or missing workspace:manage_settings
- `404` — Webhook integration not found

## Changes

- **2026-08-24** `08bbb5bedb5d` — 8 breaking, 13 info
  - the request property `secret` became not nullable
  - the response's body became nullable
  - removed the required property `events/taskCommentCreated` from the response with the `200` status
  - removed the required property `events/taskCreated` from the response with the `200` status
  - …17 more
- **2026-07-11** `32cece1ebe43` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/usekaneo/apis/kaneo-api/changes/generic-webhook-integration/project/:projectId/patch.md)

---

[API](https://skmtc.dev/usekaneo/apis/kaneo-api.md) · [All operations](https://skmtc.dev/usekaneo/apis/kaneo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usekaneo/kaneo-api/revisions/9d1da42c10ce/schema)
