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 AccountCapabilitiesOptional

Runtime bridgev2 room feature capabilities for this connected account, when available.

AllowedReactions []stringOptional

Allowed Unicode reactions. Omitted means all emoji reactions are allowed.

Archive boolOptional

True if archive/unarchive is supported.

CustomEmojiReactions boolOptional

True if custom emoji reactions are supported.

Delete int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesDeleteMinus2 AccountCapabilitiesDelete = -2
const AccountCapabilitiesDeleteMinus1 AccountCapabilitiesDelete = -1
const AccountCapabilitiesDelete0 AccountCapabilitiesDelete = 0
const AccountCapabilitiesDelete1 AccountCapabilitiesDelete = 1
const AccountCapabilitiesDelete2 AccountCapabilitiesDelete = 2
DeleteChat boolOptional

True if deleting chats for the authenticated user is supported.

DeleteChatForEveryone boolOptional

True if deleting chats for everyone is supported.

DeleteForMe boolOptional

True if deleting messages only for the authenticated user is supported.

DeleteMaxAge int64Optional

Maximum message age for delete-for-everyone, in seconds.

DisappearingTimer AccountCapabilitiesDisappearingTimerOptional

Disappearing-message timer capabilities.

OmitEmptyTimer boolOptional

True if empty timer objects should be omitted from message content.

Timers []int64Optional

Allowed disappearing timer values in milliseconds. Omitted means any timer is allowed.

Types []stringOptional

Supported disappearing timer types.

One of the following:
const AccountCapabilitiesDisappearingTimerTypeAfterRead AccountCapabilitiesDisappearingTimerType = "after_read"
const AccountCapabilitiesDisappearingTimerTypeAfterSend AccountCapabilitiesDisappearingTimerType = "after_send"
Edit int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesEditMinus2 AccountCapabilitiesEdit = -2
const AccountCapabilitiesEditMinus1 AccountCapabilitiesEdit = -1
const AccountCapabilitiesEdit0 AccountCapabilitiesEdit = 0
const AccountCapabilitiesEdit1 AccountCapabilitiesEdit = 1
const AccountCapabilitiesEdit2 AccountCapabilitiesEdit = 2
EditMaxAge int64Optional

Maximum message age for edits, in seconds.

EditMaxCount int64Optional

Maximum number of edits allowed for one message.

File map[string, AccountCapabilitiesFile]Optional

Supported attachment message types and their per-type constraints, keyed by Matrix msgtype or bridgev2 pseudo-msgtype.

MimeTypes map[string, int64]

Supported MIME types or MIME patterns for this file message type. Missing MIME types should be treated as rejected.

One of the following:
const AccountCapabilitiesFileMimeTypeMinus2 AccountCapabilitiesFileMimeType = -2
const AccountCapabilitiesFileMimeTypeMinus1 AccountCapabilitiesFileMimeType = -1
const AccountCapabilitiesFileMimeType0 AccountCapabilitiesFileMimeType = 0
const AccountCapabilitiesFileMimeType1 AccountCapabilitiesFileMimeType = 1
const AccountCapabilitiesFileMimeType2 AccountCapabilitiesFileMimeType = 2
Caption int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesFileCaptionMinus2 AccountCapabilitiesFileCaption = -2
const AccountCapabilitiesFileCaptionMinus1 AccountCapabilitiesFileCaption = -1
const AccountCapabilitiesFileCaption0 AccountCapabilitiesFileCaption = 0
const AccountCapabilitiesFileCaption1 AccountCapabilitiesFileCaption = 1
const AccountCapabilitiesFileCaption2 AccountCapabilitiesFileCaption = 2
MaxCaptionLength int64Optional

Maximum caption length when captions are supported.

MaxDuration int64Optional

Maximum audio or video duration in seconds.

MaxHeight int64Optional

Maximum image or video height in pixels.

MaxSize int64Optional

Maximum file size in bytes.

MaxWidth int64Optional

Maximum image or video width in pixels.

ViewOnce boolOptional

True if this file type can be sent as view-once media.

Formatting map[string, int64]Optional

Supported rich-text formatting features keyed by bridgev2 feature name. Omitted means no formatting support is advertised.

