Skip to content
Download Beeper

Get chat account

client.Accounts.Get(ctx, accountID) (*AccountGetResponse, error)
GET/v1/accounts/{accountID}

Get one chat account connected to this Beeper Client API server.

ParametersExpand Collapse
accountID string

Account ID this resource belongs to.

ReturnsExpand Collapse
type AccountGetResponse struct{…}

A chat account added to Beeper.

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 AccountGetResponseStatus

Current connection status for this account.

One of the following:
const AccountGetResponseStatusConnected AccountGetResponseStatus = "connected"
const AccountGetResponseStatusConnecting AccountGetResponseStatus = "connecting"
const AccountGetResponseStatusBackfilling AccountGetResponseStatus = "backfilling"
const AccountGetResponseStatusConnectionRequired AccountGetResponseStatus = "connection_required"
const AccountGetResponseStatusReconnectRequired AccountGetResponseStatus = "reconnect_required"
const AccountGetResponseStatusAttentionRequired AccountGetResponseStatus = "attention_required"
const AccountGetResponseStatusDisconnected AccountGetResponseStatus = "disconnected"
const AccountGetResponseStatusDisabled AccountGetResponseStatus = "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.

Get chat account

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"),
  )
  account, err := client.Accounts.Get(context.TODO(), "accountID")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", account.Bridge)
}
{
  "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"
}
Returns Examples
{
  "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"
}