GET /api/channels/status Bearer

Get Channel Status

Retrieve the running status, configuration state, and adapter details of all channel adapters connected to PocketPaw. Returns which channels are active and their current configuration.

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

discord object
configured boolean
Whether the Discord bot token is set
running boolean
Whether the Discord adapter is currently active
mode string
Connection mode (always bot)
slack object
configured boolean
Whether both Slack bot and app tokens are set
running boolean
Whether the Slack adapter is currently active
whatsapp object
configured boolean
Whether WhatsApp credentials are set (always true for personal mode)
running boolean
Whether the WhatsApp adapter is currently active
mode string
Either personal or business
telegram object
configured boolean
Whether the Telegram bot token is set
running boolean
Whether the Telegram adapter is currently active
signal object
configured boolean
Whether the Signal API URL and phone number are set
running boolean
Whether the Signal adapter is currently active
matrix object
configured boolean
Whether Matrix homeserver and credentials are set
running boolean
Whether the Matrix adapter is currently active
teams object
configured boolean
Whether Teams App ID and password are set
running boolean
Whether the Teams adapter is currently active
gchat object
configured boolean
Whether Google Chat project ID and service account key are set
running boolean
Whether the Google Chat adapter is currently active
Terminal window
curl -X GET "http://localhost:8000/api/channels/status" \
-H "Authorization: Bearer <token>"
const response = await fetch("http://localhost:8000/api/channels/status", {
headers: { "Authorization": "Bearer <token>" }
});
const data = await response.json();
console.log(data);
import requests
response = requests.get(
"http://localhost:8000/api/channels/status",
headers={"Authorization": "Bearer <token>"}
)
print(response.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}
}
Request
curl -X GET "http://localhost:8000/api/channels/status" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>"
const response = await fetch("http://localhost:8000/api/channels/status", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <token>"
},
});

const data = await response.json();
console.log(data);
import requests

response = requests.get(
    "http://localhost:8000/api/channels/status",
    headers={'Content-Type':'application/json','Authorization':'Bearer <token>'},
)

print(response.json())
package main

import (
    "fmt"
    "net/http"
    "io"
)

func main() {
    req, _ := http.NewRequest("GET", "http://localhost:8000/api/channels/status", nil)
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("Authorization", "Bearer <token>")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
Response
Send a request to see the response