One of the following:
const AccountCapabilitiesFormattingMinus2 AccountCapabilitiesFormatting = -2
const AccountCapabilitiesFormattingMinus1 AccountCapabilitiesFormatting = -1
const AccountCapabilitiesFormatting0 AccountCapabilitiesFormatting = 0
const AccountCapabilitiesFormatting1 AccountCapabilitiesFormatting = 1
const AccountCapabilitiesFormatting2 AccountCapabilitiesFormatting = 2
LocationMessage int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesLocationMessageMinus2 AccountCapabilitiesLocationMessage = -2
const AccountCapabilitiesLocationMessageMinus1 AccountCapabilitiesLocationMessage = -1
const AccountCapabilitiesLocationMessage0 AccountCapabilitiesLocationMessage = 0
const AccountCapabilitiesLocationMessage1 AccountCapabilitiesLocationMessage = 1
const AccountCapabilitiesLocationMessage2 AccountCapabilitiesLocationMessage = 2
MarkAsUnread boolOptional

True if marking chats unread is supported.

MaxTextLength int64Optional

Maximum length of normal text messages.

MemberActions AccountCapabilitiesMemberActionsOptional

Participant management capabilities.

Ban int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsBanMinus2 AccountCapabilitiesMemberActionsBan = -2
const AccountCapabilitiesMemberActionsBanMinus1 AccountCapabilitiesMemberActionsBan = -1
const AccountCapabilitiesMemberActionsBan0 AccountCapabilitiesMemberActionsBan = 0
const AccountCapabilitiesMemberActionsBan1 AccountCapabilitiesMemberActionsBan = 1
const AccountCapabilitiesMemberActionsBan2 AccountCapabilitiesMemberActionsBan = 2
Invite int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsInviteMinus2 AccountCapabilitiesMemberActionsInvite = -2
const AccountCapabilitiesMemberActionsInviteMinus1 AccountCapabilitiesMemberActionsInvite = -1
const AccountCapabilitiesMemberActionsInvite0 AccountCapabilitiesMemberActionsInvite = 0
const AccountCapabilitiesMemberActionsInvite1 AccountCapabilitiesMemberActionsInvite = 1
const AccountCapabilitiesMemberActionsInvite2 AccountCapabilitiesMemberActionsInvite = 2
Kick int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsKickMinus2 AccountCapabilitiesMemberActionsKick = -2
const AccountCapabilitiesMemberActionsKickMinus1 AccountCapabilitiesMemberActionsKick = -1
const AccountCapabilitiesMemberActionsKick0 AccountCapabilitiesMemberActionsKick = 0
const AccountCapabilitiesMemberActionsKick1 AccountCapabilitiesMemberActionsKick = 1
const AccountCapabilitiesMemberActionsKick2 AccountCapabilitiesMemberActionsKick = 2
Leave int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsLeaveMinus2 AccountCapabilitiesMemberActionsLeave = -2
const AccountCapabilitiesMemberActionsLeaveMinus1 AccountCapabilitiesMemberActionsLeave = -1
const AccountCapabilitiesMemberActionsLeave0 AccountCapabilitiesMemberActionsLeave = 0
const AccountCapabilitiesMemberActionsLeave1 AccountCapabilitiesMemberActionsLeave = 1
const AccountCapabilitiesMemberActionsLeave2 AccountCapabilitiesMemberActionsLeave = 2
RevokeInvite int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsRevokeInviteMinus2 AccountCapabilitiesMemberActionsRevokeInvite = -2
const AccountCapabilitiesMemberActionsRevokeInviteMinus1 AccountCapabilitiesMemberActionsRevokeInvite = -1
const AccountCapabilitiesMemberActionsRevokeInvite0 AccountCapabilitiesMemberActionsRevokeInvite = 0
const AccountCapabilitiesMemberActionsRevokeInvite1 AccountCapabilitiesMemberActionsRevokeInvite = 1
const AccountCapabilitiesMemberActionsRevokeInvite2 AccountCapabilitiesMemberActionsRevokeInvite = 2
MessageRequest AccountCapabilitiesMessageRequestOptional

Message request capabilities.

