Skip to main content
POST
Error

Autorisations

Authorization
string
header
requis

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Corps

application/json

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.

name
string
requis

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

Maximum string length: 1024
Exemple:

"Production Alerts"

service
enum<string>
requis

Webhook service type.

Options disponibles:
slack,
incidentio,
generic
Exemple:

"slack"

url
string<uri>
requis

Webhook destination URL.

Maximum string length: 2048
Exemple:

"https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"

description
string

Webhook description, shown in the UI.

Maximum string length: 2048
Exemple:

"Sends critical alerts to the #incidents channel"

body
string

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.

Maximum string length: 16384
Exemple:

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

headers
object

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.

Exemple:
queryParams
object

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.

Réponse

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.).

valid
boolean
requis

True when the body passes all validation rules.

errors
object[]
requis

Validation errors. Empty when valid is true.

normalized
object | null
requis

The parsed webhook body, without the write-only headers and queryParams. Populated when valid is true, null when valid is false.

Dernière modification le 15 octobre 2026