---
title: "Service: /clients/{client}/webhooks/{webhook} [PATCH]"
source: https://dev.pageseeder.com/api/services/webhook-PATCH.html
description: "Updates an existing webhook with new configuration parameters including URL, events, projects, groups, and format settings. Requires administrator permissions. Returns the modified webhook element."
last_updated: 2026-09-02T11:36:01+10:00
document_type: api_endpoint
operation_id: webhook-PATCH
resource_id: webhook
path_template: /clients/{client}/webhooks/{webhook}
http_method: PATCH
api_category: webhook
implementation_version: 6.2008
api_since: 5.9500
deprecated_since: null
obsolete_since: null
api_support: experimental
cache_control: N/A
generated_at: 2026-09-02
tokens: ~1048
---

# /clients/\{client\}/webhooks/\{webhook\} \[PATCH\]

## Description

Updates an existing [webhook](../../reference/glossary/webhook.md).

The `{webhook}` URL parameter refers to the webhook ID.``

## Parameters

| Name | Description | Required | Type | Default |
| --- | --- | --- | --- | --- |
| events | Comma-separated list of events to filter (empty means all, `.*` suffix can be used) | no | string |  |
| format | The output format `xml`or`json` | no | string |  |
| groups | Comma-separated list of groups to filter events (in addition to projects, empty projects & groups means all) | no | string |  |
| insecuressl | If the SSL certificate for the URL is verified | no | boolean |  |
| name | The webhook name, optional string | no | string |  |
| newclient | The new OAuth client ID or ‘~’ prefixed identifier | no | string |  |
| object | The objects’ format in the output (`minimal`: public/private IDs only or`basic`) | no | string |  |
| projects | Comma-separated list of projects to filter events (empty projects & groups means all) | no | string |  |
| server | If the server events are included | no | boolean |  |
| status | The webhook status `pending`, `active`, `disabled`, `warning`, `error`, `unreachable` | no | enum |  |
| url | The webhook URL string | no | url |  |

## Permission

This service requires administrator.

## Response

A successful response returns the [\<webhook\> element](../elements/element_webhook.md) wrapped in a `<webhook-modification>` element.

```xml
<webhook-modification>
  <webhook> ... </webhook>
</webhook-modification>
```

### Sample XML

```xml
<webhook-modification>
  <webhook id="789" 
           created="2019-05-07T12:04:59+10:00"
           modified="2019-05-07T12:04:59+10:00" 
           url="https://ps.example.org/"
           server="false"
           object="minimal"
           format="xml"
           insecuressl="true"
           status="pending"
           name="Test"
           events="comment.*,group.*">
    <client id="123" 
            identifier="4739db31320c67c5" 
            requires-consent="false"
            confidential="false"
            name="sample"
            grant-type="password"
            created="2018-03-19T14:18:16+11:00"
            modified="2019-02-01T18:18:16+11:00"
            last-token="2022-07-06T17:00:00+10:00"
            description="Sample app"
            client-uri="https://app.example.org/"
            access-token-max-age="21600"
            refresh-token-max-age="2592000">
      <member id="456" status="activated"
              firstname="Joan" surname="Snow" username="jsnow">
        <fullname>Joan Snow</fullname>
      </member>
    </client>
  </webhook>
</webhook-modification>
```

### Sample JSON

```json
{
  "webhook": {
    "id": 789,
    "created": "2019-05-07T12:04:59+10:00",
    "modified": "2019-05-07T12:04:59+10:00",
    "url": "https://ps.example.org/",
    "server": false,
    "object": "minimal",
    "format": "xml",
    "insecuressl": true,
    "status": "pending",
    "name": "Test",
    "events": "comment.*,group.*",
    "client": {
      "id": 123,
      "identifier": "4739db31320c67c5",
      "requiresConsent": false,
      "confidential": false,
      "name": "Sample",
      "grantType": "password",
      "created": "2018-03-19T14:18:16+11:00",
      "modified": "2019-02-01T18:18:16+11:00",
      "lastToken": "2022-07-06T17:00:00+10:00",
      "description": "Sample app",
      "clientUri": "https://app.example.org/",
      "accessTokenMaxAge": 21600,
      "refreshTokenMaxAge": 2592000,
      "member": {
        "id": 456,
        "firstname": "Joan",
        "surname": "Snow",
        "username": "jsnow",
        "status": "activated",
        "fullname": "Joan Snow"
      }
    }
  }
}
```

## Error Handling

| 0x1701 | If the client is invalid |
| --- | --- |
| 0x1702 | If the name is already in use |
| 0x1703 | If the URL is invalid |
| 0x1704 | if the object parameter is not valid |
| 0x1705 | if the format parameter is not valid |
| 0x1706 | If one of the projects is invalid |
| 0x1707 | If one of the groups is invalid |
| 0x1708 | If one of the events is invalid |
| 0x1709 | If the status is invalid |

