Skip to main content
PUT
ClickStack: Update Webhook
Beta This endpoint is in beta. API contract is stable, and no breaking changes are expected in the future.

ClickStack: Replaces an existing webhook. Readable optional fields (description, body) are a full replace: omitting them clears them. The write-only fields headers and queryParams are never returned on read, so omitting them preserves the stored values; send an explicit empty object ({}) to clear them. Exception: if the destination (url or service) changes, omitted headers/ queryParams are cleared rather than preserved so stored secrets are never forwarded to a new destination.

Authorizations

Authorization
string
header
required

Use key ID and key secret obtained in ClickHouse Cloud console: https://clickhouse.com/docs/cloud/manage/openapi

Path Parameters

organizationId
string<uuid>
required

ID of the organization that owns the service.

serviceId
string<uuid>
required

ID of the ClickStack service.

clickStackWebhookId
string
required

Webhook ID

Body

application/json
name
string
required

Webhook name. Must be unique per service within the team.

Example:

"Production Alerts"

service
enum<string>
required

Webhook service type.

Available options:
slack,
incidentio,
generic
Example:

"slack"

url
string
required

Webhook destination URL.

Example:

"https://hooks.slack.com/services/EXAMPLE/WEBHOOK/URL"

description
string

Webhook description, shown in the UI.

Example:

"Sends critical alerts to the #incidents channel"

body
string

Optional request body template. Only for generic/incidentio; rejected for slack.

Example:

"{\"alert\": \"{{title}}\", \"severity\": \"{{level}}\"}"

headers
object
queryParams
object

Response

Successful response

status
number

HTTP status code.

Example:

200

requestId
string<uuid>

Unique id assigned to every request. UUIDv4

result
object
Last modified on July 22, 2026