Skip to content
Download Beeper

List chat accounts

client.Accounts.List(ctx) (*[]Account, error)
GET/v1/accounts

List chat accounts connected to this Beeper Client API server, including bridge, network, user identity, and connection status.

ReturnsExpand Collapse
type AccountListResponse []Account

Chat accounts configured on this device. Includes accountID, bridge metadata, optional network name, and user identity.

AccountID string

Chat account added to Beeper. Use this to route account-scoped actions. Examples include matrix for Beeper/Matrix, discordgo for a cloud bridge, slackgo.TEAM-USER for workspace-scoped cloud bridges, and local-whatsapp_ba_… for local bridges.

Bridge metadata for the account. Available in Beeper Desktop v4.2.785+.

ID string

Bridge identifier. Beeper Cloud accounts often use the network type (for example matrix or discordgo); on-device accounts use a local bridge ID (for example local-whatsapp). Available in Beeper Desktop v4.2.785+.

Provider AccountBridgeProvider

Where this account runs: on this device or in Beeper Cloud. Available in Beeper Desktop v4.2.785+.

One of the following:
const AccountBridgeProviderCloud AccountBridgeProvider = "cloud"
const AccountBridgeProviderSelfHosted AccountBridgeProvider = "self-hosted"
const AccountBridgeProviderLocal AccountBridgeProvider = "local"
const AccountBridgeProviderPlatformSDK AccountBridgeProvider = "platform-sdk"
Type string

Bridge type, such as matrix, discordgo, slackgo, whatsapp, telegram, or twitter. Available in Beeper Desktop v4.2.785+.

Status AccountStatus

Current connection status for this account.

One of the following:
const AccountStatusConnected AccountStatus = "connected"
const AccountStatusConnecting AccountStatus = "connecting"
const AccountStatusBackfilling AccountStatus = "backfilling"
const AccountStatusConnectionRequired AccountStatus = "connection_required"
const AccountStatusReconnectRequired AccountStatus = "reconnect_required"
const AccountStatusAttentionRequired AccountStatus = "attention_required"
const AccountStatusDisconnected AccountStatus = "disconnected"
const AccountStatusDisabled AccountStatus = "disabled"
User User

User the account belongs to.

ID string

Stable Beeper user ID. Use as the primary key when referencing a person.

CannotMessage boolOptional

True if Beeper cannot initiate messages to this user (e.g., blocked, network restriction, or no DM path). The user may still message you.

Email stringOptional

Email address if known. Not guaranteed verified.

FullName stringOptional

Display name as shown in clients (e.g., ‘Alice Example’). May include emojis.

ImgURL stringOptional

Avatar image URL if available. This may be a remote URL, media URL, data URL, or local file URL depending on the source. May be temporary or available only on this device; download promptly if durable access is needed.

IsSelf boolOptional

True if this user represents the authenticated account’s own identity.

PhoneNumber stringOptional

User’s phone number in E.164 format (e.g., ‘+14155552671’). Omit if unknown.

Username stringOptional

Human-readable handle if available (e.g., ‘@alice’). May be network-specific and not globally unique.

Capabilities map[string, any]Optional

Runtime chat/message capabilities for this connected account, when available.

LoginID stringOptional

Bridge login ID for this account, when known. One bridge login can contain multiple chat accounts.

Network stringOptional

Human-friendly network name for the account. Omitted when the network is unknown.

StatusText stringOptional

Human-friendly account status text.

List chat accounts

package main

import (
  "context"
  "fmt"

  "github.com/beeper/desktop-api-go"
  "github.com/beeper/desktop-api-go/option"
)

