Harness Notification Channels API

This contains APIs for Notification Channels

Operations 18

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/orgs/{org}/projects/{project}/notification-channels List a project's notification channels · List Notification channels #
Ask an LLM
“Which notification channels are set up in my project?”
“Can I filter a project's channels by channel type, like email, and include parent scopes?”
Tell an agent
List notification channels in project {project} of org {org}.
Show {notification_channel_type} channels in project {project}, including inherited ones.
POST /v1/orgs/{org}/projects/{project}/notification-channels Create a project notification channel · Create Notification channel #
Ask an LLM
“How do I add a new notification channel scoped to a single project?”
“What do I need to supply to create a project-level alert channel?”
Tell an agent
Create a {notification_channel_type} notification channel named {name} in project {project} of org {org}.
Add a project channel in {org}/{project} using channel config {channel}.
GET /v1/orgs/{org}/projects/{project}/notification-channels/{notification-channel} Get a project notification channel · Get Notification channel #
Ask an LLM
“How is a particular project notification channel configured?”
“Can I look up one project-level channel by its identifier?”
Tell an agent
Get notification channel {notification-channel} in project {project} of org {org}.
Show the settings of project channel {notification-channel}.
DELETE /v1/orgs/{org}/projects/{project}/notification-channels/{notification-channel} Delete a project notification channel · Delete Notification Channel #
Ask an LLM
“How do I remove a notification channel from a project?”
“What happens to rules that use a project channel after I delete it?”
Tell an agent destructive · confirm first
Delete notification channel {notification-channel} from project {project} in org {org}.
Remove project channel {notification-channel}.
PUT /v1/orgs/{org}/projects/{project}/notification-channels/{notification-channel} Update a project notification channel · Update Notification Channel #
Ask an LLM
“Can I change the destination of an existing project-level notification channel?”
“How do I rename or disable a channel that lives in a project?”
Tell an agent
Update project channel {notification-channel} in {org}/{project} to type {notification_channel_type}.
Set status {status} on project notification channel {notification-channel}.
GET /v1/orgs/{org}/notification-channels List an organization's notification channels · List Notification channels at org level #
Ask an LLM
“What notification channels are defined at the organization level?”
“Can I search org-wide channels by name?”
Tell an agent
List notification channels at org level for {org}.
Search org {org} channels for {search_term}.
POST /v1/orgs/{org}/notification-channels Create an organization notification channel · Create Notification channel #
Ask an LLM
“How do I create a notification channel shared by every project in an org?”
“Can I define an alert channel once at the organization level?”
Tell an agent
Create an org-level {notification_channel_type} channel in org {org}.
Add organization channel {name} to org {org} with config {channel}.
GET /v1/notification-channels List account-level notification channels · List Notification channels at account level #
Ask an LLM
“Which notification channels exist at the account level?”
“Can I sort or page through every account-wide alert channel?”
Tell an agent
List all account-level notification channels.
Show account-wide channels of type {notification_channel_type}.
POST /v1/notification-channels Create an account-level notification channel · Create Notification channel #
Ask an LLM
“How do I create a notification channel available across my whole account?”
“What's required to register an account-wide alert destination?”
Tell an agent
Create an account-wide {notification_channel_type} channel called {name}.
Register account-level channel config {channel}.
GET /v1/orgs/{org}/notification-channels/{notification-channel} Get an organization notification channel · Get Notification channel #
Ask an LLM
“How is a specific org-level notification channel configured?”
“Can I fetch one organization channel by identifier?”
Tell an agent
Get org-level channel {notification-channel} in org {org}.
Show organization channel {notification-channel} details for {org}.
DELETE /v1/orgs/{org}/notification-channels/{notification-channel} Delete an organization notification channel · Delete Notification Channel #
Ask an LLM
“How do I remove a notification channel from an organization?”
“Is deleting an org-level channel permanent?”
Tell an agent destructive · confirm first
Delete org-level channel {notification-channel} from org {org}.
Remove organization channel {notification-channel} in {org}.
PUT /v1/orgs/{org}/notification-channels/{notification-channel} Update an organization notification channel · Update Notification Channel #
Ask an LLM
“Can I change the settings of a channel defined at the org level?”
“How do I point an organization-wide channel at a new destination?”
Tell an agent
Update org channel {notification-channel} in org {org} with config {channel}.
Rename organization channel {notification-channel} in {org} to {name}.
GET /v1/notification-channels/{notification-channel} Get an account-level notification channel · Get Notification channel #
Ask an LLM
“How is one of my account-wide notification channels configured?”
“Can I look up an account-scoped channel by identifier?”
Tell an agent
Get account-level channel {notification-channel}.
Show the account-wide channel {notification-channel} and its destination.
DELETE /v1/notification-channels/{notification-channel} Delete an account-level notification channel · Delete Notification Channel #
Ask an LLM
“How do I delete a notification channel defined at account scope?”
“Can I remove an account-wide alert destination I no longer use?”
Tell an agent destructive · confirm first
Delete account-level channel {notification-channel}.
Remove the account-wide notification channel {notification-channel}.
PUT /v1/notification-channels/{notification-channel} Update an account-level notification channel · Update Notification Channel #
Ask an LLM
“Can I edit a notification channel that's defined for the whole account?”
“How do I disable an account-wide channel without deleting it?”
Tell an agent
Update account-level channel {notification-channel} with config {channel}.
Set account-wide channel {notification-channel} status to {status}.
GET /v1/orgs/{org}/validate-channels/{notification-channel} Check an org channel identifier is unique · Validate unique identifier for notification channel #
Ask an LLM
“Is a notification channel identifier already taken in my organization?”
“Can I validate an org-level channel ID before creating it?”
Tell an agent
Check whether channel identifier {notification-channel} is free in org {org}.
Validate org channel ID {notification-channel} for {org}.
GET /v1/orgs/{org}/projects/{project}/validate-channels/{notification-channel} Check a project channel identifier is unique · Validate Notification Channel Identifier #
Ask an LLM
“Is a channel identifier already used inside my project?”
“Can I confirm a project-level channel ID is unique before I save it?”
Tell an agent
Check whether channel identifier {notification-channel} is available in project {project} of org {org}.
Validate project channel ID {notification-channel} in {project}.
GET /v1/validate-channels/{notification-channel} Check an account channel identifier is unique · Validate Notification channel identifier #
Ask an LLM
“Has an account-wide channel identifier already been claimed?”
“Can I check a channel ID is unique across the account before creating it?”
Tell an agent
Check whether account channel identifier {notification-channel} is available.
Validate account-level channel ID {notification-channel}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/harness:harness-notification-channels-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

