Validate Webhook
Validates a webhook body against the same schema, URL rules, and body template check used by POST /api/v2/webhooks. The webhook is never persisted. Use this endpoint at plan time (e.g. from a Terraform provider) to check that a webhook configuration is valid before applying it. Name uniqueness is not checked.
Autorizações
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Corpo
Webhook create/update body. body, headers, and queryParams
only take effect for services that issue a templated HTTP request
(generic, incidentio). The slack service posts a fixed payload
to its incoming-webhook URL and ignores them, so supplying any of
these fields on a slack webhook is rejected. headers and
queryParams are write-only — they are accepted here but never
returned by any read endpoint, so secrets such as auth tokens do
not leak. On
update (PUT), omitted readable fields (description, body) are
cleared, while omitted headers/queryParams are preserved —
send an explicit {} 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; re-supply them for the new destination.
Webhook name. Must be unique per service within the team.
1024"Production Alerts"
Webhook service type.
slack, incidentio, generic "slack"
Webhook destination URL.
2048"https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
Webhook description, shown in the UI.
2048"Sends critical alerts to the #incidents channel"
Optional Handlebars request body template. Only for generic/incidentio; rejected for slack. Rejected with a 400 if it does not compile or calls a helper other than eq and the Handlebars built-ins.
16384"{\"alert\": \"{{title}}\", \"severity\": \"{{level}}\"}"
Write-only. Custom HTTP headers sent with the webhook request. Never returned on read. Only for generic/incidentio; rejected for slack. Each value is capped at 4096 characters.
Write-only. Query parameters appended to the webhook URL. Never returned on read. Only for generic/incidentio; rejected for slack. Each value is capped at 4096 characters.
Resposta
Validation result. HTTP 200 is always returned for valid and invalid bodies — a non-200 response means the request itself failed (auth, server error, etc.).
True when the body passes all validation rules.
Validation errors. Empty when valid is true.
The parsed webhook body, without the write-only
headers and queryParams. Populated when valid is
true, null when valid is false.