---
title: "PATCH /api/v1/users/{user}/webhooks/{webhook}"
method: PATCH
path: "/api/v1/users/{user}/webhooks/{webhook}"
tags: ["UserService"]
---

# PATCH /api/v1/users/{user}/webhooks/{webhook}

`PATCH /api/v1/users/{user}/webhooks/{webhook}`

UpdateUserWebhook updates an existing webhook for a user.

## Path parameters

- `user` string, required
- `webhook` string, required

## Query parameters

- `updateMask` string, field-mask

## Request body

- UserWebhook — UserWebhook represents a webhook owned by a user.
  - `name` string — The name of the webhook. Format: users/{user}/webhooks/{webhook}
  - `url` string — The URL to send the webhook to.
  - `displayName` string — Optional. Human-readable name for the webhook.
  - `createTime` string, date-time — The creation time of the webhook.
  - `updateTime` string, date-time — The last update time of the webhook.
  - `signingSecret` string — Optional. Signing secret used to HMAC-SHA256 sign the webhook request body. This field is input-only; it is never returned in responses.
  - `signingSecretSet` boolean — Whether a signing secret is configured for this webhook.

## Response `200`

OK

- UserWebhook — UserWebhook represents a webhook owned by a user.
  - `name` string — The name of the webhook. Format: users/{user}/webhooks/{webhook}
  - `url` string — The URL to send the webhook to.
  - `displayName` string — Optional. Human-readable name for the webhook.
  - `createTime` string, date-time — The creation time of the webhook.
  - `updateTime` string, date-time — The last update time of the webhook.
  - `signingSecret` string — Optional. Signing secret used to HMAC-SHA256 sign the webhook request body. This field is input-only; it is never returned in responses.
  - `signingSecretSet` boolean — Whether a signing secret is configured for this webhook.

## Other responses

- `default` — Default error response

## Changes

- **2026-06-26** `c1e9c9e8f325` — 1 warning, 1 info
  - removed the optional property `hasSigningSecret` from the response with the `200` status
  - added the optional property `signingSecretSet` to the response with the `200` status
- **2026-06-25** `bd6926f3e8c2` — 1 info
  - added the optional property `hasSigningSecret` to the response with the `200` status
- **2026-06-09** `2739ede31e9a` — 2 info
  - added the new optional request property `signingSecret`
  - added the optional write-only property `signingSecret` to the response with the `200` status
- **2025-12-15** `d740073f088f` — 2 warning, 1 info
  - removed the request property `signingSecret`
  - removed the optional property `signingSecretSet` from the response with the `200` status
  - removed the optional write-only property `signingSecret` from the response with the `200` status

[Change history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/v1/users/:user/webhooks/:webhook/patch.md)

---

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