harness-notification-channels-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Harness Notification Channels API
  version: '1.0'
  description: The Harness Software Delivery Platform uses OpenAPI Specification v3.0.
  contact:
    name: API Support
    email: contact@harness.io
    url: https://harness.io/
  x-logo:
    url: https://mma.prnewswire.com/media/779232/Harnes_logo_horizontal.jpg?p=facebook
    altText: Harness
  termsOfService: https://harness.io/terms-of-use/
servers:
- url: https://app.harness.io
  description: Harness host URL
- url: https://{vanity}
  description: Vanity URL
  variables:
    vanity:
      default: app.harness.io
security:
- x-api-key: []
tags:
- name: Notification Channels
  description: This contains APIs for Notification Channels
paths:
  /v1/orgs/{org}/projects/{project}/notification-channels:
    parameters:
    - $ref: '#/components/parameters/OrgPathParam'
    - $ref: '#/components/parameters/ProjectPathParam'
    get:
      summary: List Notification channels
      responses:
        '200':
          $ref: '#/components/responses/NotificationChannelListResponse'
      operationId: list-notification-channels
      x-stoplight:
        id: 110wzj88g7je4
      description: Returns a list of notification channels for the scope.
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      - $ref: '#/components/parameters/Limit3'
      - $ref: '#/components/parameters/SearchTerm3'
      - $ref: '#/components/parameters/Sort3'
      - $ref: '#/components/parameters/Order'
      - $ref: '#/components/parameters/notification_channel_type'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/IncludeParentScope'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
    post:
      summary: Create Notification channel
      operationId: create-notification-channel
      responses:
        '201':
          $ref: '#/components/responses/NotificationChannelResponse'
      x-stoplight:
        id: hnjw4i11veokz
      description: Create Notification Channel
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      requestBody:
        $ref: '#/components/requestBodies/NotificationChannelRequest'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
  /v1/orgs/{org}/projects/{project}/notification-channels/{notification-channel}:
    parameters:
    - schema:
        type: string
      name: notification-channel
      in: path
      required: true
      description: identifier
    - $ref: '#/components/parameters/OrgPathParam'
    - $ref: '#/components/parameters/ProjectPathParam'
    get:
      summary: Get Notification channel
      responses:
        '200':
          $ref: '#/components/responses/NotificationChannelResponse'
      operationId: get-notification-channel
      x-stoplight:
        id: s152cc3xhzlg4
      description: Get Notification Channel
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
    delete:
      summary: Delete Notification Channel
      operationId: delete-notification-channel
      responses:
        '204':
          description: No Content
        '400':
          headers: {}
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
      x-stoplight:
        id: 7wecyef99sub3
      description: Delete notification channel
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
    put:
      summary: Update Notification Channel
      operationId: update-notification-channel
      responses:
        '200':
          $ref: '#/components/responses/NotificationChannelResponse'
      x-stoplight:
        id: kqsk5i3w0wkwr
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      requestBody:
        $ref: '#/components/requestBodies/NotificationChannelRequest'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
  /v1/orgs/{org}/notification-channels:
    parameters:
    - $ref: '#/components/parameters/OrgPathParam'
    get:
      summary: List Notification channels at org level
      responses:
        '200':
          $ref: '#/components/responses/NotificationChannelListResponse'
      operationId: list-notification-channels-org
      x-stoplight:
        id: r96qavu1tdkl3
      description: Returns a list of notification channels for the scope.
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      - $ref: '#/components/parameters/Limit3'
      - $ref: '#/components/parameters/SearchTerm3'
      - $ref: '#/components/parameters/Sort3'
      - $ref: '#/components/parameters/Order'
      - $ref: '#/components/parameters/notification_channel_type'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/IncludeParentScope'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
    post:
      summary: Create Notification channel
      operationId: create-notification-channel-org
      responses:
        '201':
          $ref: '#/components/responses/NotificationChannelResponse'
      x-stoplight:
        id: 3c3z42mq3u5cs
      description: Create Notification Channel
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      requestBody:
        $ref: '#/components/requestBodies/NotificationChannelRequest'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
  /v1/notification-channels:
    get:
      summary: List Notification channels at account level
      responses:
        '200':
          $ref: '#/components/responses/NotificationChannelListResponse'
      operationId: list-notification-channels-account
      x-stoplight:
        id: fizbxgypnkyx4
      description: Returns a list of notification channels for the scope.
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      - $ref: '#/components/parameters/Limit3'
      - $ref: '#/components/parameters/SearchTerm3'
      - $ref: '#/components/parameters/Sort3'
      - $ref: '#/components/parameters/Order'
      - $ref: '#/components/parameters/notification_channel_type'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/IncludeParentScope'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
    post:
      summary: Create Notification channel
      operationId: create-notification-channel-account
      responses:
        '201':
          $ref: '#/components/responses/NotificationChannelResponse'
      x-stoplight:
        id: i879xsqwx95bd
      description: Create Notification Channel
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      requestBody:
        $ref: '#/components/requestBodies/NotificationChannelRequest'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
  /v1/orgs/{org}/notification-channels/{notification-channel}:
    parameters:
    - schema:
        type: string
      name: notification-channel
      in: path
      required: true
      description: identifier
    - $ref: '#/components/parameters/OrgPathParam'
    get:
      summary: Get Notification channel
      responses:
        '200':
          $ref: '#/components/responses/NotificationChannelResponse'
      operationId: get-notification-channel-org
      x-stoplight:
        id: ky2btllctnj0n
      description: Get Notification Channel
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
    delete:
      summary: Delete Notification Channel
      operationId: delete-notification-channel-org
      responses:
        '204':
          description: No Content
        '400':
          headers: {}
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
      x-stoplight:
        id: 80yugthenbxim
      description: Delete notification channel
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
    put:
      summary: Update Notification Channel
      operationId: update-notification-channel-org
      responses:
        '200':
          $ref: '#/components/responses/NotificationChannelResponse'
      x-stoplight:
        id: rdwfm4wav1fl6
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      requestBody:
        $ref: '#/components/requestBodies/NotificationChannelRequest'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
  /v1/notification-channels/{notification-channel}:
    parameters:
    - schema:
        type: string
      name: notification-channel
      in: path
      required: true
      description: identifier
    get:
      summary: Get Notification channel
      responses:
        '200':
          $ref: '#/components/responses/NotificationChannelResponse'
      operationId: get-notification-channel-account
      x-stoplight:
        id: 0j2ergmt8dnlo
      description: Get Notification Channel
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
    delete:
      summary: Delete Notification Channel
      operationId: delete-notification-channel-account
      responses:
        '204':
          description: No Content
        '400':
          headers: {}
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
      x-stoplight:
        id: vij0xc5vjo1hw
      description: Delete notification channel
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
    put:
      summary: Update Notification Channel
      operationId: update-notification-channel-account
      responses:
        '200':
          $ref: '#/components/responses/NotificationChannelResponse'
      x-stoplight:
        id: 55xmh2nbu3pxu
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      requestBody:
        $ref: '#/components/requestBodies/NotificationChannelRequest'
      security:
      - x-api-key: []
      tags:
      - Notification Channels
      x-internal: true
  /v1/orgs/{org}/validate-channels/{notification-channel}:
    parameters:
    - $ref: '#/components/parameters/OrgPathParam'
    - schema:
        type: string
      name: notification-channel
      in: path
      required: true
      description: identifier
    get:
      summary: Validate unique identifier for notification channel
      tags:
      - Notification Channels
      responses:
        '200':
          $ref: '#/components/responses/ValidateIdentifierResponse'
        '302':
          description: Found
      operationId: validate-notification-channel-identifier-org
      x-stoplight:
        id: pa28zngw5cpyb
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      security:
      - x-api-key: []
  /v1/orgs/{org}/projects/{project}/validate-channels/{notification-channel}:
    parameters:
    - $ref: '#/components/parameters/OrgPathParam'
    - $ref: '#/components/parameters/ProjectPathParam'
    - schema:
        type: string
      name: notification-channel
      in: path
      required: true
      description: identifier
    get:
      summary: Validate Notification Channel Identifier
      responses:
        '200':
          $ref: '#/components/responses/ValidateIdentifierResponse'
        '302':
          description: Found
      operationId: validate-notification-channel-identifier
      x-stoplight:
        id: 3b5yactyqx0hs
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      tags:
      - Notification Channels
      security:
      - x-api-key: []
  /v1/validate-channels/{notification-channel}:
    parameters:
    - schema:
        type: string
      name: notification-channel
      in: path
      required: true
      description: identifier
    get:
      summary: Validate Notification channel identifier
      tags:
      - Notification Channels
      responses:
        '200':
          $ref: '#/components/responses/ValidateIdentifierResponse'
        '302':
          description: Found
      operationId: validate-notification-channel-identifier-account
      x-stoplight:
        id: 6sqcbt99vrutt
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      description: Validate Notification Channel Indetifier
      security:
      - x-api-key: []
