> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mavioapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List channels

> Retrieve a paginated list of channels for the authenticated user.

Returns channels that the authenticated user owns or is a member of. Channels are used to organize meetings by team, project, or topic. Results are ordered by most recently active.

<ParamField query="limit" type="integer" default="20">
  Number of channels to return per page. Must be between 1 and 100.
</ParamField>

<ParamField query="offset" type="integer" default="0">
  Number of channels to skip for pagination.
</ParamField>

<ParamField query="search" type="string">
  Filter channels by name. Performs a case-insensitive partial match (e.g., `search=product` matches "Product Team" and "Product Reviews").
</ParamField>

### Response

<ResponseField name="data" type="array">
  An array of channel objects.

  <Expandable title="Channel object">
    <ResponseField name="id" type="string">
      Unique channel identifier (e.g., `chn_a1b2c3d4e5`).
    </ResponseField>

    <ResponseField name="name" type="string">
      The channel name.
    </ResponseField>

    <ResponseField name="description" type="string | null">
      Optional description of the channel's purpose.
    </ResponseField>

    <ResponseField name="visibility" type="string">
      Channel visibility: `public` (visible to all team members) or `private` (invite-only).
    </ResponseField>

    <ResponseField name="member_count" type="integer">
      Number of members in the channel.
    </ResponseField>

    <ResponseField name="meeting_count" type="integer">
      Total number of meetings in the channel.
    </ResponseField>

    <ResponseField name="owner_id" type="string">
      User ID of the channel owner.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp when the channel was created.
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      ISO 8601 timestamp when the channel was last modified.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object">
  Pagination metadata.

  <Expandable title="Pagination object">
    <ResponseField name="total" type="integer">
      Total number of channels matching the filters.
    </ResponseField>

    <ResponseField name="limit" type="integer">
      The limit used in this request.
    </ResponseField>

    <ResponseField name="offset" type="integer">
      The offset used in this request.
    </ResponseField>

    <ResponseField name="has_more" type="boolean">
      Whether there are more results beyond this page.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -G https://api.mavioapp.com/v1/channels \
    -H "Authorization: Bearer mvo_live_abc123" \
    -d limit=10 \
    -d search=product
  ```

  ```python Python theme={null}
  channels = client.channels.list(limit=10, search="product")
  for channel in channels.data:
      print(f"{channel.name} — {channel.member_count} members, {channel.meeting_count} meetings")
  ```

  ```javascript Node.js theme={null}
  const { data: channels } = await client.channels.list({
    limit: 10,
    search: 'product',
  });
  channels.forEach(ch => {
    console.log(`${ch.name} — ${ch.member_count} members, ${ch.meeting_count} meetings`);
  });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": [
      {
        "id": "chn_a1b2c3d4e5",
        "name": "Product Team",
        "description": "Weekly product syncs and design reviews",
        "visibility": "private",
        "member_count": 8,
        "meeting_count": 34,
        "owner_id": "usr_f6g7h8",
        "created_at": "2026-02-15T10:00:00Z",
        "updated_at": "2026-04-12T14:30:00Z"
      },
      {
        "id": "chn_f6g7h8i9j0",
        "name": "Product Reviews",
        "description": "Customer feedback sessions and product demos",
        "visibility": "public",
        "member_count": 15,
        "meeting_count": 12,
        "owner_id": "usr_k1l2m3",
        "created_at": "2026-03-01T09:00:00Z",
        "updated_at": "2026-04-10T16:45:00Z"
      }
    ],
    "pagination": {
      "total": 2,
      "limit": 10,
      "offset": 0,
      "has_more": false
    }
  }
  ```
</ResponseExample>
