Skip to content
Download Beeper

Get bridge login session

client.Bridges.LoginSessions.Get(ctx, loginSessionID, query) (*LoginSession, error)
GET/v1/bridges/{bridgeID}/login-sessions/{loginSessionID}

Get the current state of a temporary bridge login session.

ParametersExpand Collapse
loginSessionID string

Temporary bridge login session ID.

minLength1
query BridgeLoginSessionGetParams
BridgeID param.Field[string]

Bridge ID.

minLength1
ReturnsExpand Collapse
type LoginSession struct{…}
BridgeID string

Bridge ID.

LoginSessionID string

Temporary bridge login session ID.

Status LoginSessionStatus
One of the following:
const LoginSessionStatusWaitingForInput LoginSessionStatus = "waiting_for_input"
const LoginSessionStatusWaitingForCookies LoginSessionStatus = "waiting_for_cookies"
const LoginSessionStatusWaitingForDisplay LoginSessionStatus = "waiting_for_display"
const LoginSessionStatusComplete LoginSessionStatus = "complete"
const LoginSessionStatusCancelled LoginSessionStatus = "cancelled"
const LoginSessionStatusFailed LoginSessionStatus = "failed"
Account AccountOptional

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 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.

AccountID stringOptional

Chat account ID for reconnect flows, when known.

CurrentStep LoginSessionCurrentStepUnionOptional

Step the client should show or complete next. Omitted when the session is complete, cancelled, or failed.

One of the following:
type LoginSessionCurrentStepUserInput struct{…}
ID string

Field ID to send back in the fields object.

InitialValue stringOptional

Initial field value, when provided by the network.

Label stringOptional

Field label to show to the user.

Optional boolOptional

True if the user can leave this field empty.

Placeholder stringOptional

Placeholder text to show when the field is empty.

Type stringOptional

Suggested input type, such as text, password, or email.

StepID string
Type UserInput
Attachments []anyOptional
Instructions stringOptional

User-facing instructions for this step.

type LoginSessionCurrentStepCookies struct{…}
Fields []CookieField
One of the following:
StepID string
Type Cookies
URL string

URL to open for the user.

ExpectedFinalURLRegex stringOptional

Regular expression that identifies the final URL after sign-in.

ExtractJs stringOptional

Optional extraction script for browser-based sign-in helpers. Treat as an opaque helper value.

Instructions stringOptional

User-facing instructions for this browser step.

UserAgent stringOptional

Suggested user agent for the browser session.

type LoginSessionCurrentStepDisplayAndWait struct{…}
Display LoginSessionCurrentStepDisplayAndWaitDisplayUnion
One of the following:
type LoginSessionCurrentStepDisplayAndWaitDisplayQrCode struct{…}
Data string
Type Qr
type LoginSessionCurrentStepDisplayAndWaitDisplayEmoji struct{…}
ImageURL string
Type Emoji
type LoginSessionCurrentStepDisplayAndWaitDisplayEmpty struct{…}
Type Nothing
StepID string
Type DisplayAndWait
Instructions stringOptional

User-facing instructions for this step.

type LoginSessionCurrentStepComplete struct{…}
Type Complete
Account AccountOptional

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 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.

Instructions stringOptional

Completion instructions, when provided.

Login LoginSessionCurrentStepCompleteLoginOptional

Signed-in identity for a bridge. One bridge login can contain multiple chat accounts.

BridgeID string

Bridge ID.

LoginID string

Bridge login ID.

RemoveScopes []string
One of the following:
const LoginSessionCurrentStepCompleteLoginRemoveScopeCurrentDevice LoginSessionCurrentStepCompleteLoginRemoveScope = "current-device"
const LoginSessionCurrentStepCompleteLoginRemoveScopeAllDevices LoginSessionCurrentStepCompleteLoginRemoveScope = "all-devices"
Status string
One of the following:
const LoginSessionCurrentStepCompleteLoginStatusConnected LoginSessionCurrentStepCompleteLoginStatus = "connected"
const LoginSessionCurrentStepCompleteLoginStatusConnecting LoginSessionCurrentStepCompleteLoginStatus = "connecting"
const LoginSessionCurrentStepCompleteLoginStatusNeedsLogin LoginSessionCurrentStepCompleteLoginStatus = "needs_login"
const LoginSessionCurrentStepCompleteLoginStatusLoggedOut LoginSessionCurrentStepCompleteLoginStatus = "logged_out"
const LoginSessionCurrentStepCompleteLoginStatusUnknown LoginSessionCurrentStepCompleteLoginStatus = "unknown"
AccountIDs []stringOptional