components:
  parameters:
    OrgPathParam:
      name: org
      in: path
      required: true
      schema:
        type: string
      description: Identifier field of the organization the resource is scoped to
    Order:
      name: order
      in: query
      required: false
      schema:
        type: string
        enum:
        - ASC
        - DESC
      description: Order on the basis of which sorting is done.
    notification_channel_type:
      name: notification_channel_type
      in: query
      required: false
      schema:
        type: string
      description: Notification Channel Type
    IncludeParentScope:
      name: include_parent_scope
      in: query
      required: false
      schema:
        type: boolean
        default: false
      description: Include entities from current and parent scopes.
    Page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 0
      description: "Pagination page number strategy: Specify the page number within the paginated collection related to the number of items in each page\t"
    Sort3:
      name: sort
      in: query
      required: false
      schema:
        type: string
        enum:
        - name
        - identifier
        - created
        - updated
      description: Parameter on the basis of which sorting is done.
    AccountHeader:
      name: Harness-Account
      in: header
      required: false
      schema:
        type: string
      description: Identifier field of the account the resource is scoped to. This is required for Authorization methods other than the x-api-key header. If you are using the x-api-key header, this can be skipped.
    SearchTerm3:
      name: search_term
      in: query
      required: false
      schema:
        type: string
      description: This would be used to filter resources having attributes matching with search term.
    Limit3:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        default: 30
        maximum: 1000
      description: Number of items to return per page.
    ProjectPathParam:
      name: project
      in: path
      required: true
      schema:
        type: string
      description: Identifier field of the project the resource is scoped to
  schemas:
    ValidateIdentifierDTO:
      title: ValidateIdentifierDTO
      x-stoplight:
        id: rfcu5cr80bs8g
      type: object
      properties:
        exists:
          type: boolean
          x-stoplight:
            id: i73hymdxgepoo
    Status:
      title: Status
      type: string
      x-stoplight:
        id: 57964lq16jzs3
      enum:
      - ENABLED
      - DISABLED
      description: Notification Rule Status
    NotificationRuleDTO:
      type: object
      x-examples:
        Example 1:
          identifier: NR1
          account: accountid
          org: org1
          project: myproj
          notification_entity: DELEGATE
          notification_conditions:
          - name: del-condition
            notification_event_configs:
            - notification_event: DELEGATE_DOWN
              notification_channels:
              - name: nc1
                org: org1
                project: proj1
                notification_channel_type: PAGERDUTY
                status: DISABLED
                channel:
                  pager_duty_integration_keys: []
                  user_groups:
                  - {}
                created_by: {}
                created: 0
                nextIteration: 0
            - notificationEvent: DELEGATE_EXPIRED
              notificationChannels:
              - name: nc1
                org: org1
                project: proj1
                notificationChannelType: PAGERDUTY
                status: DISABLED
                channel:
                  pagerDutyIntegrationKeys: []
                  userGroups:
                  - {}
                created_by: {}
                created: 0
                nextIteration: 0
          status: ENABLED
          created_by: {}
          created: 0
      description: Notification Rule DTO
      properties:
        identifier:
          type: string
          x-stoplight:
            id: 3xy0lrmqbzujp
        account:
          type: string
          x-stoplight:
            id: 0knfytbeagygi
        org:
          type: string
          x-stoplight:
            id: plxjwxq3kbtmf
        project:
          type: string
          x-stoplight:
            id: kip45dsvd6vya
        status:
          $ref: '#/components/schemas/Status'
        last_modified:
          type: integer
          x-stoplight:
            id: g71dkqd7f8w9l
          format: int64
        created:
          type: integer
          x-stoplight:
            id: uflyip2weeewr
          format: int64
        name:
          type: string
          x-stoplight:
            id: fxelaoeenutjb
        notification_conditions:
          x-stoplight:
            id: 17841zlwcujh4
          type: array
          items:
            $ref: '#/components/schemas/NotificationConditionDTO'
        notification_channel_refs:
          type: array
          x-stoplight:
            id: 7rem3rrfdyxfk
          items:
            type: string
        custom_notification_template_ref:
          $ref: '#/components/schemas/CustomNotificationTemplateDTO'
    NotificationTemplateInputsDTO:
      title: NotificationTemplateInputsDTO
      x-stoplight:
        id: hrzvz8ee0gojd
      type: object
      properties:
        name:
          type: string
          x-stoplight:
            id: sqj7hpyogmoun
        value:
          type: string
          x-stoplight:
            id: 3sf823v22jfdd
        type:
          type: string
          x-stoplight:
            id: slnpq1uq97zre
      required:
      - name
      - value
    NotificationEventConfigDTO:
      title: NotificationEventConfigDTO
      x-stoplight:
        id: vvdqrc1istt8n
      type: object
      properties:
        notification_entity:
          type: string
        notification_event_data:
          $ref: '#/components/schemas/NotificationEventParamsDTO'
          x-stoplight:
            id: 7kv2sz6c1vthx
        notification_event:
          type: string
        entity_identifiers:
          type: array
          items:
            type: string
    UserGroupDTO1:
      title: UserGroupDTO
      x-stoplight:
        id: oz9bkecz1esfm
      type: object
      properties:
        identifier:
          type: string
          x-stoplight:
            id: u815tqcfbr57h
        org:
          type: string
          x-stoplight:
            id: ssoyhq1s352ih
        project:
          type: string
          x-stoplight:
            id: advelmh410p94
    NotificationEventParamsDTO:
      title: NotificationEventParamsDTO
      x-stoplight:
        id: esscocuf2l83m
      type: object
      discriminator:
        propertyName: type
        mapping:
          DELEGATE: '#/components/schemas/DelegateEventNotificationParamsDTO'
          PIPELINE: '#/components/schemas/PipelineEventNotificationParamsDTO'
          CHAOS_EXPERIMENT: '#/components/schemas/ChaosExperimentEventNotificationParamsDTO'
          SERVICE_LEVEL_OBJECTIVE: '#/components/schemas/SLOEventNotificationParamsDTO'
      properties:
        type:
          $ref: '#/components/schemas/ResourceTypeEnum'
      description: Notification Event Params
    CustomNotificationTemplateDTO:
      title: CustomNotificationTemplateDTO
      x-stoplight:
        id: 7i0op7u06osi8
      type: object
      x-examples:
        Example 1:
          template:
            templateRef: org.nginx
            versionLabel: v1
            variables:
            - name: variable1
              value: value1
              type: string
            - name: variable2
              value: value2
              type: string
      properties:
        template_ref:
          type: string
        version_label:
          type: string
        variables:
          type: array
          x-stoplight:
            id: 0r23u2qzuxaz6
          items:
            $ref: '#/components/schemas/NotificationTemplateInputsDTO'
    NotificationChannelDTO:
      type: object
      x-examples:
        Example 1:
          name: nc1
          org: org1
          project: proj1
          notification_channel_type: EMAIL
          status: DISABLED
          channel:
            email_ids: []
            user_groups:
            - {}
          created_by: {}
          created: 0
        Example 2:
          name: string
          org: string
          project: string
          notification_channel_type: string
          status: string
          channel:
            slack_web_hook_urls: []
            user_groups:
            - {}
          created_by: {}
          created: 0
        Example 3:
          name: string
          org: string
          project: string
          notification_channel_type: string
          status: string
          channel:
            pager_duty_integration_keys: []
            user_groups:
            - {}
          created_by: {}
          created: 0
        Example 4:
          name: string
          org: string
          project: string
          notification_channel_type: string
          status: string
          channel:
            userGroups:
            - {}
            headers: {}
          created_by: {}
          created: 0
      description: Notification Channel DTO
      properties:
        identifier:
          type: string
          x-stoplight:
            id: gjyp93g6bbac6
        org:
          type: string
          x-stoplight:
            id: 1z2ggn67web3c
        project:
          type: string
          x-stoplight:
            id: 83uq77a6a6sas
        notification_channel_type:
          $ref: '#/components/schemas/ChannelType'
        status:
          $ref: '#/components/schemas/Status'
        channel:
          $ref: '#/components/schemas/ChannelDTO'
        last_modified:
          type: integer
          x-stoplight:
            id: 11ay58xlnd6fw
          format: int64
        created:
          type: integer
          x-stoplight:
            id: gptqmzli7lqvo
          format: int64
        name:
          type: string
          x-stoplight:
            id: 9ba97bypq7u8d
        account:
          type: string
          x-stoplight:
            id: cxf3l813219n4
      required:
      - channel
      - notification_channel_type
    ResourceTypeEnum:
      title: ResourceTypeEnum
      type: string
      x-stoplight:
        id: ad4v5eitxzg50
      enum:
      - DELEGATE
      - CHAOS_EXPERIMENT
      - PIPELINE
      - SERVICE_LEVEL_OBJECTIVE
    ChannelDTO:
      title: ChannelDTO
      x-stoplight:
        id: 63jic64es47uu
      type: object
      properties:
        email_ids:
          type: array
          x-stoplight:
            id: nvmrl0803hf3n
          items:
            x-stoplight:
              id: gvouq5lrvd0jo
            type: string
        slack_webhook_urls:
          type: array
          x-stoplight:
            id: f7t1sclpjrnc3
          items:
            x-stoplight:
              id: sr0wdj5c651h4
            type: string
        webhook_urls:
          type: array
          x-stoplight:
            id: hj9dvblmeot1c
          items:
            x-stoplight:
              id: c6qx5d4zp4hy5
            type: string
        pager_duty_integration_keys:
          type: array
          x-stoplight:
            id: gvpc9mkv7rv41
          items:
            x-stoplight:
              id: 4bvfcay6ejjtr
            type: string
        ms_team_keys:
          type: array
          x-stoplight:
            id: f5emuderczyd0
          items:
            x-stoplight:
              id: 11cgn8om91cgr
            type: string
        user_groups:
          type: array
          x-stoplight:
            id: qoe3qfimgqqbt
          items:
            $ref: '#/components/schemas/UserGroupDTO1'
        headers:
          type: array
          items:
            $ref: '#/components/schemas/WebHookHeaders'
        datadog_urls:
          type: array
          x-stoplight:
            id: hj9dvblmeot1d
          items:
            x-stoplight:
              id: c6qx5d4zp4hy5
            type: string
        api_key:
          type: string
          x-stoplight:
            id: hj9dvblmeot1e
        delegate_selectors:
          type: array
          x-stoplight:
            id: ij8dvblmeot1d
          items:
            x-stoplight:
              id: y6qx5d8zp4hy5
            type: string
        execute_on_delegate:
          type: boolean
          x-stoplight:
            id: ij8dvblmeyt1d
    NotificationConditionDTO:
      title: NotificationConditionDTO
      x-stoplight:
        id: x6qlppxurh1mc
      type: object
      properties:
        condition_name:
          type: string
          x-stoplight:
            id: 697xioj0wwra7
        notification_event_configs:
          type: array
          x-stoplight:
            id: o2pktaqro6dtv
          items:
            $ref: '#/components/schemas/NotificationEventConfigDTO'
    WebHookHeaders:
      title: WebHookHeaders
      x-stoplight:
        id: 8w8k6zkcbesay
      type: object
      properties:
        key:
          type: string
          x-stoplight:
            id: glshqjklea20e
        value:
          type: string
          x-stoplight:
            id: 5etjhnv4quj97
    ChannelType:
      title: ChannelType
      type: string
      x-stoplight:
        id: oi0x0mhbugr20
      enum:
      - EMAIL
      - SLACK
      - PAGERDUTY
      - MSTEAMS
      - WEBHOOK
      - DATADOG
      description: Notification Channel Type
  responses:
    NotificationChannelListResponse:
      description: Example response
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/NotificationChannelDTO'
        application/xml:
          schema:
            $ref: '#/components/schemas/NotificationChannelDTO'
        multipart/form-data:
          schema:
            $ref: '#/components/schemas/NotificationRuleDTO'
        text/html:
          schema:
            $ref: '#/components/schemas/NotificationChannelDTO'
        text/plain:
          schema:
            type: object
            properties: {}
      headers:
        X-Total-Elements:
          schema:
            type: integer
          description: Total number of elements returned in Paginated response.
        X-Page-Number:
          schema:
            type: integer
          description: Page number in Paginated response.
        X-Page-Size:
          schema:
            type: integer
          description: Maximum page size in Paginated response.
    NotificationChannelResponse:
      description: Notification channel response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotificationChannelDTO'
        application/xml:
          schema:
            $ref: '#/components/schemas/NotificationChannelDTO'
        multipart/form-data:
          schema:
            $ref: '#/components/schemas/NotificationChannelDTO'
    ValidateIdentifierResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidateIdentifierDTO'
  requestBodies:
    NotificationChannelRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotificationChannelDTO'
      description: Notification channel request
  securitySchemes:
    x-api-key:
      name: x-api-key
      type: apiKey
      in: header
      description: API key is a token provided while making the API calls. This is used to authenticate the client at the exposed endpoint.