func main() {
  client := beeperdesktopapi.NewClient(
    option.WithAccessToken("My Access Token"),
  )
  accounts, err := client.Accounts.List(context.TODO())
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", accounts)
}
[
  {
    "accountID": "matrix",
    "bridge": {
      "id": "matrix",
      "provider": "cloud",
      "type": "matrix"
    },
    "status": "connected",
    "user": {
      "id": "@batuhan:beeper.com",
      "cannotMessage": true,
      "email": "batuhan@example.com",
      "fullName": "Batuhan İçöz",
      "imgURL": "imgURL",
      "isSelf": true,
      "phoneNumber": "phoneNumber",
      "username": "batuhan:beeper.com"
    },
    "capabilities": {
      "foo": "bar"
    },
    "loginID": "matrix",
    "network": "Beeper",
    "statusText": "statusText"
  },
  {
    "accountID": "discordgo",
    "bridge": {
      "id": "discordgo",
      "provider": "cloud",
      "type": "discordgo"
    },
    "status": "connected",
    "user": {
      "id": "221590782384013314",
      "cannotMessage": true,
      "email": "email",
      "fullName": "Batuhan İçöz",
      "imgURL": "file:///Users/batuhan/Library/Application%20Support/BeeperTexts/media/local.beeper.com/batuhan_jmaNwqQPUITme6VV5OSXhH3ZYpmi9UyaYQ43S2UA9qkkzy11Q9JUAiv8TYmOkoQr",
      "isSelf": true,
      "phoneNumber": "phoneNumber",
      "username": "batuhanicoz"
    },
    "capabilities": {
      "foo": "bar"
    },
    "loginID": "discordgo",
    "network": "Discord",
    "statusText": "statusText"
  },
  {
    "accountID": "local-whatsapp_ba_EvYDBBsZbRQAy3UOSWqG0LuTVkc",
    "bridge": {
      "id": "local-whatsapp",
      "provider": "local",
      "type": "whatsapp"
    },
    "status": "connected",
    "user": {
      "id": "ba_EvYDBBsZbRQAy3UOSWqG0LuTVkc",
      "cannotMessage": true,
      "email": "email",
      "fullName": "Batuhan İçöz",
      "imgURL": "file:///Users/batuhan/Library/Application%20Support/BeeperTexts/media/localhostlocal-whatsapp/_gkBAAAAB1xsnfQKMTcwOTkzODU5MAkBAAAAB1xsnfQ",
      "isSelf": true,
      "phoneNumber": "+15550101001",
      "username": "username"
    },
    "capabilities": {
      "foo": "bar"
    },
    "loginID": "ba_EvYDBBsZbRQAy3UOSWqG0LuTVkc",
    "network": "WhatsApp",
    "statusText": "statusText"
  }
]
Returns Examples
[
  {
    "accountID": "matrix",
    "bridge": {
      "id": "matrix",
      "provider": "cloud",
      "type": "matrix"
    },
    "status": "connected",
    "user": {
      "id": "@batuhan:beeper.com",
      "cannotMessage": true,
      "email": "batuhan@example.com",
      "fullName": "Batuhan İçöz",
      "imgURL": "imgURL",
      "isSelf": true,
      "phoneNumber": "phoneNumber",
      "username": "batuhan:beeper.com"
    },
    "capabilities": {
      "foo": "bar"
    },
    "loginID": "matrix",
    "network": "Beeper",
    "statusText": "statusText"
  },
  {
    "accountID": "discordgo",
    "bridge": {
      "id": "discordgo",
      "provider": "cloud",
      "type": "discordgo"
    },
    "status": "connected",
    "user": {
      "id": "221590782384013314",
      "cannotMessage": true,
      "email": "email",
      "fullName": "Batuhan İçöz",
      "imgURL": "file:///Users/batuhan/Library/Application%20Support/BeeperTexts/media/local.beeper.com/batuhan_jmaNwqQPUITme6VV5OSXhH3ZYpmi9UyaYQ43S2UA9qkkzy11Q9JUAiv8TYmOkoQr",
      "isSelf": true,
      "phoneNumber": "phoneNumber",
      "username": "batuhanicoz"
    },
    "capabilities": {
      "foo": "bar"
    },
    "loginID": "discordgo",
    "network": "Discord",
    "statusText": "statusText"
  },
  {
    "accountID": "local-whatsapp_ba_EvYDBBsZbRQAy3UOSWqG0LuTVkc",
    "bridge": {
      "id": "local-whatsapp",
      "provider": "local",
      "type": "whatsapp"
    },
    "status": "connected",
    "user": {
      "id": "ba_EvYDBBsZbRQAy3UOSWqG0LuTVkc",
      "cannotMessage": true,
      "email": "email",
      "fullName": "Batuhan İçöz",
      "imgURL": "file:///Users/batuhan/Library/Application%20Support/BeeperTexts/media/localhostlocal-whatsapp/_gkBAAAAB1xsnfQKMTcwOTkzODU5MAkBAAAAB1xsnfQ",
      "isSelf": true,
      "phoneNumber": "+15550101001",
      "username": "username"
    },
    "capabilities": {
      "foo": "bar"
    },
    "loginID": "ba_EvYDBBsZbRQAy3UOSWqG0LuTVkc",
    "network": "WhatsApp",
    "statusText": "statusText"
  }
]