Skip to content
Download Beeper

List available bridges

client.Bridges.List(ctx) (*BridgeListResponse, error)
GET/v1/bridges

List available bridges. A bridge is a chat-network connector that can connect or reconnect chat accounts. Connected accounts use the same Account schema as GET /v1/accounts.

ReturnsExpand Collapse
type BridgeListResponse struct{…}

Available bridges and their connected accounts.

Items []Bridge
ID string

Bridge ID. Use with bridge endpoints.

Accounts []Account

Connected accounts for this bridge. Uses the same Account schema as GET /v1/accounts.

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.

ActiveAccountCount int64

Number of active accounts for this network on this device.

minimum0
DisplayName string

Human-friendly bridge name shown in Beeper.

Provider BridgeProvider

Where accounts for this bridge run: on this device or in Beeper Cloud.

One of the following:
const BridgeProviderCloud BridgeProvider = "cloud"
const BridgeProviderSelfHosted BridgeProvider = "self-hosted"
const BridgeProviderLocal BridgeProvider = "local"
const BridgeProviderPlatformSDK BridgeProvider = "platform-sdk"
Status BridgeStatus

Whether this bridge can currently be used to connect new accounts.

One of the following:
const BridgeStatusAvailable BridgeStatus = "available"
const BridgeStatusConnected BridgeStatus = "connected"
const BridgeStatusLimitReached BridgeStatus = "limit_reached"
const BridgeStatusTemporarilyUnavailable BridgeStatus = "temporarily_unavailable"
const BridgeStatusDisabled BridgeStatus = "disabled"
SupportsMultipleAccounts bool

Whether this bridge can have multiple active accounts for the same network.

Type string

Underlying bridge type, such as matrix, discordgo, slackgo, whatsapp, telegram, or twitter.

Network stringOptional

Network grouping used for account counts and limits.

StatusText stringOptional

Human-friendly status text matching Beeper account management language.

List available bridges

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"),
  )
  bridges, err := client.Bridges.List(context.TODO())
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", bridges.Items)
}
{
  "items": [
    {
      "id": "id",
      "accounts": [
        {
          "accountID": "accountID",
          "bridge": {
            "id": "id",
            "provider": "cloud",
            "type": "type"
          },
          "status": "connected",
          "user": {
            "id": "id",
            "cannotMessage": true,
            "email": "email",
            "fullName": "fullName",
            "imgURL": "imgURL",
            "isSelf": true,
            "phoneNumber": "phoneNumber",
            "username": "username"
          },
          "capabilities": {
            "foo": "bar"
          },
          "loginID": "loginID",
          "network": "network",
          "statusText": "statusText"
        }
      ],
      "activeAccountCount": 0,
      "displayName": "displayName",
      "provider": "cloud",
      "status": "available",
      "supportsMultipleAccounts": true,
      "type": "type",
      "network": "network",
      "statusText": "statusText"
    }
  ]
}
Returns Examples
{
  "items": [
    {
      "id": "id",
      "accounts": [
        {
          "accountID": "accountID",
          "bridge": {
            "id": "id",
            "provider": "cloud",
            "type": "type"
          },
          "status": "connected",
          "user": {
            "id": "id",
            "cannotMessage": true,
            "email": "email",
            "fullName": "fullName",
            "imgURL": "imgURL",
            "isSelf": true,
            "phoneNumber": "phoneNumber",
            "username": "username"
          },
          "capabilities": {
            "foo": "bar"
          },
          "loginID": "loginID",
          "network": "network",
          "statusText": "statusText"
        }
      ],
      "activeAccountCount": 0,
      "displayName": "displayName",
      "provider": "cloud",
      "status": "available",
      "supportsMultipleAccounts": true,
      "type": "type",
      "network": "network",
      "statusText": "statusText"
    }
  ]
}