Kentik Notification Channels API (v6)

Manage notification channels (email, Slack, PagerDuty, webhooks, etc.) used by alert policies.

OpenAPI Specification

kentik-notification-channel-openapi.json Raw ↑
{
    "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"
            }
        }
    }
}