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

# List channels

`GET /channels`

## Request

- Base URL: `https://api.modem.dev/v1`
- URL: `https://api.modem.dev/v1/channels`
- Auth: HTTP bearer

List all channels for an organization with message counts

## Query parameters

- `sourceName` string: Filter channels by source (e.g., slack, discord). Omit for all sources.
- `search` string: Search channels by name. Omit when not searching.
- `ids` string[]: Filter to specific channel IDs (e.g., to resolve names for a stored channel scope). Omit when not filtering by ID.
- `connectedOnly` boolean: Only return channels whose backing integration is still connected. Currently filters GitHub repo channels to repositories with non-revoked access; other sources are unaffected. Omit to include all channels.
- `page` integer: The 1-based page number to return (default 1).
- `limit` integer: Maximum number of channels to return (default 50, max 100)

## Response `200`

OK

- object
  - `data` object[], required
    - `channelName` string, required: Human-readable name of the channel.
    - `context` string, nullable, required: User-provided context about the channel's purpose, used by the ingest pipeline's LLM classification and priority-scoring steps.
    - `createdAt` string, date-time, required: ISO 8601 timestamp of channel creation
    - `description` string, nullable, required: Optional description of the channel.
    - `id` union, required
      - string, uuid
      - string, uuid
    - `isConnected` boolean, required: Whether the source server/workspace is currently connected (bot has not left)
    - `lastSeenAt` string, date-time, nullable, required: ISO 8601 timestamp of the most recent message in this channel, or null if no messages
    - `messageCount` integer, required: Total number of messages in this channel
    - `serverName` string, required: Human-readable name of the server/workspace.
    - `sourceChannelId` string, required: Channel identifier in the source system.
    - `sourceName` string, required: Source system for the channel.
    - `sourceServerId` string, required: Identifier of the server/workspace in the source system.
    - `updatedAt` string, date-time, required: ISO 8601 timestamp of last channel update
  - `limit` integer, required: The page size used for this response.
  - `page` integer, required: The 1-based page number returned.
  - `totalCount` integer, required: Total number of items matching the query, across all pages.

## Other responses

- `400`: Invalid request (validation failed).
- `401`: Missing or invalid API key.
- `403`: The API key does not have access to this resource.
- `404`: The requested resource was not found.
- `429`: Rate limit exceeded.
- `500`: Internal server error.

---

[API](https://skmtc.dev/modem/apis/modem-api.md) · [All operations](https://skmtc.dev/modem/apis/modem-api/llms.txt) · [OpenAPI document](https://skmtc.dev/modem/apis/modem-api/revisions/f889038a1048?raw)