AcceptWithButton int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMessageRequestAcceptWithButtonMinus2 AccountCapabilitiesMessageRequestAcceptWithButton = -2
const AccountCapabilitiesMessageRequestAcceptWithButtonMinus1 AccountCapabilitiesMessageRequestAcceptWithButton = -1
const AccountCapabilitiesMessageRequestAcceptWithButton0 AccountCapabilitiesMessageRequestAcceptWithButton = 0
const AccountCapabilitiesMessageRequestAcceptWithButton1 AccountCapabilitiesMessageRequestAcceptWithButton = 1
const AccountCapabilitiesMessageRequestAcceptWithButton2 AccountCapabilitiesMessageRequestAcceptWithButton = 2
AcceptWithMessage int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMessageRequestAcceptWithMessageMinus2 AccountCapabilitiesMessageRequestAcceptWithMessage = -2
const AccountCapabilitiesMessageRequestAcceptWithMessageMinus1 AccountCapabilitiesMessageRequestAcceptWithMessage = -1
const AccountCapabilitiesMessageRequestAcceptWithMessage0 AccountCapabilitiesMessageRequestAcceptWithMessage = 0
const AccountCapabilitiesMessageRequestAcceptWithMessage1 AccountCapabilitiesMessageRequestAcceptWithMessage = 1
const AccountCapabilitiesMessageRequestAcceptWithMessage2 AccountCapabilitiesMessageRequestAcceptWithMessage = 2
Poll int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesPollMinus2 AccountCapabilitiesPoll = -2
const AccountCapabilitiesPollMinus1 AccountCapabilitiesPoll = -1
const AccountCapabilitiesPoll0 AccountCapabilitiesPoll = 0
const AccountCapabilitiesPoll1 AccountCapabilitiesPoll = 1
const AccountCapabilitiesPoll2 AccountCapabilitiesPoll = 2
Reaction int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesReactionMinus2 AccountCapabilitiesReaction = -2
const AccountCapabilitiesReactionMinus1 AccountCapabilitiesReaction = -1
const AccountCapabilitiesReaction0 AccountCapabilitiesReaction = 0
const AccountCapabilitiesReaction1 AccountCapabilitiesReaction = 1
const AccountCapabilitiesReaction2 AccountCapabilitiesReaction = 2
ReactionCount int64Optional

Maximum number of reactions allowed on a single message.

ReadReceipts boolOptional

True if read receipts are supported.

Reply int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesReplyMinus2 AccountCapabilitiesReply = -2
const AccountCapabilitiesReplyMinus1 AccountCapabilitiesReply = -1
const AccountCapabilitiesReply0 AccountCapabilitiesReply = 0
const AccountCapabilitiesReply1 AccountCapabilitiesReply = 1
const AccountCapabilitiesReply2 AccountCapabilitiesReply = 2
State AccountCapabilitiesStateOptional

Room state update capabilities keyed by Matrix state event type.

ComBeeperDisappearingTimer AccountCapabilitiesStateComBeeperDisappearingTimerOptional

Disappearing-message timer state capability.

Level int64

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesStateComBeeperDisappearingTimerLevelMinus2 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = -2
const AccountCapabilitiesStateComBeeperDisappearingTimerLevelMinus1 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = -1
const AccountCapabilitiesStateComBeeperDisappearingTimerLevel0 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = 0
const AccountCapabilitiesStateComBeeperDisappearingTimerLevel1 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = 1
const AccountCapabilitiesStateComBeeperDisappearingTimerLevel2 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = 2
MRoomAvatar AccountCapabilitiesStateMRoomAvatarOptional

Chat avatar state capability.

Level int64

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesStateMRoomAvatarLevelMinus2 AccountCapabilitiesStateMRoomAvatarLevel = -2
const AccountCapabilitiesStateMRoomAvatarLevelMinus1 AccountCapabilitiesStateMRoomAvatarLevel = -1
const AccountCapabilitiesStateMRoomAvatarLevel0 AccountCapabilitiesStateMRoomAvatarLevel = 0
const AccountCapabilitiesStateMRoomAvatarLevel1 AccountCapabilitiesStateMRoomAvatarLevel = 1
const AccountCapabilitiesStateMRoomAvatarLevel2 AccountCapabilitiesStateMRoomAvatarLevel = 2
MRoomName AccountCapabilitiesStateMRoomNameOptional

Chat title state capability.

