---
title: Get Channel Status
description: "Retrieve the running status, configuration state, and adapter details of all channel adapters connected to Mudabbir. Returns which channels are active and their current configuration."
api: GET /api/channels/status
baseUrl: http://localhost:8888
layout: '@/layouts/APIEndpointLayout.astro'
auth: bearer
section: API Reference
ogType: article
keywords: ["channel status", "adapter status", "running channels"]
tags: ["api", "channels"]
---

## Overview

Returns the current status of all 8 supported channel adapters, including whether each is configured (has required tokens/credentials) and whether it is currently running.

## Response

<ResponseField name="discord" type="object">
  <ResponseField name="configured" type="boolean">Whether the Discord bot token is set</ResponseField>
  <ResponseField name="running" type="boolean">Whether the Discord adapter is currently active</ResponseField>
  <ResponseField name="mode" type="string">Connection mode (always `bot`)</ResponseField>
</ResponseField>

<ResponseField name="slack" type="object">
  <ResponseField name="configured" type="boolean">Whether both Slack bot and app tokens are set</ResponseField>
  <ResponseField name="running" type="boolean">Whether the Slack adapter is currently active</ResponseField>
</ResponseField>

<ResponseField name="whatsapp" type="object">
  <ResponseField name="configured" type="boolean">Whether WhatsApp credentials are set (always true for personal mode)</ResponseField>
  <ResponseField name="running" type="boolean">Whether the WhatsApp adapter is currently active</ResponseField>
  <ResponseField name="mode" type="string">Either `personal` or `business`</ResponseField>
</ResponseField>

<ResponseField name="telegram" type="object">
  <ResponseField name="configured" type="boolean">Whether the Telegram bot token is set</ResponseField>
  <ResponseField name="running" type="boolean">Whether the Telegram adapter is currently active</ResponseField>
</ResponseField>

<ResponseField name="signal" type="object">
  <ResponseField name="configured" type="boolean">Whether the Signal API URL and phone number are set</ResponseField>
  <ResponseField name="running" type="boolean">Whether the Signal adapter is currently active</ResponseField>
</ResponseField>

<ResponseField name="matrix" type="object">
  <ResponseField name="configured" type="boolean">Whether Matrix homeserver and credentials are set</ResponseField>
  <ResponseField name="running" type="boolean">Whether the Matrix adapter is currently active</ResponseField>
</ResponseField>

<ResponseField name="teams" type="object">
  <ResponseField name="configured" type="boolean">Whether Teams App ID and password are set</ResponseField>
  <ResponseField name="running" type="boolean">Whether the Teams adapter is currently active</ResponseField>
</ResponseField>

<ResponseField name="gchat" type="object">
  <ResponseField name="configured" type="boolean">Whether Google Chat project ID and service account key are set</ResponseField>
  <ResponseField name="running" type="boolean">Whether the Google Chat adapter is currently active</ResponseField>
</ResponseField>

<RequestExample>
<Tabs items={["cURL", "JavaScript", "Python"]}>
  <Tab title="cURL">
    ```bash
    curl -X GET "http://localhost:8888/api/channels/status" \
      -H "Authorization: Bearer <token>"
    ```
  </Tab>
  <Tab title="JavaScript">
    ```javascript
    const response = await fetch("http://localhost:8888/api/channels/status", {
      headers: { "Authorization": "Bearer <token>" }
    });
    const data = await response.json();
    console.log(data);
    ```
  </Tab>
  <Tab title="Python">
    ```python
    import requests

    response = requests.get(
        "http://localhost:8888/api/channels/status",
        headers={"Authorization": "Bearer <token>"}
    )
    print(response.json())
    ```
  </Tab>
</Tabs>
</RequestExample>

<ResponseExample>
<Tabs items={["200"]}>
  <Tab title="200">
    ```json
    {
      "discord": {"configured": true, "running": true, "mode": "bot"},
      "slack": {"configured": true, "running": false},
      "whatsapp": {"configured": true, "running": true, "mode": "personal"},
      "telegram": {"configured": false, "running": false},
      "signal": {"configured": false, "running": false},
      "matrix": {"configured": false, "running": false},
      "teams": {"configured": false, "running": false},
      "gchat": {"configured": false, "running": false}
    }
    ```
  </Tab>
</Tabs>
</ResponseExample>
