---
title: "Update a webhook"
method: PATCH
path: "/seller/webhooks/{webhookId}"
tags: ["seller-webhooks"]
---

# Update a webhook

`PATCH /seller/webhooks/{webhookId}`

Update mutable configuration fields for an existing seller webhook endpoint.

This is a partial update endpoint. Send only the fields you want to change.

Updatable fields:

- 'url'
- 'description'
- 'enabled'
- 'additionalHeaders'

Behavior notes:

- URL uniqueness is enforced; updating to a duplicate URL returns 409.
- If no updatable fields are supplied, the current webhook state is returned unchanged.
- Subscription events are not modified here; use PUT /seller/webhooks/{webhookId}/subscriptions.

Recommended change flow:

1. GET /seller/webhooks/{webhookId} to load current configuration.
2. PATCH this endpoint with only the fields being changed.
3. GET /seller/webhooks/{webhookId}/test to validate connectivity after URL/header changes.
4. Review failures and metrics to confirm post-change stability.

## Path parameters

- `webhookId` string, required — Identifier of the webhook endpoint to update

## Request body

- UpdateSellerWebhookRequest — Fields that can be updated on a webhook endpoint
  - `url` string, uri — Destination URL that will receive webhook deliveries
  - `description` string — Optional human readable description
  - `enabled` boolean — Whether the webhook should be active immediately
  - `additionalHeaders` object — Additional headers to include on webhook deliveries
  - `subscriptions` string[] — Initial subscriptions to associate with the webhook

## Response `200`

Updated webhook endpoint

- SellerWebhookEndpoint — Represents a webhook endpoint configured by a seller to receive event notifications.
  - `id` string, required — Unique identifier for the webhook endpoint
  - `url` string, uri, required — Destination URL for webhook deliveries
  - `description` string, nullable — Optional human readable description
  - `enabled` boolean, required — Indicates whether the webhook is currently active
  - `additionalHeaders` object, required — Additional headers sent with each webhook request
  - `secret` string, required — Shared secret used to generate webhook signatures
  - `lastSuccessAt` string, date-time, nullable, required — Timestamp of the most recent successful delivery
  - `lastFailureAt` string, date-time, nullable, required — Timestamp of the most recent failed delivery
  - `consecutiveFailures` integer, required — Current number of consecutive delivery failures
  - `maxConsecutiveFailures` integer, required — Threshold at which the webhook will automatically be disabled
  - `createdAt` string, date-time, required — Timestamp when the webhook endpoint was created
  - `updatedAt` string, date-time, required — Timestamp when the webhook endpoint was last updated
  - `subscriptions` string[], required — Event types that the webhook is subscribed to

## Other responses

- `400` — Invalid request
- `404` — Webhook or seller not found
- `409` — A webhook already exists for the provided URL

---

[API](https://skmtc.net/managem/apis/managem-api.md) · [All operations](https://skmtc.net/managem/apis/managem-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/managem/managem-api/versions/e8d78a3a2e8b/schema)
