Account

Set webhook

PUT /v1/account/webhook webhook

Set the webhook URL, or clear it with null.

Request body

Body fieldTypeMeaning
url *string (https://…) | nullMust start with https://
rotate_secretbool = falseForce a new secret even if the URL did not change

response

The secret is returned only when it is created or rotated; sending the same URL again answers unchanged with secret: null.

Status: 200, 400

request
curl -X PUT https://api.xsignalfeed.com/v1/account/webhook \
  -H "Authorization: Bearer xsf_your_key" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/hooks/xsf"}'
response · 200 / 400
{
  "status": "set",
  "url": "https://example.com/hooks/xsf",
  "secret": "a1b2c3…",
  "rotated": true,
  "signature_header": "X-XSF-Signature",
  "algorithm": "hmac-sha256(secret, raw_body)"
}