externalDocs:
  description: Find out more about Swagger
  url: http://swagger.io
x-stoplight:
  id: oc91t4vrfnjyi
x-tagGroups:
- name: Organizations
  tags:
  - Organization
- name: Projects
  tags:
  - Org Project
  - Project
- name: Secrets
  tags:
  - Account Secret
  - Org Secret
  - Project Secret
  - Secrets
- name: Connectors
  tags:
  - Account Connector
  - Org Connector
  - Project Connector
  - Connectors
  - GoogleSecretManagerConnector
- name: Roles
  tags:
  - Account Roles
  - Organization Roles
  - Project Roles
  - Roles
- name: Resource Groups
  tags:
  - Account Resource Groups
  - Organization Resource Groups
  - Project Resource Groups
  - Filter Resource Groups
  - Harness Resource Group
  - Zendesk
- name: Role Assignments
  tags:
  - Account Role Assignments
  - Org Role Assignments
  - Project Role Assignments
  - Role Assignments
- name: Platform
  tags:
  - Access Control List
  - Account Banner
  - Account Banner
  - Account Licensed Modules
  - Account License Type
  - Account Webhooks
  - AccountSetting
  - Accounts
  - Analyze Account Access Policy
  - Analyze Organization Access Policy
  - Analyze Project Access Policy
  - ApiKey
  - Audit
  - AuditFilters
  - Authentication Settings
  - Canny
  - Devops Essentials License Data By Account
  - EULA
  - Filter
  - Harness Resource Type
  - Invite
  - IP Allowlist
  - Nextgen Ldap
  - Notification Channels
  - Notification Rules
  - OIDC
  - Oidc-Access-Token
  - Oidc-ID-Token
  - Org Webhooks
  - Permissions
  - Project Webhooks
  - Secret Managers
  - Service Account
  - Setting
  - SMTP
  - Source Code Manager
  - Token
  - User
  - User Group
  - Variables
