Kentik Notification Channels API (v6)
Manage notification channels (email, Slack, PagerDuty, webhooks, etc.) used by alert policies.
Manage notification channels (email, Slack, PagerDuty, webhooks, etc.) used by alert policies.
{
"openapi": "3.0.0",
"info": {
"title": "Notification Channel API",
"description": "# Overview\nThe Notification Channel APIs enable you to retrieve IDs for the channels in your organization's collection of notification channels (see [Notifications](https://kb.kentik.com/v4/Cb24.htm)). Each channel includes a channel type (e.g. email, Slack, PagerDuty, etc.) and a set of targets (recipients). Using the ID of a given channel, you can assign a set of recipients to receive notifications from Kentik alerts and synthetic tests, including those generated by the [Synthetics Monitoring APIs](https://kb.kentik.com/v0/Oa09.htm) and [BGP Monitoring APIs](https://kb.kentik.com/v0/Oa07.htm).\n\nBoth REST endpoints and gRPC RPCs are provided.\n# Limitations\nThe use of this API is currently subject to the following limitations:\n* **Read-only**: Creation, modification, and deletion of channels is not supported.\n* **No v3 channels**: No support is (or will be) provided for notification channels created in Kentik's v3 portal.\n",
"version": "v202210",
"contact": {
"name": "Kentik API Engineering",
"url": "https://github.com/kentik/api-schema-public"
}
},
"tags": [
{
"name": "NotificationChannelService"
}
],
"paths": {
"/notification_channel/v202210/notification_channels": {
"get": {
"summary": "List available notification channels",
"description": "Returns list of all configured notification channels.",
"operationId": "ListNotificationChannels",
"responses": {
"200": {
"description": "A successful response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/v202210ListNotificationChannelsResponse"
}
}
}
},
"default": {
"description": "An unexpected error response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rpcStatus"
}
}
}
}
},
"tags": [
"NotificationChannelService"
]
}
},
"/notification_channel/v202210/notification_channels/search": {
"post": {
"summary": "Retrieve notification channels matching criteria.",
"description": "Returns list of all notification channels matching request criteria. Match criteria are treated as a logical AND, i.e. all provided criteria must match in order for an entry to be included in the response.",
"operationId": "SearchNotificationChannels",
"responses": {
"200": {
"description": "A successful response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/v202210SearchNotificationChannelsResponse"
}
}
}
},
"default": {
"description": "An unexpected error response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rpcStatus"
}
}
}
}
},
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/v202210SearchNotificationChannelsRequest"
}
}
},
"required": true
},
"tags": [
"NotificationChannelService"
]
}
},
"/notification_channel/v202210/notification_channels/{id}": {
"get": {
"summary": "Get information about a notification channel",
"description": "Returns information about a notification channel with specific ID.",
"operationId": "GetNotificationChannel",
"responses": {
"200": {
"description": "A successful response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/v202210GetNotificationChannelResponse"
}
}
}
},
"default": {
"description": "An unexpected error response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rpcStatus"
}
}
}
}
},
"parameters": [
{
"name": "id",
"description": "Request channel ID.",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"tags": [
"NotificationChannelService"
]
}
}
},
"security": [
{
"email": [],
"token": []
}
],
"externalDocs": {
"description": "More about Kentik APIs",
"url": "https://docs.kentik.com/api"
},
"components": {
"securitySchemes": {
"email": {
"type": "apiKey",
"name": "X-CH-Auth-Email",
"in": "header"
},
"token": {
"type": "apiKey",
"name": "X-CH-Auth-API-Token",
"in": "header"
}
},
"schemas": {
"protobufAny": {
"type": "object",
"properties": {
"@type": {
"type": "string"
}
},
"additionalProperties": {}
},
"rpcStatus": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"$ref": "#/components/schemas/protobufAny"
}
}
}
},
"v202210ChannelType": {
"type": "string",
"enum": [
"CHANNEL_TYPE_UNSPECIFIED",
"CHANNEL_TYPE_XMATTERS",
"CHANNEL_TYPE_SLACK",
"CHANNEL_TYPE_SERVICENOW",
"CHANNEL_TYPE_SYSLOG",
"CHANNEL_TYPE_OPSGENIE",
"CHANNEL_TYPE_CUSTOM_WEBHOOK",
"CHANNEL_TYPE_SPLUNK",
"CHANNEL_TYPE_MSTEAMS",
"CHANNEL_TYPE_JSON",
"CHANNEL_TYPE_EMAIL",
"CHANNEL_TYPE_VICTOROPS",
"CHANNEL_TYPE_PAGERDUTY"
],
"default": "CHANNEL_TYPE_UNSPECIFIED",
"description": "- CHANNEL_TYPE_UNSPECIFIED: Invalid value.\n - CHANNEL_TYPE_XMATTERS: XMATTERS platform\n - CHANNEL_TYPE_SLACK: Slack channel\n - CHANNEL_TYPE_SERVICENOW: ServiceNow platform\n - CHANNEL_TYPE_SYSLOG: Syslog server\n - CHANNEL_TYPE_OPSGENIE: Atlassian Opsgenie\n - CHANNEL_TYPE_CUSTOM_WEBHOOK: Custom REST webhook\n - CHANNEL_TYPE_SPLUNK: Splunk platform\n - CHANNEL_TYPE_MSTEAMS: Microsoft Teams channel\n - CHANNEL_TYPE_JSON: webhook with JSON payload\n - CHANNEL_TYPE_EMAIL: E-mail\n - CHANNEL_TYPE_VICTOROPS: Splunk On-Call (formerly VictorOps)\n - CHANNEL_TYPE_PAGERDUTY: Pagerduty platform",
"title": "ChannelType"
},
"v202210GetNotificationChannelResponse": {
"type": "object",
"properties": {
"notificationChannel": {
"$ref": "#/components/schemas/v202210NotificationChannel"
}
},
"title": "GetNotificationChannelResponse"
},
"v202210ListNotificationChannelsResponse": {
"type": "object",
"properties": {
"notificationChannels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/v202210NotificationChannel"
},
"description": "List of notification channels",
"readOnly": true
},
"invalidCount": {
"type": "integer",
"format": "int32",
"description": "Number of invalid entries that were not included in the list (should be always zero)",
"readOnly": true
}
},
"title": "ListNotificationChannelsResponse"
},
"v202210NotificationChannel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the channel",
"readOnly": true
},
"name": {
"type": "string",
"description": "User selected name of the channel",
"readOnly": true
},
"type": {
"$ref": "#/components/schemas/v202210ChannelType"
},
"enabled": {
"type": "boolean",
"description": "Administrative status",
"readOnly": true
},
"cdate": {
"type": "string",
"format": "date-time",
"description": "Creation timestamp (UTC)",
"readOnly": true
},
"edate": {
"type": "string",
"format": "date-time",
"description": "Last modification timestamp (UTC)",
"readOnly": true
}
},
"title": "NotificationChannel"
},
"v202210SearchNotificationChannelsRequest": {
"type": "object",
"properties": {
"namePattern": {
"type": "string",
"description": "Regular expression pattern for matching the name attribute of channels. Empty string matches any name, otherwise the regular expression must consume all characters in the channel name."
},
"types": {
"type": "array",
"items": {
"$ref": "#/components/schemas/v202210ChannelType"
},
"description": "List of ChannelType enum values to match. Empty list matches any channel type."
},
"includeDisabled": {
"type": "boolean",
"default": "false",
"description": "Include disabled channels in results."
}
},
"title": "SearchNotificationChannelsRequest"
},
"v202210SearchNotificationChannelsResponse": {
"type": "object",
"properties": {
"notificationChannels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/v202210NotificationChannel"
},
"description": "List of matching notification channels.",
"readOnly": true
},
"invalidCount": {
"type": "integer",
"format": "int32",
"description": "Number of invalid entries that were not included in the list (should be always zero)",
"readOnly": true
}
},
"title": "SearchNotificationChannelsResponse"
}
}
}
}