Skip to content
Download Beeper

List available bridges

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
items: array of Bridge { id, accounts, activeAccountCount, 7 more }
id: string

Bridge ID. Use with bridge endpoints.

accounts: array of Account { accountID, bridge, status, 5 more }

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: AccountBridge { id, provider, type }

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: "cloud" or "self-hosted" or "local" or "platform-sdk"

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

One of the following:
"cloud"
"self-hosted"
"local"
"platform-sdk"
type: string

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

status: "connected" or "connecting" or "backfilling" or 5 more

Current connection status for this account.

One of the following:
"connected"
"connecting"
"backfilling"
"connection_required"
"reconnect_required"
"attention_required"
"disconnected"
"disabled"
user: User { id, cannotMessage, email, 5 more }

User the account belongs to.

id: string

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

cannotMessage: optional boolean

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: optional string

Email address if known. Not guaranteed verified.

fullName: optional string

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

imgURL: optional string

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: optional boolean

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

phoneNumber: optional string

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

username: optional string

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

capabilities: optional map[unknown]

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

loginID: optional string

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

network: optional string

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

statusText: optional string

Human-friendly account status text.

activeAccountCount: number

Number of active accounts for this network on this device.

minimum0
displayName: string

Human-friendly bridge name shown in Beeper.

provider: "cloud" or "self-hosted" or "local" or "platform-sdk"

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

One of the following:
"cloud"
"self-hosted"
"local"
"platform-sdk"
status: "available" or "connected" or "limit_reached" or 2 more

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

One of the following:
"available"
"connected"
"limit_reached"
"temporarily_unavailable"
"disabled"
supportsMultipleAccounts: boolean

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: optional string

Network grouping used for account counts and limits.

statusText: optional string

Human-friendly status text matching Beeper account management language.

List available bridges

curl http://localhost:23373/v1/bridges \
    -H "Authorization: Bearer $BEEPER_ACCESS_TOKEN"
{
  "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"
    }
  ]
}