Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

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

Body

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
required

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

Maximum string length: 1024
Example:

"Production Alerts"

service
enum<string>
required

Webhook service type.

Available options:
slack,
incidentio,
generic
Example:

"slack"

url
string<uri>
required

Webhook destination URL.

Maximum string length: 2048
Example:

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

description
string

Webhook description, shown in the UI.

Maximum string length: 2048
Example:

"Sends critical alerts to the #incidents channel"

body
string

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

Maximum string length: 16384
Example:

"{\"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.

Example:
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.

Response

Successfully created webhook

data
object

The webhook object.

Last modified on July 15, 2026