> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kadoa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a new notification channel



## OpenAPI

````yaml post /v5/notifications/channels
openapi: 3.0.3
info:
  title: Kadoa API
  version: 3.0.0
  contact:
    name: Support
    email: support@kadoa.com
servers:
  - url: https://api.kadoa.com
security: []
paths:
  /v5/notifications/channels:
    post:
      tags:
        - Notifications
      summary: Create a new notification channel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - channelType
                - config
              properties:
                name:
                  type: string
                channelType:
                  type: string
                  enum:
                    - EMAIL
                    - SLACK
                    - WEBHOOK
                    - WEBSOCKET
                config:
                  type: object
                  description: Configuration object specific to the channel type
                  oneOf:
                    - $ref: '#/components/schemas/EmailChannelConfig'
                    - $ref: '#/components/schemas/SlackChannelConfig'
                    - $ref: '#/components/schemas/WebhookChannelConfig'
                    - $ref: '#/components/schemas/WebsocketChannelConfig'
      responses:
        '201':
          description: Channel created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      channel:
                        type: object
                  status:
                    type: string
                  message:
                    type: string
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      security:
        - ApiKeyAuth: []
components:
  schemas:
    EmailChannelConfig:
      type: object
      required:
        - recipients
      properties:
        recipients:
          type: array
          items:
            type: string
            format: email
          description: Array of recipient email addresses
          example:
            - user@example.com
            - admin@company.com
        from:
          type: string
          format: email
          description: Sender email address (optional, must be a @kadoa.com domain email)
          example: notifications@kadoa.com
    SlackChannelConfig:
      type: object
      required:
        - slackChannelId
        - slackChannelName
      properties:
        webhookUrl:
          type: string
          format: uri
          description: Slack webhook URL (optional)
          example: https://example.com/slack-webhook
        slackChannelId:
          type: string
          description: Slack channel ID
          example: C1234567890
        slackChannelName:
          type: string
          description: Slack channel name
          example: general
    WebhookChannelConfig:
      type: object
      required:
        - webhookUrl
        - httpMethod
      properties:
        webhookUrl:
          type: string
          format: uri
          description: Webhook endpoint URL
          example: https://api.example.com/webhook
        httpMethod:
          type: string
          enum:
            - POST
            - GET
            - PUT
            - PATCH
          description: HTTP method for the webhook
        auth:
          type: object
          description: Authentication configuration (optional)
          properties:
            type:
              type: string
              enum:
                - bearer
                - basic
                - header
              description: Authentication type
            token:
              type: string
              description: Bearer token (for bearer auth)
            username:
              type: string
              description: Username (for basic auth)
            password:
              type: string
              description: Password (for basic auth)
            headers:
              type: object
              description: Additional headers (for header auth)
              additionalProperties:
                type: string
    WebsocketChannelConfig:
      type: object
      description: >-
        WebSocket channel configuration. Note - Only one WebSocket channel is
        allowed per workspace. Leave empty object {} as no configuration is
        needed.
      properties: {}
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication

````