---
title: "Replace a subscription"
method: PUT
path: "/seller/webhooks/{webhookId}/subscriptions"
tags: ["seller-webhooks"]
---

# Replace a subscription

`PUT /seller/webhooks/{webhookId}/subscriptions`

Replace the full subscription event set for a webhook endpoint.

This endpoint uses replacement semantics, not patch semantics.

How replacement works:

- The provided 'events' array becomes the complete source of truth.
- Existing subscriptions not included in the request are removed.
- New events in the request are added.

Usage guidance:

- Send the complete desired event list every time.
- Send an empty array to unsubscribe from all events.
- Fetch current state first with GET /seller/webhooks/{webhookId} when building edit flows.

Typical workflow:

1. Read current subscriptions.
2. Build and submit the full desired 'events' array.
3. Verify with GET /seller/webhooks/{webhookId} or GET /seller/webhooks.

## Path parameters

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

## Request body

- UpdateSellerWebhookSubscriptionsRequest — Request body for updating the event subscriptions of a webhook endpoint.
  - `events` string[], required — Full list of event types that the webhook should be subscribed to

## Response `200`

Updated webhook endpoint including subscriptions

- 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

- `404` — Webhook or seller not found

---

[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/6367b514f6ea/schema)