Level int64

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesStateMRoomNameLevelMinus2 AccountCapabilitiesStateMRoomNameLevel = -2
const AccountCapabilitiesStateMRoomNameLevelMinus1 AccountCapabilitiesStateMRoomNameLevel = -1
const AccountCapabilitiesStateMRoomNameLevel0 AccountCapabilitiesStateMRoomNameLevel = 0
const AccountCapabilitiesStateMRoomNameLevel1 AccountCapabilitiesStateMRoomNameLevel = 1
const AccountCapabilitiesStateMRoomNameLevel2 AccountCapabilitiesStateMRoomNameLevel = 2
MRoomTopic AccountCapabilitiesStateMRoomTopicOptional

Chat description/topic state capability.

Level int64

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesStateMRoomTopicLevelMinus2 AccountCapabilitiesStateMRoomTopicLevel = -2
const AccountCapabilitiesStateMRoomTopicLevelMinus1 AccountCapabilitiesStateMRoomTopicLevel = -1
const AccountCapabilitiesStateMRoomTopicLevel0 AccountCapabilitiesStateMRoomTopicLevel = 0
const AccountCapabilitiesStateMRoomTopicLevel1 AccountCapabilitiesStateMRoomTopicLevel = 1
const AccountCapabilitiesStateMRoomTopicLevel2 AccountCapabilitiesStateMRoomTopicLevel = 2
Thread int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesThreadMinus2 AccountCapabilitiesThread = -2
const AccountCapabilitiesThreadMinus1 AccountCapabilitiesThread = -1
const AccountCapabilitiesThread0 AccountCapabilitiesThread = 0
const AccountCapabilitiesThread1 AccountCapabilitiesThread = 1
const AccountCapabilitiesThread2 AccountCapabilitiesThread = 2
TypingNotifications boolOptional

True if typing notifications are supported.

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:
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 LoginSessionCurrentStepDisplayAndWaitDisplayCode struct{…}
Data string
Type Code
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 AccountCapabilitiesOptional

Runtime bridgev2 room feature capabilities for this connected account, when available.

AllowedReactions []stringOptional

Allowed Unicode reactions. Omitted means all emoji reactions are allowed.

Archive boolOptional

True if archive/unarchive is supported.

CustomEmojiReactions boolOptional

True if custom emoji reactions are supported.

Delete int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesDeleteMinus2 AccountCapabilitiesDelete = -2
const AccountCapabilitiesDeleteMinus1 AccountCapabilitiesDelete = -1
const AccountCapabilitiesDelete0 AccountCapabilitiesDelete = 0
const AccountCapabilitiesDelete1 AccountCapabilitiesDelete = 1
const AccountCapabilitiesDelete2 AccountCapabilitiesDelete = 2
DeleteChat boolOptional

True if deleting chats for the authenticated user is supported.

DeleteChatForEveryone boolOptional

True if deleting chats for everyone is supported.

DeleteForMe boolOptional

True if deleting messages only for the authenticated user is supported.

DeleteMaxAge int64Optional

Maximum message age for delete-for-everyone, in seconds.

DisappearingTimer AccountCapabilitiesDisappearingTimerOptional

Disappearing-message timer capabilities.

OmitEmptyTimer boolOptional

True if empty timer objects should be omitted from message content.

Timers []int64Optional

Allowed disappearing timer values in milliseconds. Omitted means any timer is allowed.

Types []stringOptional

Supported disappearing timer types.

One of the following:
const AccountCapabilitiesDisappearingTimerTypeAfterRead AccountCapabilitiesDisappearingTimerType = "after_read"
const AccountCapabilitiesDisappearingTimerTypeAfterSend AccountCapabilitiesDisappearingTimerType = "after_send"
Edit int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesEditMinus2 AccountCapabilitiesEdit = -2
const AccountCapabilitiesEditMinus1 AccountCapabilitiesEdit = -1
const AccountCapabilitiesEdit0 AccountCapabilitiesEdit = 0
const AccountCapabilitiesEdit1 AccountCapabilitiesEdit = 1
const AccountCapabilitiesEdit2 AccountCapabilitiesEdit = 2
EditMaxAge int64Optional

Maximum message age for edits, in seconds.

EditMaxCount int64Optional

Maximum number of edits allowed for one message.

File map[string, AccountCapabilitiesFile]Optional

