---
title: "Update webhook"
method: PATCH
path: "/webhooks/{webhook_id}"
tags: ["Webhooks"]
---

# Update webhook

`PATCH /webhooks/{webhook_id}`

Updates the specified webhook with new settings such as name, avatar, or target channel. All fields are optional. Returns the updated webhook object.

## Path parameters

- `webhook_id` union, required
  - string, snowflake
  - integer

## Request body

- WebhookUpdateRequest
  - `name` string — The new name of the webhook
  - `avatar` string
  - `channel_id` union
    - string, snowflake
    - integer

## Response `200`

Success

- WebhookResponse
  - `id` string, snowflake, required
  - `guild_id` string, snowflake, required
  - `channel_id` string, snowflake, required
  - `name` string, required — The display name of the webhook
  - `avatar` string, nullable — The hash of the webhook avatar image
  - `token` string, required — The secure token used to execute the webhook
  - `user` UserPartialResponse, required
    - `id` string, snowflake, required
    - `username` string, required — The username of the user, not unique across the platform
    - `discriminator` string, required — The four-digit discriminator tag of the user
    - `global_name` string, nullable, required — The display name of the user, if set
    - `avatar` string, nullable, required — The hash of the user avatar image
    - `avatar_color` integer, required
    - `bot` boolean — Whether the user is a bot account
    - `system` boolean — Whether the user is an official system user
    - `flags` integer, required — The public flags on the user account
    - `mention_flags` 0 | 1 | 2 — Reply mention preference

## Other responses

- `400` — Bad Request - The request was malformed or contained invalid data
- `401` — Unauthorized - Authentication is required or the token is invalid
- `403` — Forbidden - You do not have permission to perform this action
- `429` — Too Many Requests - You are being rate limited
- `500` — Internal Server Error - An unexpected error occurred

## Changes

> 21 revisions in range; 2 not diffed.

- **2026-09-18** `dd0ad4ea1c88` — 3 breaking, 3 info
  - the response property `avatar` became nullable for the status `200`
  - the response property `user/avatar` became nullable for the status `200`
  - the response property `user/global_name` became nullable for the status `200`
  - response property `avatar` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - …2 more
- **2026-09-06** `a52a2cf49d9b` — 32 warning
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `400`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `401`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `403`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `500`
  - …28 more
  - …this revision’s changelog is incomplete
- …earlier changes not shown

[Full history](https://skmtc.dev/fluxer/apis/fluxer-api/changes/webhooks/:webhook_id/patch.md)

---

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