---
title: "List Channels"
method: GET
path: "/v1/channels/"
tags: ["Channels"]
---

# List Channels

`GET /v1/channels/`

## Request

- Base URL: `https://logfire-api.pydantic.dev/api`
- URL: `https://logfire-api.pydantic.dev/api/v1/channels/`
- Auth: OAuth 2
  - Authorization code: `api/oauth/authorize`
  - Token URL: `/api/oauth/token` scopes: `organization:read_channel`
- TypeScript: <https://skmtc.dev/pydantic/apis/pydantic-logfire-api/docs/v1/channels/get.ts> (a function with typed inputs; its response is checked against the schema)

List all notification channels for the organization the project belongs to.

## Response `200`

Successful Response

- ChannelRead[]
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `label` string, required
  - `active` boolean, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, nullable, required
  - `created_by_name` string, nullable, required
  - `updated_by_name` string, nullable, required
  - `config` union, required
    - Webhook
      - `type` 'webhook', required
      - `format` 'auto' | 'slack-blockkit' | 'slack-legacy' | 'raw-data', required
      - `url` string, required
    - Opsgenie
      - `type` 'opsgenie', required
      - `auth_key` string, required
      - `base_url` string
    - Pagerduty: Pages via the PagerDuty Events API v2 using a service integration's routing key. `region` selects the events endpoint (`events.pagerduty.com` vs `events.eu.pagerduty.com`); routing keys only work on the region their PagerDuty account is hosted in.
      - `type` 'pagerduty', required
      - `routing_key` string, required
      - `region` 'us' | 'eu'
    - PagerdutyIntegration: Pages a service selected from a PagerDuty App installation. The persisted channel references the selected service relationally. `install_id` and `service_id` form the API representation used to select that service, whose encrypted Events API key is resolved immediately before delivery.
      - `type` 'pagerduty-integration', required
      - `install_id` string, uuid, required
      - `service_id` string, uuid, required
    - Notification
      - `type` 'notification', required
      - `recipients` string[], required
    - SlackIntegration: Posts to a channel of a customer's installed Slack App (the `external_installations` integration). Unlike `webhook` (a bearer-capable incoming-webhook URL), this stores no secret: `install_id` points at the install whose encrypted bot token the worker decrypts at send time, and `channel_id` is the Slack channel the bot must already be a member of.
      - `type` 'slack-integration', required
      - `install_id` string, uuid, required
      - `channel_id` string, required
      - `include_agent_prompt` boolean: Whether Slack App notifications include an agent investigation prompt.
    - Email
      - `type` 'email', required
      - `recipients` string[], required
    - WebPush: Sends a browser notification to every device the named members turned push on for. Recipients are members rather than devices: a person, not a laptop, is who an alert is addressed to, and which of their devices are registered is theirs to change from their own settings without editing anyone's alert. A member with no registered device receives nothing, exactly as a muted one does.
      - `type` 'web-push', required
      - `recipients` string[], required

## Other responses

- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/pydantic/apis/pydantic-logfire-api.md) - [All operations](https://skmtc.dev/pydantic/apis/pydantic-logfire-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pydantic/apis/pydantic-logfire-api/revisions/7996e45256f4?raw)
