vike
Alerts API

Register a webhook channel

Add an HTTPS webhook as a channel; every delivery to it is signed, and it gets one signed test event now.

POST https://data.vike.io/v1/alerts/channels/webhooks

Registers an https:// URL as a channel and sends it one signed test event right away. The JSON body is the input of the MCP tool alerts_register_webhook: url, and optionally your own secret of 16 characters or more. Without one a secret is generated and returned once, in this answer, as secret; it is shown again on Account → Alerts → channels (Show secret). The answer carries Cache-Control: no-store.

The answer is {"ok": true, "channel_id", "channel_type": "webhook", "url_preview", "signed": true, "test"} plus secret and secret_note when the secret was generated. test is {"ok": true, "status": 200} when the endpoint answered, or {"ok": false, "error": "timeout"} (network, ssrf_refused, ...): a failing test does not refuse the channel. A receiver that checks signatures answers the test 401 or 403 until it has the secret: install it, then send the test again. How to check a signature is on alerts_register_webhook.

cURL
# a generated secret comes back once, as "secret": store it
curl -X POST -H "X-API-Key: $VIKE_API_KEY" -H "Content-Type: application/json" \
  "https://data.vike.io/v1/alerts/channels/webhooks" \
  -d '{"url": "https://example.com/vike-alerts"}'