Chat accounts that belong to this bridge login, when known.

StatusText stringOptional

Human-friendly bridge login status text.

User UserOptional

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.

StepID stringOptional
Error APIErrorOptional
Code string
Message string
Details map[string, any]Optional
Login LoginSessionLoginOptional

Signed-in identity for a bridge. One bridge login can contain multiple chat accounts.

BridgeID string

Bridge ID.

LoginID string

Bridge login ID.

RemoveScopes []string
One of the following:
const LoginSessionLoginRemoveScopeCurrentDevice LoginSessionLoginRemoveScope = "current-device"
const LoginSessionLoginRemoveScopeAllDevices LoginSessionLoginRemoveScope = "all-devices"
Status string
One of the following:
const LoginSessionLoginStatusConnected LoginSessionLoginStatus = "connected"
const LoginSessionLoginStatusConnecting LoginSessionLoginStatus = "connecting"
const LoginSessionLoginStatusNeedsLogin LoginSessionLoginStatus = "needs_login"
const LoginSessionLoginStatusLoggedOut LoginSessionLoginStatus = "logged_out"
const LoginSessionLoginStatusUnknown LoginSessionLoginStatus = "unknown"
AccountIDs []stringOptional

Chat accounts that belong to this bridge login, when known.

StatusText stringOptional

Human-friendly bridge login status text.

User UserOptional

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.

LoginID stringOptional

Bridge login ID for reconnect flows, when known.

Get bridge login session

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"),
  )
  loginSession, err := client.Bridges.LoginSessions.Get(
    context.TODO(),
    "123",
    beeperdesktopapi.BridgeLoginSessionGetParams{
      BridgeID: "local-whatsapp",
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", loginSession.BridgeID)
}
{
  "bridgeID": "bridgeID",
  "loginSessionID": "loginSessionID",
  "status": "waiting_for_input",
  "account": {
    "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"
  },
  "accountID": "accountID",
  "currentStep": {
    "fields": [
      {
        "id": "id",
        "initialValue": "initialValue",
        "label": "label",
        "optional": true,
        "placeholder": "placeholder",
        "type": "type"
      }
    ],
    "stepID": "stepID",
    "type": "user_input",
    "attachments": [
      {}
    ],
    "instructions": "instructions"
  },
  "error": {
    "code": "code",
    "message": "message",
    "details": {
      "foo": "bar"
    }
  },
  "login": {
    "bridgeID": "bridgeID",
    "loginID": "loginID",
    "removeScopes": [
      "current-device"
    ],
    "status": "connected",
    "accountIDs": [
      "string"
    ],
    "statusText": "statusText",
    "user": {
      "id": "id",
      "cannotMessage": true,
      "email": "email",
      "fullName": "fullName",
      "imgURL": "imgURL",
      "isSelf": true,
      "phoneNumber": "phoneNumber",
      "username": "username"
    }
  },
  "loginID": "loginID"
}
Returns Examples
{
  "bridgeID": "bridgeID",
  "loginSessionID": "loginSessionID",
  "status": "waiting_for_input",
  "account": {
    "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"
  },
  "accountID": "accountID",
  "currentStep": {
    "fields": [
      {
        "id": "id",
        "initialValue": "initialValue",
        "label": "label",
        "optional": true,
        "placeholder": "placeholder",
        "type": "type"
      }
    ],
    "stepID": "stepID",
    "type": "user_input",
    "attachments": [
      {}
    ],
    "instructions": "instructions"
  },
  "error": {
    "code": "code",
    "message": "message",
    "details": {
      "foo": "bar"
    }
  },
  "login": {
    "bridgeID": "bridgeID",
    "loginID": "loginID",
    "removeScopes": [
      "current-device"
    ],
    "status": "connected",
    "accountIDs": [
      "string"
    ],
    "statusText": "statusText",
    "user": {
      "id": "id",
      "cannotMessage": true,
      "email": "email",
      "fullName": "fullName",
      "imgURL": "imgURL",
      "isSelf": true,
      "phoneNumber": "phoneNumber",
      "username": "username"
    }
  },
  "loginID": "loginID"
}