---
title: "Update a project webhook"
method: PATCH
path: "/projects/{project_id}/webhooks/{webhook_id}"
tags: ["project-webhooks"]
---

# Update a project webhook

`PATCH /projects/{project_id}/webhooks/{webhook_id}`

## Request

- Base URL: `https://api.ionworks.com`
- URL: `https://api.ionworks.com/projects/{project_id}/webhooks/{webhook_id}`
- Auth: none declared

Partially update URL, events, or enabled flag.

## Path parameters

- `project_id` string, uuid, required
- `webhook_id` string, uuid, required

## Request body

- UpdateProjectWebhook: Partial update for a project webhook.
  - `url` string, nullable: HTTPS destination URL.
  - `events` WebhookEvent[], nullable: Events that should trigger delivery.
  - `enabled` boolean, nullable: Whether the webhook is active.

## Response `200`

Successful Response

- ProjectWebhook: A project webhook as returned by list/get (secret omitted).
  - `id` string, required
  - `project_id` string, required
  - `organization_id` string, required
  - `url` string, required
  - `events` string[], required
  - `enabled` boolean, required
  - `consecutive_failures` integer
  - `disabled_reason` string, nullable
  - `created_by` string, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-30** `ea3d377fec1a`: 2 breaking
  - for the `path` request parameter `project_id`, the format changed from no format to `uuid`
  - for the `path` request parameter `webhook_id`, the format changed from no format to `uuid`

[Operation history](https://skmtc.dev/ionworks/apis/ionworks-api/changes/projects/:project_id/webhooks/:webhook_id/patch.md)

---

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