---
title: "List notification channels"
method: GET
path: "/internal/v1/projects/{project_id}/notification-channels"
tags: ["NotificationChannels"]
---

# List notification channels

`GET /internal/v1/projects/{project_id}/notification-channels`

Retrieve all notification channels for a project.

## Path parameters

- `project_id` integer, required

## Response `200`

List of notification channels.

- object
  - `channels` NotificationChannel[], required
    - `id` integer, required
    - `projectId` integer, required
    - `name` string, required
    - `type` 'slack' | 'google_chat' | 'mattermost' | 'pagerduty' | 'servicenow' | 'opsgenie' | 'telegram' | 'teams' | 'pushover' | 'webhook' | 'alertmanager' | 'incidentio', required
    - `status` 'draft' | 'delivering' | 'paused' | 'disabled', required
    - `error` string
    - `matchAll` boolean
    - `condition` string
    - `priorities` string[]
    - `params` union, required
      - SlackParams — Slack params. When authMethod=webhook, webhookUrl is required. When authMethod=token, token and channel are required.
        - `webhookUrl` string
        - `token` string
        - `channel` string
        - `authMethod` 'webhook' | 'token'
      - GoogleChatParams
        - `webhookUrl` string, required
      - MattermostParams
        - `webhookUrl` string, required
      - PagerdutyParams
        - `routingKey` string, required
        - `severity` 'critical' | 'error' | 'warning' | 'info', required
      - ServicenowParams
        - `url` string, required
        - `username` string, required
        - `password` string, required
        - `category` string
        - `subcategory` string
        - `impact` '1' | '2' | '3'
        - `urgency` '1' | '2' | '3'
        - `severity` '1' | '2' | '3' | '4' | '5'
        - `callerId` string
        - `group` string
        - `assignedTo` string
        - `openedBy` string
        - `notify` '1' | '2'
        - `dueDate` string
      - OpsgenieParams
        - `apiKey` string, required
        - `priority` 'P1' | 'P2' | 'P3' | 'P4' | 'P5', required
      - TelegramParams
        - `chatId` integer, required
      - TeamsParams
        - `webhookUrl` string, required
      - PushoverParams — Pushover notification channel params.
        - `token` string, required
        - `userKey` string, required
        - `priority` integer — Priority from -2 (lowest) to 2 (emergency).
        - `sound` string
      - WebhookParams
        - `url` string, required
        - `payload` object
      - AlertmanagerParams — Alertmanager notification channel params.
        - `url` string, required — Alertmanager API endpoint URL.
        - `authMethod` 'none' | 'basic_auth' | 'bearer' — Authentication method.
        - `username` string — Username for basic_auth.
        - `password` string — Password for basic_auth.
        - `token` string — Token for bearer auth.
      - IncidentioParams — incident.io notification channel params.
        - `url` string, required — Alert Events V2 endpoint URL.
        - `apiKey` string, required — incident.io API key.
    - `monitorIds` integer[]
    - `monitorCount` integer
    - `sentCount` integer
    - `lastSentAt` string, date-time

## Other responses

- `400` — Invalid request
- `401` — Authentication required
- `404` — Resource not found
- `500` — Internal server error

---

[API](https://skmtc.net/uptrace/apis/uptrace-json-api.md) · [All operations](https://skmtc.net/uptrace/apis/uptrace-json-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/uptrace/uptrace-json-api/revisions/550c8881ab9a/schema)
