changedInput schema / properties / body / properties / config / oneOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "apiKey": {
- "description": "Datadog API key",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "datadog",
- "default": "datadog",
- "type": "string"
- },
- "site": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Datadog site region (e.g. datadoghq.com, datadoghq.eu, us3.datadoghq.com)"
- },
- "tags": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Comma-separated tags to attach to events"
- }
- },
- "required": [
- "apiKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channelType": {
- "const": "discord",
- "default": "discord",
- "type": "string"
- },
- "mentionRoleId": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Optional Discord role ID to mention in notifications"
- },
- "webhookUrl": {
- "description": "Discord webhook URL",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "webhookUrl"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channelType": {
- "const": "email",
- "default": "email",
- "type": "string"
- },
- "recipients": {
- "description": "Email addresses to send notifications to",
- "items": {
- "format": "email",
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- }
- },
- "required": [
- "recipients"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "authorizationKey": {
- "description": "Authorization key from GitLab alert integration settings",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "gitlab",
- "default": "gitlab",
- "type": "string"
- },
- "endpointUrl": {
- "description": "GitLab alert integration endpoint URL",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "endpointUrl",
- "authorizationKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channelType": {
- "const": "google_chat",
- "default": "google_chat",
- "type": "string"
- },
- "webhookUrl": {
- "description": "Google Chat space webhook URL",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "webhookUrl"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "apiKey": {
- "description": "incident.io API key with 'Create incidents' permission",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "incident_io",
- "default": "incident_io",
- "type": "string"
- },
- "severityId": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Severity ID for created incidents (from List Severities API)"
- },
- "visibility": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Incident visibility: public or private (default: public)"
- }
- },
- "required": [
- "apiKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "apiToken": {
- "description": "Atlassian API token",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "jira",
- "default": "jira",
- "type": "string"
- },
- "domain": {
- "description": "Atlassian instance domain (e.g. yourteam.atlassian.net)",
- "minLength": 1,
- "type": "string"
- },
- "email": {
- "description": "Atlassian account email for API authentication",
- "minLength": 1,
- "type": "string"
- },
- "issueType": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Issue type name (e.g. Bug, Task, Incident)"
- },
- "projectKey": {
- "description": "Jira project key where issues are created (e.g. OPS)",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "domain",
- "email",
- "apiToken",
- "projectKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "apiKey": {
- "description": "Linear API key",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "linear",
- "default": "linear",
- "type": "string"
- },
- "labelId": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Label ID to attach to created issues"
- },
- "teamId": {
- "description": "Team ID to create issues in",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "apiKey",
- "teamId"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channel": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Override channel (if webhook allows)"
- },
- "channelType": {
- "const": "mattermost",
- "default": "mattermost",
- "type": "string"
- },
- "iconUrl": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Custom bot icon URL"
- },
- "webhookUrl": {
- "description": "Mattermost incoming webhook URL",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "webhookUrl"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "apiKey": {
- "description": "OpsGenie API key for alert creation",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "opsgenie",
- "default": "opsgenie",
- "type": "string"
- },
- "region": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "OpsGenie API region: us or eu"
- }
- },
- "required": [
- "apiKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channelType": {
- "const": "pagerduty",
- "default": "pagerduty",
- "type": "string"
- },
- "routingKey": {
- "description": "PagerDuty Events API v2 routing (integration) key",
- "minLength": 1,
- "type": "string"
- },
- "severityOverride": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Override PagerDuty severity mapping"
- }
- },
- "required": [
- "routingKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "accessToken": {
- "description": "Pushbullet access token",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "pushbullet",
- "default": "pushbullet",
- "type": "string"
- },
- "deviceIden": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Target device identifier (broadcasts to all if empty)"
- }
- },
- "required": [
- "accessToken"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "appToken": {
- "description": "Pushover application API token",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "pushover",
- "default": "pushover",
- "type": "string"
- },
- "priority": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Notification priority override (-2 to 2)"
- },
- "sound": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Notification sound override"
- },
- "userKey": {
- "description": "Pushover user or group key",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "userKey",
- "appToken"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "apiKey": {
- "description": "Rootly API token with incident creation permission",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "rootly",
- "default": "rootly",
- "type": "string"
- },
- "severity": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Severity slug override (e.g. sev0, sev1)"
- }
- },
- "required": [
- "apiKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channelType": {
- "const": "slack",
- "default": "slack",
- "type": "string"
- },
- "mentionText": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Optional mention text included in notifications, e.g. @channel"
- },
- "webhookUrl": {
- "description": "Slack incoming webhook URL",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "webhookUrl"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "apiKey": {
- "description": "Splunk On-Call REST API key",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "splunk_oncall",
- "default": "splunk_oncall",
- "type": "string"
- },
- "routingKey": {
- "description": "Routing key for alert routing",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "apiKey",
- "routingKey"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channelType": {
- "const": "teams",
- "default": "teams",
- "type": "string"
- },
- "webhookUrl": {
- "description": "Microsoft Teams incoming webhook URL",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "webhookUrl"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "botToken": {
- "description": "Telegram bot token from @BotFather",
- "minLength": 1,
- "type": "string"
- },
- "channelType": {
- "const": "telegram",
- "default": "telegram",
- "type": "string"
- },
- "chatId": {
- "description": "Chat, group, or channel ID to send alerts to",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "botToken",
- "chatId"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channelType": {
- "const": "webhook",
- "default": "webhook",
- "type": "string"
- },
- "customHeaders": {
- "anyOf": [
- {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Additional HTTP headers to include in webhook requests"
- },
- "signingSecret": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Optional HMAC signing secret for payload verification"
- },
- "url": {
- "description": "Webhook endpoint URL that receives alert payloads",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "url"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "channelType": {
- "const": "zapier",
- "default": "zapier",
- "type": "string"
- },
- "webhookUrl": {
- "description": "Zapier/n8n/Make catch webhook URL",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "webhookUrl"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "properties": {
+ "apiKey": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Datadog API key"
+ },
+ "channelType": {
+ "const": "datadog",
+ "default": "datadog",
+ "type": "string"
+ },
+ "site": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Datadog site region (e.g. datadoghq.com, datadoghq.eu, us3.datadoghq.com)"
+ },
+ "tags": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Comma-separated tags to attach to events"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "discord",
+ "default": "discord",
+ "type": "string"
+ },
+ "mentionRoleId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Optional Discord role ID to mention in notifications"
+ },
+ "webhookUrl": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Discord webhook URL"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "email",
+ "default": "email",
+ "type": "string"
+ },
+ "recipients": {
+ "description": "Email addresses to send notifications to",
+ "items": {
+ "format": "email",
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "recipients"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "authorizationKey": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Authorization key from GitLab alert integration settings"
+ },
+ "channelType": {
+ "const": "gitlab",
+ "default": "gitlab",
+ "type": "string"
+ },
+ "endpointUrl": {
+ "description": "GitLab alert integration endpoint URL",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "endpointUrl"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "google_chat",
+ "default": "google_chat",
+ "type": "string"
+ },
+ "webhookUrl": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Google Chat space webhook URL"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "apiKey": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "incident.io API key with 'Create incidents' permission"
+ },
+ "channelType": {
+ "const": "incident_io",
+ "default": "incident_io",
+ "type": "string"
+ },
+ "severityId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Severity ID for created incidents (from List Severities API)"
+ },
+ "visibility": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Incident visibility: public or private (default: public)"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "apiToken": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Atlassian API token"
+ },
+ "channelType": {
+ "const": "jira",
+ "default": "jira",
+ "type": "string"
+ },
+ "domain": {
+ "description": "Atlassian instance domain (e.g. yourteam.atlassian.net)",
+ "minLength": 1,
+ "type": "string"
+ },
+ "email": {
+ "description": "Atlassian account email for API authentication",
+ "minLength": 1,
+ "type": "string"
+ },
+ "issueType": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Issue type name (e.g. Bug, Task, Incident)"
+ },
+ "projectKey": {
+ "description": "Jira project key where issues are created (e.g. OPS)",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "domain",
+ "email",
+ "projectKey"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "apiKey": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Linear API key"
+ },
+ "channelType": {
+ "const": "linear",
+ "default": "linear",
+ "type": "string"
+ },
+ "labelId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Label ID to attach to created issues"
+ },
+ "teamId": {
+ "description": "Team ID to create issues in",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "teamId"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Override channel (if webhook allows)"
+ },
+ "channelType": {
+ "const": "mattermost",
+ "default": "mattermost",
+ "type": "string"
+ },
+ "iconUrl": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Custom bot icon URL"
+ },
+ "webhookUrl": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Mattermost incoming webhook URL"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "apiKey": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "OpsGenie API key for alert creation"
+ },
+ "channelType": {
+ "const": "opsgenie",
+ "default": "opsgenie",
+ "type": "string"
+ },
+ "region": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "OpsGenie API region: us or eu"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "pagerduty",
+ "default": "pagerduty",
+ "type": "string"
+ },
+ "routingKey": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "PagerDuty Events API v2 routing (integration) key"
+ },
+ "severityOverride": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Override PagerDuty severity mapping"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "phone_call",
+ "default": "phone_call",
+ "type": "string"
+ },
+ "phoneNumber": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Recipient phone number in E.164 format; null preserves current"
+ },
+ "phoneNumbers": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Deprecated: use phoneNumber"
+ },
+ "preferredLanguage": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Preferred language for TTS and notifications (BCP-47, e.g. en-US, de-DE). Alias for voiceLanguage"
+ },
+ "verifiedPhoneNumberId": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Id of an org verified_phone_number row; null preserves current when phoneNumber also null"
+ },
+ "voiceLanguage": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "TTS voice language/locale (default: en-US). See VoiceLanguage for supported values"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "accessToken": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Pushbullet access token"
+ },
+ "channelType": {
+ "const": "pushbullet",
+ "default": "pushbullet",
+ "type": "string"
+ },
+ "deviceIden": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Target device identifier (broadcasts to all if empty)"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "appToken": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Pushover application API token"
+ },
+ "channelType": {
+ "const": "pushover",
+ "default": "pushover",
+ "type": "string"
+ },
+ "priority": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Notification priority override (-2 to 2)"
+ },
+ "sound": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Notification sound override"
+ },
+ "userKey": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Pushover user or group key"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "apiKey": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Rootly API token with incident creation permission"
+ },
+ "channelType": {
+ "const": "rootly",
+ "default": "rootly",
+ "type": "string"
+ },
+ "severity": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Severity slug override (e.g. sev0, sev1)"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "slack",
+ "default": "slack",
+ "type": "string"
+ },
+ "mentionText": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Optional mention text included in notifications, e.g. @channel"
+ },
+ "webhookUrl": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Slack incoming webhook URL"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "sms",
+ "default": "sms",
+ "type": "string"
+ },
+ "phoneNumber": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Recipient phone number in E.164 format; null preserves current"
+ },
+ "phoneNumbers": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Deprecated: use phoneNumber"
+ },
+ "preferredLanguage": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Preferred language for SMS body (BCP-47, e.g. en-US, de-DE). Default: en-US"
+ },
+ "verifiedPhoneNumberId": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Id of an org verified_phone_number row; null preserves current when phoneNumber also null"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "apiKey": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Splunk On-Call REST API key"
+ },
+ "channelType": {
+ "const": "splunk_oncall",
+ "default": "splunk_oncall",
+ "type": "string"
+ },
+ "routingKey": {
+ "description": "Routing key for alert routing",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "routingKey"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "teams",
+ "default": "teams",
+ "type": "string"
+ },
+ "webhookUrl": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Microsoft Teams incoming webhook URL"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "botToken": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Telegram bot token from @BotFather"
+ },
+ "channelType": {
+ "const": "telegram",
+ "default": "telegram",
+ "type": "string"
+ },
+ "chatId": {
+ "description": "Chat, group, or channel ID to send alerts to",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "chatId"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "webhook",
+ "default": "webhook",
+ "type": "string"
+ },
+ "customHeaders": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Additional HTTP headers to include in webhook requests"
+ },
+ "signingSecret": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "HMAC secret for X-DevHelm-Signature header; omit for unsigned delivery"
+ },
+ "url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Webhook endpoint URL that receives alert payloads"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "properties": {
+ "channelType": {
+ "const": "zapier",
+ "default": "zapier",
+ "type": "string"
+ },
+ "webhookUrl": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Zapier/n8n/Make catch webhook URL"
+ }
+ },
+ "type": "object"
+ }
+]