Supported attachment message types and their per-type constraints, keyed by Matrix msgtype or bridgev2 pseudo-msgtype.

MimeTypes map[string, int64]

Supported MIME types or MIME patterns for this file message type. Missing MIME types should be treated as rejected.

One of the following:
const AccountCapabilitiesFileMimeTypeMinus2 AccountCapabilitiesFileMimeType = -2
const AccountCapabilitiesFileMimeTypeMinus1 AccountCapabilitiesFileMimeType = -1
const AccountCapabilitiesFileMimeType0 AccountCapabilitiesFileMimeType = 0
const AccountCapabilitiesFileMimeType1 AccountCapabilitiesFileMimeType = 1
const AccountCapabilitiesFileMimeType2 AccountCapabilitiesFileMimeType = 2
Caption int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesFileCaptionMinus2 AccountCapabilitiesFileCaption = -2
const AccountCapabilitiesFileCaptionMinus1 AccountCapabilitiesFileCaption = -1
const AccountCapabilitiesFileCaption0 AccountCapabilitiesFileCaption = 0
const AccountCapabilitiesFileCaption1 AccountCapabilitiesFileCaption = 1
const AccountCapabilitiesFileCaption2 AccountCapabilitiesFileCaption = 2
MaxCaptionLength int64Optional

Maximum caption length when captions are supported.

MaxDuration int64Optional

Maximum audio or video duration in seconds.

MaxHeight int64Optional

Maximum image or video height in pixels.

MaxSize int64Optional

Maximum file size in bytes.

MaxWidth int64Optional

Maximum image or video width in pixels.

ViewOnce boolOptional

True if this file type can be sent as view-once media.

Formatting map[string, int64]Optional

Supported rich-text formatting features keyed by bridgev2 feature name. Omitted means no formatting support is advertised.

One of the following:
const AccountCapabilitiesFormattingMinus2 AccountCapabilitiesFormatting = -2
const AccountCapabilitiesFormattingMinus1 AccountCapabilitiesFormatting = -1
const AccountCapabilitiesFormatting0 AccountCapabilitiesFormatting = 0
const AccountCapabilitiesFormatting1 AccountCapabilitiesFormatting = 1
const AccountCapabilitiesFormatting2 AccountCapabilitiesFormatting = 2
LocationMessage int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesLocationMessageMinus2 AccountCapabilitiesLocationMessage = -2
const AccountCapabilitiesLocationMessageMinus1 AccountCapabilitiesLocationMessage = -1
const AccountCapabilitiesLocationMessage0 AccountCapabilitiesLocationMessage = 0
const AccountCapabilitiesLocationMessage1 AccountCapabilitiesLocationMessage = 1
const AccountCapabilitiesLocationMessage2 AccountCapabilitiesLocationMessage = 2
MarkAsUnread boolOptional

True if marking chats unread is supported.

MaxTextLength int64Optional

Maximum length of normal text messages.

MemberActions AccountCapabilitiesMemberActionsOptional

Participant management capabilities.

