## 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. ### Parameters - `loginSessionID string` Temporary bridge login session ID. - `query BridgeLoginSessionGetParams` - `BridgeID param.Field[string]` Bridge ID. ### Returns - `type LoginSession struct{…}` - `BridgeID string` Bridge ID. - `LoginSessionID string` Temporary bridge login session ID. - `Status LoginSessionStatus` - `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 Account` 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 AccountBridge` 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+. - `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. - `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 bool` 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 string` Email address if known. Not guaranteed verified. - `FullName string` Display name as shown in clients (e.g., 'Alice Example'). May include emojis. - `ImgURL 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 bool` True if this user represents the authenticated account's own identity. - `PhoneNumber string` User's phone number in E.164 format (e.g., '+14155552671'). Omit if unknown. - `Username string` Human-readable handle if available (e.g., '@alice'). May be network-specific and not globally unique. - `Capabilities map[string, any]` Runtime chat/message capabilities for this connected account, when available. - `LoginID string` Bridge login ID for this account, when known. One bridge login can contain multiple chat accounts. - `Network string` Human-friendly network name for the account. Omitted when the network is unknown. - `StatusText string` Human-friendly account status text. - `AccountID string` Chat account ID for reconnect flows, when known. - `CurrentStep LoginSessionCurrentStepUnion` Step the client should show or complete next. Omitted when the session is complete, cancelled, or failed. - `type LoginSessionCurrentStepUserInput struct{…}` - `Fields []LoginInputField` - `ID string` Field ID to send back in the fields object. - `InitialValue string` Initial field value, when provided by the network. - `Label string` Field label to show to the user. - `Optional bool` True if the user can leave this field empty. - `Placeholder string` Placeholder text to show when the field is empty. - `Type string` Suggested input type, such as text, password, or email. - `StepID string` - `Type UserInput` - `const UserInputUserInput UserInput = "user_input"` - `Attachments []any` - `Instructions string` User-facing instructions for this step. - `type LoginSessionCurrentStepCookies struct{…}` - `Fields []CookieField` - `ID string` Field ID to send back in the fields object. - `Name string` Cookie, header, or local storage key to collect. - `Type CookieFieldType` Browser storage source for this value. - `const CookieFieldTypeCookie CookieFieldType = "cookie"` - `const CookieFieldTypeHeader CookieFieldType = "header"` - `const CookieFieldTypeLocalStorage CookieFieldType = "local_storage"` - `StepID string` - `Type Cookies` - `const CookiesCookies Cookies = "cookies"` - `URL string` URL to open for the user. - `ExpectedFinalURLRegex string` Regular expression that identifies the final URL after sign-in. - `ExtractJs string` Optional extraction script for browser-based sign-in helpers. Treat as an opaque helper value. - `Instructions string` User-facing instructions for this browser step. - `UserAgent string` Suggested user agent for the browser session. - `type LoginSessionCurrentStepDisplayAndWait struct{…}` - `Display LoginSessionCurrentStepDisplayAndWaitDisplayUnion` - `type LoginSessionCurrentStepDisplayAndWaitDisplayQrCode struct{…}` - `Data string` - `Type Qr` - `const QrQr Qr = "qr"` - `type LoginSessionCurrentStepDisplayAndWaitDisplayEmoji struct{…}` - `ImageURL string` - `Type Emoji` - `const EmojiEmoji Emoji = "emoji"` - `type LoginSessionCurrentStepDisplayAndWaitDisplayEmpty struct{…}` - `Type Nothing` - `const NothingNothing Nothing = "nothing"` - `StepID string` - `Type DisplayAndWait` - `const DisplayAndWaitDisplayAndWait DisplayAndWait = "display_and_wait"` - `Instructions string` User-facing instructions for this step. - `type LoginSessionCurrentStepComplete struct{…}` - `Type Complete` - `const CompleteComplete Complete = "complete"` - `Account Account` A chat account added to Beeper. - `Instructions string` Completion instructions, when provided. - `Login LoginSessionCurrentStepCompleteLogin` 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` - `const LoginSessionCurrentStepCompleteLoginRemoveScopeCurrentDevice LoginSessionCurrentStepCompleteLoginRemoveScope = "current-device"` - `const LoginSessionCurrentStepCompleteLoginRemoveScopeAllDevices LoginSessionCurrentStepCompleteLoginRemoveScope = "all-devices"` - `Status string` - `const LoginSessionCurrentStepCompleteLoginStatusConnected LoginSessionCurrentStepCompleteLoginStatus = "connected"` - `const LoginSessionCurrentStepCompleteLoginStatusConnecting LoginSessionCurrentStepCompleteLoginStatus = "connecting"` - `const LoginSessionCurrentStepCompleteLoginStatusNeedsLogin LoginSessionCurrentStepCompleteLoginStatus = "needs_login"` - `const LoginSessionCurrentStepCompleteLoginStatusLoggedOut LoginSessionCurrentStepCompleteLoginStatus = "logged_out"` - `const LoginSessionCurrentStepCompleteLoginStatusUnknown LoginSessionCurrentStepCompleteLoginStatus = "unknown"` - `AccountIDs []string` Chat accounts that belong to this bridge login, when known. - `StatusText string` Human-friendly bridge login status text. - `User User` User the account belongs to. - `StepID string` - `Error APIError` - `Code string` - `Message string` - `Details map[string, any]` - `Login LoginSessionLogin` 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` - `const LoginSessionLoginRemoveScopeCurrentDevice LoginSessionLoginRemoveScope = "current-device"` - `const LoginSessionLoginRemoveScopeAllDevices LoginSessionLoginRemoveScope = "all-devices"` - `Status string` - `const LoginSessionLoginStatusConnected LoginSessionLoginStatus = "connected"` - `const LoginSessionLoginStatusConnecting LoginSessionLoginStatus = "connecting"` - `const LoginSessionLoginStatusNeedsLogin LoginSessionLoginStatus = "needs_login"` - `const LoginSessionLoginStatusLoggedOut LoginSessionLoginStatus = "logged_out"` - `const LoginSessionLoginStatusUnknown LoginSessionLoginStatus = "unknown"` - `AccountIDs []string` Chat accounts that belong to this bridge login, when known. - `StatusText string` Human-friendly bridge login status text. - `User User` User the account belongs to. - `LoginID string` Bridge login ID for reconnect flows, when known. ### Example ```go 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) } ``` #### Response ```json { "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" } ```