---
title: "Set webhook config"
method: PUT
path: "/v1/webhooks"
tags: ["Webhooks"]
---

# Set webhook config

`PUT /v1/webhooks`

Replace the endpoint URL and subscribed events. Preserves the signing secret. A fresh endpoint is undeliverable until a secret is set (see rotate-secret).

## Query parameters

- `owner_kind` 'user' | 'mm'

## Request body

- WebhookConfigInput
  - `url` string, required — HTTPS endpoint. Must not resolve to private/internal infrastructure.
  - `events` string[], required — Event names to subscribe to (subset of the catalog). Empty parks the endpoint.

## Response `200`

OK

- object
  - `data` WebhookConfig
    - `owner_kind` 'user' | 'mm'
    - `url` string, nullable — Configured HTTPS endpoint, or null if never set.
    - `events` string[] — Subscribed event names.
    - `status` string, nullable — Endpoint status, or null if never configured.
    - `has_signing_secret` boolean — Whether a signing secret is set (deliveries require one).
    - `event_catalog` string[] — The events this endpoint kind may subscribe to. (GET only.)

## Other responses

- `400` — Validation error

---

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