Ban int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsBanMinus2 AccountCapabilitiesMemberActionsBan = -2
const AccountCapabilitiesMemberActionsBanMinus1 AccountCapabilitiesMemberActionsBan = -1
const AccountCapabilitiesMemberActionsBan0 AccountCapabilitiesMemberActionsBan = 0
const AccountCapabilitiesMemberActionsBan1 AccountCapabilitiesMemberActionsBan = 1
const AccountCapabilitiesMemberActionsBan2 AccountCapabilitiesMemberActionsBan = 2
Invite int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsInviteMinus2 AccountCapabilitiesMemberActionsInvite = -2
const AccountCapabilitiesMemberActionsInviteMinus1 AccountCapabilitiesMemberActionsInvite = -1
const AccountCapabilitiesMemberActionsInvite0 AccountCapabilitiesMemberActionsInvite = 0
const AccountCapabilitiesMemberActionsInvite1 AccountCapabilitiesMemberActionsInvite = 1
const AccountCapabilitiesMemberActionsInvite2 AccountCapabilitiesMemberActionsInvite = 2
Kick int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsKickMinus2 AccountCapabilitiesMemberActionsKick = -2
const AccountCapabilitiesMemberActionsKickMinus1 AccountCapabilitiesMemberActionsKick = -1
const AccountCapabilitiesMemberActionsKick0 AccountCapabilitiesMemberActionsKick = 0
const AccountCapabilitiesMemberActionsKick1 AccountCapabilitiesMemberActionsKick = 1
const AccountCapabilitiesMemberActionsKick2 AccountCapabilitiesMemberActionsKick = 2
Leave int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsLeaveMinus2 AccountCapabilitiesMemberActionsLeave = -2
const AccountCapabilitiesMemberActionsLeaveMinus1 AccountCapabilitiesMemberActionsLeave = -1
const AccountCapabilitiesMemberActionsLeave0 AccountCapabilitiesMemberActionsLeave = 0
const AccountCapabilitiesMemberActionsLeave1 AccountCapabilitiesMemberActionsLeave = 1
const AccountCapabilitiesMemberActionsLeave2 AccountCapabilitiesMemberActionsLeave = 2
RevokeInvite int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMemberActionsRevokeInviteMinus2 AccountCapabilitiesMemberActionsRevokeInvite = -2
const AccountCapabilitiesMemberActionsRevokeInviteMinus1 AccountCapabilitiesMemberActionsRevokeInvite = -1
const AccountCapabilitiesMemberActionsRevokeInvite0 AccountCapabilitiesMemberActionsRevokeInvite = 0
const AccountCapabilitiesMemberActionsRevokeInvite1 AccountCapabilitiesMemberActionsRevokeInvite = 1
const AccountCapabilitiesMemberActionsRevokeInvite2 AccountCapabilitiesMemberActionsRevokeInvite = 2
MessageRequest AccountCapabilitiesMessageRequestOptional

Message request capabilities.

AcceptWithButton int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMessageRequestAcceptWithButtonMinus2 AccountCapabilitiesMessageRequestAcceptWithButton = -2
const AccountCapabilitiesMessageRequestAcceptWithButtonMinus1 AccountCapabilitiesMessageRequestAcceptWithButton = -1
const AccountCapabilitiesMessageRequestAcceptWithButton0 AccountCapabilitiesMessageRequestAcceptWithButton = 0
const AccountCapabilitiesMessageRequestAcceptWithButton1 AccountCapabilitiesMessageRequestAcceptWithButton = 1
const AccountCapabilitiesMessageRequestAcceptWithButton2 AccountCapabilitiesMessageRequestAcceptWithButton = 2
AcceptWithMessage int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesMessageRequestAcceptWithMessageMinus2 AccountCapabilitiesMessageRequestAcceptWithMessage = -2
const AccountCapabilitiesMessageRequestAcceptWithMessageMinus1 AccountCapabilitiesMessageRequestAcceptWithMessage = -1
const AccountCapabilitiesMessageRequestAcceptWithMessage0 AccountCapabilitiesMessageRequestAcceptWithMessage = 0
const AccountCapabilitiesMessageRequestAcceptWithMessage1 AccountCapabilitiesMessageRequestAcceptWithMessage = 1
const AccountCapabilitiesMessageRequestAcceptWithMessage2 AccountCapabilitiesMessageRequestAcceptWithMessage = 2
Poll int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesPollMinus2 AccountCapabilitiesPoll = -2
const AccountCapabilitiesPollMinus1 AccountCapabilitiesPoll = -1
const AccountCapabilitiesPoll0 AccountCapabilitiesPoll = 0
const AccountCapabilitiesPoll1 AccountCapabilitiesPoll = 1
const AccountCapabilitiesPoll2 AccountCapabilitiesPoll = 2
Reaction int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesReactionMinus2 AccountCapabilitiesReaction = -2
const AccountCapabilitiesReactionMinus1 AccountCapabilitiesReaction = -1
const AccountCapabilitiesReaction0 AccountCapabilitiesReaction = 0
const AccountCapabilitiesReaction1 AccountCapabilitiesReaction = 1
const AccountCapabilitiesReaction2 AccountCapabilitiesReaction = 2
ReactionCount int64Optional

Maximum number of reactions allowed on a single message.

ReadReceipts boolOptional

True if read receipts are supported.

