---
title: "updateWebhookEndpoint"
description: "Update a webhook endpoint"
canonical: "https://pgbeam.com/docs/ts-sdk/webhooks/updateWebhookEndpoint"
last-updated: "2026-09-14T19:37:21.000Z"
---

# updateWebhookEndpoint

> Update a webhook endpoint

URL: https://pgbeam.com/docs/ts-sdk/webhooks/updateWebhookEndpoint

Updates a webhook endpoint.

## Usage

## Parameters

Parameter

Type

Required

Description

pathParams.project\_id

`string`

Yes

Unique project identifier (prefixed, e.g. prj\_xxx).

pathParams.webhook\_id

`string`

Yes

Unique webhook endpoint identifier (prefixed, e.g. whk\_xxx).

body.url

`string`

Yes

HTTPS endpoint that receives event deliveries.

body.secret

`string`

No

Shared secret used to sign delivery payloads. Write-only.

body.format

`"json" \| "splunk_hec" \| "datadog" \| "elastic"`

No

Payload format for delivered events.

body.event\_types

`WebhookEventType[]`

No

Event types to deliver. Empty means all events.

body.enabled

`boolean`

No

Whether deliveries are active for this endpoint.

body.description

`string`

No

Human-readable label for the endpoint.

## Response

`Promise<WebhookEndpoint>`: updated webhook endpoint.

## Example

## Errors

Status

Description

400

The request was rejected. `code` is `INVALID_INPUT`, and `errors` names the offending fields when the failure was a validation one.

401

Missing or invalid authentication. `code` is `UNAUTHORIZED`.

403

The caller is authenticated but not allowed to perform this operation. `code` is `FORBIDDEN` when the caller's role is insufficient, and `PLAN_LIMIT_REACHED` when the organization's plan is what stands in the way. The two are answered differently, so branch on the code rather than the status.

404

The resource does not exist, or the caller is not entitled to know that it does. `code` is `NOT_FOUND`.

412

The `If-Match` entity tag does not match the current representation, so the resource changed after the read this write was based on. Nothing was modified. `code` is `PRECONDITION_FAILED`. Re-read the resource, re-apply the change, and retry with the new tag.

413

The request body exceeds the 2 MB limit. `code` is `PAYLOAD_TOO_LARGE`.

415

The request body is not JSON, or carries a body without declaring a Content-Type. `code` is `UNSUPPORTED_MEDIA_TYPE`.

500

The request failed for a reason on our side. `code` is `INTERNAL_ERROR`. Quote `request_id` when reporting it.