- name: Delegate
  tags:
  - Agent mTLS Endpoint Management
  - Delegate Download Resource
  - Delegate Group Tags Resource
  - Delegate Setup Resource
  - Delegate Token Resource
- name: Pipelines
  tags:
  - Pipelines
  - Input Sets
  - Approvals
  - Pipeline Execution
  - Pipeline Dashboard
  - Pipeline Input Set
  - Pipeline
  - Pipeline Execution Details
  - Pipeline Execute
  - Pipeline Refresh
  - Pipeline data retention
  - Triggers
  - TriggersEvents
  - Webhook Triggers
  - Webhook Event Handler
  - DryRunPipeline
- name: Artifact Registry
  tags:
  - Registries
  - Artifacts
  - Docker Artifacts
  - Helm Artifacts
  - quarantine
  - Webhooks
  - Spaces
  - Replication
  - Registry V3 - Registries
  - Registry V3 - Packages
  - Registry V3 - Versions
  - Registry V3 - Files
  - Registry V3 - Metadata
  - Registry V3 - Firewall
  - Registry V3 - Transfer
- name: Database DevOps
  tags:
  - Database Schema
  - Database Instance
  - Deployed State
  - Execution Config
  - Migration State
- name: CD
  tags:
  - K8s Release Service Mapping
  - CustomDeployment
  - Environments
  - EnvironmentGroup
  - Infrastructures
  - Usage
  - File Store
  - Service Dashboard
  - ServiceOverrides
  - Rollback
  - tas
- name: Deployment Freeze
  tags:
  - Freeze CRUD
  - Freeze Evaluation
  - Freeze Schema
- name: Services
  tags:
  - Account Services
  - Org Services
  - Project Services
  - Services
- name: Rancher Infrastructures
  tags:
  - Account Rancher Infrastructure
  - Org Rancher Infrastructure
  - Project Rancher Infrastructure
- name: Templates
  tags:
  - Account Template
  - Org Template
  - Project Template
  - Templates
  - Global Templates
- name: GitOps
  tags:
  - Agents
  - Application
  - Applications
  - Certificates
  - Clusters
  - Dashboard Aggregates
  - Dashboards
  - GnuPGP Keys
  - GPG Keys
  - Hosts
  - Project mappings
  - Projects
  - Reconciler
  - Repositories
  - Repository Certificates
  - Repository credentials
  - ValidateHost
- name: GitX
  tags:
  - GitX Webhooks
  - Org Gitx Webhooks
  - Project Gitx Webhooks
- name: CACM
  tags:
  - Anomalies Ignorelist Rule
  - Anomalies


# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/harness/refs/heads/main/openapi/harness-notification-channels-api-openapi.yml