Reply int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesReplyMinus2 AccountCapabilitiesReply = -2
const AccountCapabilitiesReplyMinus1 AccountCapabilitiesReply = -1
const AccountCapabilitiesReply0 AccountCapabilitiesReply = 0
const AccountCapabilitiesReply1 AccountCapabilitiesReply = 1
const AccountCapabilitiesReply2 AccountCapabilitiesReply = 2
State AccountCapabilitiesStateOptional

Room state update capabilities keyed by Matrix state event type.

ComBeeperDisappearingTimer AccountCapabilitiesStateComBeeperDisappearingTimerOptional

Disappearing-message timer state capability.

Level int64

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesStateComBeeperDisappearingTimerLevelMinus2 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = -2
const AccountCapabilitiesStateComBeeperDisappearingTimerLevelMinus1 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = -1
const AccountCapabilitiesStateComBeeperDisappearingTimerLevel0 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = 0
const AccountCapabilitiesStateComBeeperDisappearingTimerLevel1 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = 1
const AccountCapabilitiesStateComBeeperDisappearingTimerLevel2 AccountCapabilitiesStateComBeeperDisappearingTimerLevel = 2
MRoomAvatar AccountCapabilitiesStateMRoomAvatarOptional

Chat avatar state capability.

Level int64

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesStateMRoomAvatarLevelMinus2 AccountCapabilitiesStateMRoomAvatarLevel = -2
const AccountCapabilitiesStateMRoomAvatarLevelMinus1 AccountCapabilitiesStateMRoomAvatarLevel = -1
const AccountCapabilitiesStateMRoomAvatarLevel0 AccountCapabilitiesStateMRoomAvatarLevel = 0
const AccountCapabilitiesStateMRoomAvatarLevel1 AccountCapabilitiesStateMRoomAvatarLevel = 1
const AccountCapabilitiesStateMRoomAvatarLevel2 AccountCapabilitiesStateMRoomAvatarLevel = 2
MRoomName AccountCapabilitiesStateMRoomNameOptional

Chat title state capability.

Level int64

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesStateMRoomNameLevelMinus2 AccountCapabilitiesStateMRoomNameLevel = -2
const AccountCapabilitiesStateMRoomNameLevelMinus1 AccountCapabilitiesStateMRoomNameLevel = -1
const AccountCapabilitiesStateMRoomNameLevel0 AccountCapabilitiesStateMRoomNameLevel = 0
const AccountCapabilitiesStateMRoomNameLevel1 AccountCapabilitiesStateMRoomNameLevel = 1
const AccountCapabilitiesStateMRoomNameLevel2 AccountCapabilitiesStateMRoomNameLevel = 2
MRoomTopic AccountCapabilitiesStateMRoomTopicOptional

Chat description/topic state capability.

Level int64

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesStateMRoomTopicLevelMinus2 AccountCapabilitiesStateMRoomTopicLevel = -2
const AccountCapabilitiesStateMRoomTopicLevelMinus1 AccountCapabilitiesStateMRoomTopicLevel = -1
const AccountCapabilitiesStateMRoomTopicLevel0 AccountCapabilitiesStateMRoomTopicLevel = 0
const AccountCapabilitiesStateMRoomTopicLevel1 AccountCapabilitiesStateMRoomTopicLevel = 1
const AccountCapabilitiesStateMRoomTopicLevel2 AccountCapabilitiesStateMRoomTopicLevel = 2
Thread int64Optional

-2: rejected, -1: dropped, 0: unsupported, 1: partially supported, 2: fully supported.

One of the following:
const AccountCapabilitiesThreadMinus2 AccountCapabilitiesThread = -2
const AccountCapabilitiesThreadMinus1 AccountCapabilitiesThread = -1
const AccountCapabilitiesThread0 AccountCapabilitiesThread = 0
const AccountCapabilitiesThread1 AccountCapabilitiesThread = 1
const AccountCapabilitiesThread2 AccountCapabilitiesThread = 2
TypingNotifications boolOptional

