Skip to content
Esc
↑↓navigate↵open⌘Jpreview

List channels

List all channels for an organization with message counts

GET/channels
Authorization
AuthorizationBearer token · headerrequired

Organization API key (modem_…).

Query parameters
sourceNamestring

Filter channels by source (e.g., slack, discord). Omit for all sources.

matches ^[a-z0-9]+(?:-[a-z0-9]+)*$
searchstring

Search channels by name. Omit when not searching.

min length 1
idsstring<uuid>[]

Filter to specific channel IDs (e.g., to resolve names for a stored channel scope). Omit when not filtering by ID.

min items 1 · max items 100
connectedOnlyboolean

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.

pageinteger

The 1-based page number to return (default 1).

default: 1
limitinteger

Maximum number of channels to return (default 50, max 100)

max 100 · default: 50
Responses
200

OK

dataobject[]required
Show properties
Array of object
channelNamestringrequired

Human-readable name of the channel.

contextstring | nullrequired

User-provided context about the channel's purpose, used by the ingest pipeline's LLM classification and priority-scoring steps.

Show properties
Any of:
string
string
null
null
createdAtstring<date-time>required

ISO 8601 timestamp of channel creation

descriptionstring | nullrequired

Optional description of the channel.

Show properties
Any of:
string
string
null
null
idstring<uuid>required
Show properties
Any of:
string<uuid>
string<uuid>
string<uuid>
string<uuid>
isConnectedbooleanrequired

Whether the source server/workspace is currently connected (bot has not left)

lastSeenAtstring<date-time> | nullrequired

ISO 8601 timestamp of the most recent message in this channel, or null if no messages

Show properties
Any of:
string<date-time>
string<date-time>
null
null
messageCountintegerrequired

Total number of messages in this channel

min 0
serverNamestringrequired

Human-readable name of the server/workspace.

sourceChannelIdstringrequired

Channel identifier in the source system.

sourceNamestringrequired

Source system for the channel.

matches ^[a-z0-9]+(?:-[a-z0-9]+)*$
sourceServerIdstringrequired

Identifier of the server/workspace in the source system.

updatedAtstring<date-time>required

ISO 8601 timestamp of last channel update

limitintegerrequired

The page size used for this response.

pageintegerrequired

The 1-based page number returned.

totalCountintegerrequired

Total number of items matching the query, across all pages.

min 0
400

Invalid request (validation failed).

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

401

Missing or invalid API key.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

403

The API key does not have access to this resource.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

404

The requested resource was not found.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

429

Rate limit exceeded.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

500

Internal server error.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

Try it
Server
Authorization
Parameters
Request
curl -X GET 'https://api.modem.dev/v1/channels' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json'
Response
{
  "data": [
    {
      "channelName": "string",
      "context": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "description": "string",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "isConnected": true,
      "lastSeenAt": "2019-08-24T14:15:22Z",
      "messageCount": 0,
      "serverName": "string",
      "sourceChannelId": "string",
      "sourceName": "string",
      "sourceServerId": "string",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "limit": 1,
  "page": 1,
  "totalCount": 0
}

Was this page helpful?