True if typing notifications are supported.

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 BridgeLoginOptional

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 BridgeLoginRemoveScopeCurrentDevice BridgeLoginRemoveScope = "current-device"
const BridgeLoginRemoveScopeAllDevices BridgeLoginRemoveScope = "all-devices"
Status BridgeLoginStatus
One of the following:
const BridgeLoginStatusConnected BridgeLoginStatus = "connected"
const BridgeLoginStatusConnecting BridgeLoginStatus = "connecting"
const BridgeLoginStatusNeedsLogin BridgeLoginStatus = "needs_login"
const BridgeLoginStatusLoggedOut BridgeLoginStatus = "logged_out"
const BridgeLoginStatusUnknown BridgeLoginStatus = "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 BridgeLoginOptional

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 BridgeLoginRemoveScopeCurrentDevice BridgeLoginRemoveScope = "current-device"
const BridgeLoginRemoveScopeAllDevices BridgeLoginRemoveScope = "all-devices"
Status BridgeLoginStatus
One of the following:
const BridgeLoginStatusConnected BridgeLoginStatus = "connected"
const BridgeLoginStatusConnecting BridgeLoginStatus = "connecting"
const BridgeLoginStatusNeedsLogin BridgeLoginStatus = "needs_login"
const BridgeLoginStatusLoggedOut BridgeLoginStatus = "logged_out"
const BridgeLoginStatusUnknown BridgeLoginStatus = "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": {
      "allowed_reactions": [
        "string"
      ],
      "archive": true,
      "custom_emoji_reactions": true,
      "delete": -2,
      "delete_chat": true,
      "delete_chat_for_everyone": true,
      "delete_for_me": true,
      "delete_max_age": 0,
      "disappearing_timer": {
        "omit_empty_timer": true,
        "timers": [
          0
        ],
        "types": [
          "after_read"
        ]
      },
      "edit": -2,
      "edit_max_age": 0,
      "edit_max_count": 0,
      "file": {
        "foo": {
          "mime_types": {
            "foo": -2
          },
          "caption": -2,
          "max_caption_length": 0,
          "max_duration": 0,
          "max_height": 0,
          "max_size": 0,
          "max_width": 0,
          "view_once": true
        }
      },
      "formatting": {
        "foo": -2
      },
      "location_message": -2,
      "mark_as_unread": true,
      "max_text_length": 0,
      "member_actions": {
        "ban": -2,
        "invite": -2,
        "kick": -2,
        "leave": -2,
        "revoke_invite": -2
      },
      "message_request": {
        "accept_with_button": -2,
        "accept_with_message": -2
      },
      "poll": -2,
      "reaction": -2,
      "reaction_count": 0,
      "read_receipts": true,
      "reply": -2,
      "state": {
        "com.beeper.disappearing_timer": {
          "level": -2
        },
        "m.room.avatar": {
          "level": -2
        },
        "m.room.name": {
          "level": -2
        },
        "m.room.topic": {
          "level": -2
        }
      },
      "thread": -2,
      "typing_notifications": true
    },
    "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": {
      "allowed_reactions": [
        "string"
      ],
      "archive": true,
      "custom_emoji_reactions": true,
      "delete": -2,
      "delete_chat": true,
      "delete_chat_for_everyone": true,
      "delete_for_me": true,
      "delete_max_age": 0,
      "disappearing_timer": {
        "omit_empty_timer": true,
        "timers": [
          0
        ],
        "types": [
          "after_read"
        ]
      },
      "edit": -2,
      "edit_max_age": 0,
      "edit_max_count": 0,
      "file": {
        "foo": {
          "mime_types": {
            "foo": -2
          },
          "caption": -2,
          "max_caption_length": 0,
          "max_duration": 0,
          "max_height": 0,
          "max_size": 0,
          "max_width": 0,
          "view_once": true
        }
      },
      "formatting": {
        "foo": -2
      },
      "location_message": -2,
      "mark_as_unread": true,
      "max_text_length": 0,
      "member_actions": {
        "ban": -2,
        "invite": -2,
        "kick": -2,
        "leave": -2,
        "revoke_invite": -2
      },
      "message_request": {
        "accept_with_button": -2,
        "accept_with_message": -2
      },
      "poll": -2,
      "reaction": -2,
      "reaction_count": 0,
      "read_receipts": true,
      "reply": -2,
      "state": {
        "com.beeper.disappearing_timer": {
          "level": -2
        },
        "m.room.avatar": {
          "level": -2
        },
        "m.room.name": {
          "level": -2
        },
        "m.room.topic": {
          "level": -2
        }
      },
      "thread": -2,
      "typing_notifications": true
    },
    "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"
}