### Start Beeper App Setup API Response (200) Source: https://developers.beeper.com/desktop-api-reference/cli/resources/app/subresources/login/methods/start Example response from the `POST /v1/app/setup/start` endpoint when the setup is successful. Includes the setup request ID and available sign-in methods. ```json { "setupRequestID": "setupRequestID", "signInMethods": [ "string" ] } ``` -------------------------------- ### Get Started with Beeper Desktop API SDKs Source: https://developers.beeper.com/desktop-api This example shows how to initiate building an integration using the official SDKs for the Beeper Desktop API. It directs users to the main documentation page and suggests using the provided SDKs. ```markdown I want to build an integration with Beeper Desktop API. Please visit https://developers.beeper.com/desktop-api/index.md Use the official SDKs to build it. ``` -------------------------------- ### Start Beeper App Setup Source: https://developers.beeper.com/desktop-api-reference Initiate the setup process for the Beeper application. ```http POST/v1/app/setup/start ``` -------------------------------- ### Start Beeper App Setup Source: https://developers.beeper.com/desktop-api-reference/cli/resources/app/subresources/login Initiates the setup process for the Beeper application. Use this command to begin the first-party login flow. ```bash $ beeper-desktop app:login start POST/v1/app/setup/start ``` -------------------------------- ### Serve a File Example Source: https://developers.beeper.com/desktop-api-reference/go/resources/assets/methods/serve Demonstrates how to stream a file using the `Serve` method. Ensure you have the necessary imports and client setup. This example uses a placeholder access token and URL. ```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"), ) response, err := client.Assets.Serve(context.TODO(), beeperdesktopapi.AssetServeParams{ URL: "x", }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` -------------------------------- ### Start Beeper App Setup Source: https://developers.beeper.com/desktop-api-reference/go/resources/app/subresources/login/methods/start Initiates the Beeper Desktop or Server setup process. Use this to begin the sign-in flow for existing or new Beeper accounts. ```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"), ) response, err := client.App.Login.Start(context.TODO()) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.SetupRequestID) } ``` -------------------------------- ### Install and Start Local Beeper Server Source: https://developers.beeper.com/desktop-api-reference/cli Installs and starts a local Beeper Server managed by the CLI. After installation, you can add network accounts. ```bash $ beeper setup --server --install ▎ Installed Beeper Server (stable) ▎ Started server on http://127.0.0.1:23373 auth Opening browser to authorize this server… ▎ Connected server accounts (none) next Run `beeper accounts add` to connect a network. $ beeper accounts add ? Which bridge? whatsapp Scan this QR code with WhatsApp on your phone: ▄▄▄▄▄▄▄ ▄ ▄ ▄▄▄▄▄▄▄ █ ███ █ ▄█▄ █ ███ █ █ ███ █ ▀█▀ █ ███ █ ▀▀▀▀▀▀▀ ▀ ▀ ▀▀▀▀▀▀▀ ▎ Connected whatsapp · +1•••4242 ``` -------------------------------- ### Start Beeper App Setup Source: https://developers.beeper.com/desktop-api-reference/resources/app Initiates the first-party Beeper app setup process. ```APIDOC ## POST /v1/app/setup/start ### Description Starts the first-party Beeper app setup. ### Method POST ### Endpoint /v1/app/setup/start ``` -------------------------------- ### Start Beeper App Setup CLI Source: https://developers.beeper.com/desktop-api-reference/cli/resources/app/subresources/login/methods/start Initiates the Beeper app setup process using the command-line interface. Requires an access token. ```bash beeper-desktop app:login start \ --access-token 'My Access Token' ``` -------------------------------- ### Start Beeper App Setup Source: https://developers.beeper.com/desktop-api-reference/cli/resources/app/subresources/login/methods/start Initiates the setup process for Beeper Desktop or Beeper Server. This command supports existing Beeper accounts and new account creation. It returns a setup request ID and available sign-in methods. ```APIDOC ## POST /v1/app/setup/start ### Description Starts setting up Beeper Desktop or Beeper Server. The flow supports existing Beeper accounts and new account creation. ### Method POST ### Endpoint /v1/app/setup/start ### Parameters #### Query Parameters - **access-token** (string) - Required - The access token for authentication. ### Request Example ``` beeper-desktop app:login start --access-token 'My Access Token' ``` ### Response #### Success Response (200) - **setupRequestID** (string) - Setup request ID to use in the next sign-in step. - **signInMethods** (array of string) - Available sign-in methods for this setup request. #### Response Example ```json { "setupRequestID": "setupRequestID", "signInMethods": [ "string" ] } ``` ``` -------------------------------- ### Start Beeper app setup Source: https://developers.beeper.com/desktop-api-reference/cli/resources/app/subresources/login Initiates the first-party Beeper app login setup process. ```APIDOC ## POST /v1/app/setup/start ### Description Starts the first-party Beeper app setup and login process. ### Method POST ### Endpoint /v1/app/setup/start ``` -------------------------------- ### Start Beeper app setup Source: https://developers.beeper.com/desktop-api-reference/php/resources/app/subresources/login/methods/start Initiates the setup process for Beeper Desktop or Beeper Server, supporting both existing account sign-in and new account creation. ```APIDOC ## POST /v1/app/setup/start ### Description Start setting up Beeper Desktop or Beeper Server. The flow supports existing Beeper accounts and new account creation. ### Method POST ### Endpoint /v1/app/setup/start ### Parameters ### Request Body ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **setupRequestID** (string) - Setup request ID to use in the next sign-in step. - **signInMethods** (list) - Available sign-in methods for this setup request. #### Response Example ```json { "setupRequestID": "setupRequestID", "signInMethods": [ "string" ] } ``` ``` -------------------------------- ### Start Beeper App Setup Source: https://developers.beeper.com/desktop-api-reference/typescript/resources/app/subresources/login/methods/start Initiates the Beeper app setup process. Use this to begin the login or account creation flow. It returns a setup request ID and available sign-in methods. ```typescript import BeeperDesktop from '@beeper/desktop-api'; const client = new BeeperDesktop(); const response = await client.app.login.start(); console.log(response.setupRequestID); ``` -------------------------------- ### Start Beeper App Setup with Python Source: https://developers.beeper.com/desktop-api-reference/python/resources/app/subresources/login/methods/start Initiates the Beeper app setup process using the Python client. Retrieves and prints the setup request ID. ```python from beeper_desktop_api import BeeperDesktop client = BeeperDesktop() response = client.app.login.start() print(response.setup_request_id) ``` -------------------------------- ### Start Beeper App Setup (PHP) Source: https://developers.beeper.com/desktop-api-reference/php/resources/app/subresources/login/methods/start Initiates the Beeper app setup process using the PHP client library. This method is used to begin the login or account creation flow. ```php app->login->start(); var_dump($response); ``` -------------------------------- ### app.login.start() Source: https://developers.beeper.com/desktop-api-reference/python/resources/app/subresources/login/methods/start Initiates the Beeper app setup process. This method is used to start the flow for setting up Beeper Desktop or Beeper Server, supporting both existing Beeper accounts and new account creation. ```APIDOC ## POST /v1/app/setup/start ### Description Start setting up Beeper Desktop or Beeper Server. The flow supports existing Beeper accounts and new account creation. ### Method POST ### Endpoint /v1/app/setup/start ### Returns #### Success Response (200) - **setup_request_id** (str) - Setup request ID to use in the next sign-in step. - **sign_in_methods** (List[str]) - Available sign-in methods for this setup request. ### Request Example ```json { "setupRequestID": "setupRequestID", "signInMethods": [ "string" ] } ``` ### Response Example ```json { "setupRequestID": "setupRequestID", "signInMethods": [ "string" ] } ``` ``` -------------------------------- ### client.app.login.start Source: https://developers.beeper.com/desktop-api-reference/typescript/resources/app/subresources/login/methods/start Starts the Beeper app setup process. This method can be used for both existing Beeper accounts and new account creation. It returns a `setupRequestID` for subsequent steps and a list of available `signInMethods`. ```APIDOC ## POST /v1/app/setup/start ### Description Start setting up Beeper Desktop or Beeper Server. The flow supports existing Beeper accounts and new account creation. ### Method POST ### Endpoint /v1/app/setup/start ### Parameters #### Query Parameters - **options** (RequestOptions) - Optional - Options for the request. ### Response #### Success Response (200) - **setupRequestID** (string) - Setup request ID to use in the next sign-in step. - **signInMethods** (Array) - Available sign-in methods for this setup request. ### Request Example ```json { "example": "request body" } ``` ### Response Example ```json { "setupRequestID": "setupRequestID", "signInMethods": [ "string" ] } ``` ``` -------------------------------- ### Complete Setup Sign-in with Code (PHP) Source: https://developers.beeper.com/desktop-api-reference/php/resources/app/subresources/login/methods/response Use this PHP snippet to complete the setup sign-in process by sending the user's sign-in code and the setup request ID to the API. Ensure you have the Beeper client library installed via Composer. ```php app->login->response( response: 'response', setupRequestID: 'setupRequestID' ); var_dump($response); ``` -------------------------------- ### Create Account for Setup Source: https://developers.beeper.com/desktop-api-reference/go/resources/app/subresources/login Creates a new account for the setup process. Use this if a new account needs to be registered. ```go client.App.Login.Register(ctx, body) ``` -------------------------------- ### Get Beeper App Setup State Source: https://developers.beeper.com/desktop-api-reference/php/resources/app Retrieves the current setup state of the Beeper app. This is a GET request to the /v1/app/setup endpoint. ```php $client->app->session(): AppSessionResponse ``` -------------------------------- ### Complete Setup Sign-in with Go Source: https://developers.beeper.com/desktop-api-reference/go/resources/app/subresources/login/methods/response This Go code snippet demonstrates how to initialize the Beeper Desktop API client and call the `Response` method for login setup. Ensure you have the necessary access token and setup request ID. ```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"), ) response, err := client.App.Login.Response(context.TODO(), beeperdesktopapi.AppLoginResponseParams{ Response: "response", SetupRequestID: "setupRequestID", }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` -------------------------------- ### Example Response for Starting a Chat Source: https://developers.beeper.com/desktop-api-reference/php/resources/chats/methods/start This is an example of a successful response when starting a chat, detailing the chat's ID, participants, capabilities, and status. ```json { "id": "!team_launch_planning:beeper.com", "accountID": "matrix", "network": "Beeper", "participants": { "hasMore": false, "items": [ { "id": "@kishanbagaria:beeper.com", "cannotMessage": false, "email": "email", "fullName": "Kishan Bagaria", "imgURL": "imgURL", "isSelf": false, "phoneNumber": "phoneNumber", "username": "kishanbagaria:beeper.com", "isAdmin": true, "isNetworkBot": true, "isPending": true }, { "id": "@batuhan:beeper.com", "cannotMessage": false, "email": "email", "fullName": "Batuhan İçöz", "imgURL": "imgURL", "isSelf": true, "phoneNumber": "phoneNumber", "username": "batuhan:beeper.com", "isAdmin": true, "isNetworkBot": true, "isPending": true }, { "id": "@mattwondra:beeper.com", "cannotMessage": false, "email": "email", "fullName": "Matt Wondra", "imgURL": "imgURL", "isSelf": false, "phoneNumber": "phoneNumber", "username": "mattwondra:beeper.com", "isAdmin": true, "isNetworkBot": true, "isPending": true }, { "id": "@adamvy:beeper.com", "cannotMessage": false, "email": "email", "fullName": "Adam Van Ymeren", "imgURL": "imgURL", "isSelf": false, "phoneNumber": "phoneNumber", "username": "adamvy:beeper.com", "isAdmin": true, "isNetworkBot": true, "isPending": true } ], "total": 4 }, "title": "Launch Planning", "type": "group", "unreadCount": 0, "capabilities": { "allowedReactions": [ "string" ], "archive": true, "attachments": { "foo": { "mimeTypes": { "foo": -2 }, "caption": -2, "maxCaptionLength": 0, "maxDuration": 0, "maxHeight": 0, "maxSize": 0, "maxWidth": 0, "viewOnce": true } }, "customEmojiReactions": true, "delete": -2, "deleteChat": true, "deleteChatForEveryone": true, "deleteForMe": true, "deleteMaxAge": 0, "disappearingTimer": { "omitEmptyTimer": true, "timers": [ 0 ], "types": [ "afterRead" ] }, "edit": -2, "editMaxAge": 0, "editMaxCount": 0, "formatting": { "foo": -2 }, "locationMessage": -2, "markAsUnread": true, "maxTextLength": 0, "messageRequest": { "acceptWithButton": -2, "acceptWithMessage": -2 }, "participantActions": { "ban": -2, "invite": -2, "kick": -2, "leave": -2, "revokeInvite": -2 }, "poll": -2, "reaction": -2, "reactionCount": 0, "readReceipts": true, "reply": -2, "state": { "avatar": { "level": -2 }, "description": { "level": -2 }, "disappearingTimer": { "level": -2 }, "title": { "level": -2 } }, "thread": -2, "typingNotifications": true }, "description": "description", "draft": { "text": "text", "attachments": { "foo": { "id": "id", "type": "file", "audioDurationSeconds": 0, "fileName": "fileName", "filePath": "filePath", "fileSize": 0, "mimeType": "mimeType", "size": { "height": 0, "width": 0 }, "stickerID": "stickerID" } } }, "imgURL": "imgURL", "isArchived": false, "isLowPriority": true, "isMarkedUnread": true, "isMuted": false, "isPinned": false, "isReadOnly": true, "lastActivity": "2026-05-05T20:12:30.969Z", "lastReadMessageSortKey": "862756563", "localChatID": "5541", "messageExpirySeconds": 0, "reminder": { "dismissOnIncomingMessage": true, "remindAt": "2025-08-31T23:30:12.520Z" }, "snooze": { "snoozeUntil": "2025-08-31T23:30:12.520Z", "userSnoozedAt": "2025-08-31T23:30:12.520Z" }, "unreadMentionsCount": 0, "chatID": "!team_launch_planning:beeper.com", "status": "created" } ``` -------------------------------- ### Get Beeper App Setup State (PHP) Source: https://developers.beeper.com/desktop-api-reference/php/resources/app/methods/session This PHP snippet demonstrates how to use the Beeper client to retrieve the current session state, including sign-in and E2EE status. Ensure you have the Beeper client library installed via Composer. ```php app->session(); var_dump($response); ?> ``` -------------------------------- ### Installing a Beeper Plugin Source: https://developers.beeper.com/desktop-api-reference/cli Install a published Beeper plugin using its package name. For example, to install the Cloudflare plugin, use `beeper plugins install @beeper/cli-plugin-cloudflare`. ```bash beeper plugins install @beeper/cli-plugin-cloudflare ``` -------------------------------- ### Register Source: https://developers.beeper.com/desktop-api-reference/go/resources/app/subresources/login/methods/register Creates a new account for setup. This method requires the user to accept terms and provides lead token, setup request ID, and username. ```APIDOC ## Register ### Description Creates a new account for setup. This method requires the user to accept terms and provides lead token, setup request ID, and username. ### Method POST ### Endpoint /app/login/register ### Parameters #### Request Body - **AcceptTerms** (boolean) - Required - Indicates whether the terms have been accepted. - **LeadToken** (string) - Required - The lead token for the registration process. - **SetupRequestID** (string) - Required - The ID for the setup request. - **Username** (string) - Required - The desired username for the new account. ### Response #### Success Response (200) - **matrix** (object) - Contains Matrix account details. - **accessToken** (string) - The access token for the Matrix account. - **deviceID** (string) - The device ID for the Matrix account. - **homeserver** (string) - The homeserver URL for the Matrix account. - **userID** (string) - The user ID for the Matrix account. - **session** (object) - Contains session details. - **e2ee** (object) - End-to-end encryption details. - **crossSigning** (boolean) - Indicates if cross-signing is enabled. - **firstSyncDone** (boolean) - Indicates if the first sync is completed. - **hasBackedUpRecoveryKey** (boolean) - Indicates if the recovery key has been backed up. - **initialized** (boolean) - Indicates if E2EE is initialized. - **keyBackup** (boolean) - Indicates if key backup is enabled. - **secretStorage** (boolean) - Indicates if secret storage is enabled. - **verified** (boolean) - Indicates if the session is verified. - **recoveryKeyGeneratedAt** (integer) - Timestamp when the recovery key was generated. - **secrets** (object) - Details about stored secrets. - **masterKey** (boolean) - Indicates if the master key is stored. - **megolmBackupKey** (boolean) - Indicates if the megolm backup key is stored. - **recoveryKey** (boolean) - Indicates if the recovery key is stored. - **selfSigningKey** (boolean) - Indicates if the self-signing key is stored. - **userSigningKey** (boolean) - Indicates if the user-signing key is stored. - **state** (string) - The current state of the session (e.g., "needs-login"). - **matrix** (object) - Matrix session details. - **deviceID** (string) - The device ID for the Matrix session. - **homeserver** (string) - The homeserver URL for the Matrix session. - **userID** (string) - The user ID for the Matrix session. - **verification** (object) - Details about the session verification process. - **id** (string) - The verification ID. - **availableActions** (array) - List of available verification actions. - **direction** (string) - The direction of the verification (e.g., "incoming"). - **methods** (array) - List of supported verification methods. - **purpose** (string) - The purpose of the verification (e.g., "login"). - **state** (string) - The current state of the verification. - **error** (object) - Error details if verification failed. - **code** (string) - The error code. - **reason** (string) - The reason for the error. - **otherDevice** (object) - Information about the other device involved in verification. - **id** (string) - The ID of the other device. - **name** (string) - The name of the other device. - **otherUserID** (string) - The user ID of the other party. - **qr** (object) - QR code data for verification. - **data** (string) - The QR code data. - **sas** (object) - SAS (Short Authentication String) verification details. - **emojis** (string) - Emojis for SAS verification. - **decimals** (string) - Decimal representation for SAS verification. ### Request Example ```json { "AcceptTerms": true, "LeadToken": "leadToken", "SetupRequestID": "setupRequestID", "Username": "x" } ``` ### Response Example ```json { "matrix": { "accessToken": "accessToken", "deviceID": "deviceID", "homeserver": "homeserver", "userID": "userID" }, "session": { "e2ee": { "crossSigning": true, "firstSyncDone": true, "hasBackedUpRecoveryKey": true, "initialized": true, "keyBackup": true, "secrets": { "masterKey": true, "megolmBackupKey": true, "recoveryKey": true, "selfSigningKey": true, "userSigningKey": true }, "secretStorage": true, "verified": true, "recoveryKeyGeneratedAt": 0 }, "state": "needs-login", "matrix": { "deviceID": "deviceID", "homeserver": "homeserver", "userID": "userID" }, "verification": { "id": "id", "availableActions": [ "accept" ], "direction": "incoming", "methods": [ "qr" ], "purpose": "login", "state": "requested", "error": { "code": "code", "reason": "reason" }, "otherDevice": { "id": "id", "name": "name" }, "otherUserID": "otherUserID", "qr": { "data": "data" }, "sas": { "emojis": "emojis", "decimals": "decimals" } } } } ``` ``` -------------------------------- ### Complete Setup Sign-in with Code Source: https://developers.beeper.com/desktop-api-reference/go/resources/app/subresources/login Completes the setup sign-in process by providing the received sign-in code. ```go client.App.Login.Response(ctx, body) ``` -------------------------------- ### Get Beeper App Setup State Source: https://developers.beeper.com/desktop-api-reference Check the current setup status of the Beeper application. ```http GET/v1/app/setup ``` -------------------------------- ### Complete Setup Sign-in with Code Source: https://developers.beeper.com/desktop-api-reference/cli/resources/app/subresources/login/methods/response Use this command to complete the sign-in process using a setup request ID and an access token. ```bash beeper-desktop app:login response \ --access-token 'My Access Token' \ --response response \ --setup-request-id setupRequestID ``` -------------------------------- ### Get Beeper App Setup State Source: https://developers.beeper.com/desktop-api-reference/cli/resources/app Retrieves the current setup state of the Beeper app. This is useful for understanding the progress of initial setup or verification processes. ```bash beeper-desktop app session ``` -------------------------------- ### Complete setup sign-in with code Source: https://developers.beeper.com/desktop-api-reference/cli/resources/app/subresources/login/methods/response This command allows you to finish the setup sign-in process by providing the code sent to the user's email address. It requires the response code and the setup request ID. The response may include information for creating a new account and suggested usernames. ```APIDOC ## POST /v1/app/setup/response ### Description Finish setup sign-in with the code sent to the user email address. If the user needs a new account, the response includes account creation copy and username suggestions. ### Method POST ### Endpoint /v1/app/setup/response ### Parameters #### Query Parameters - **response** (string) - Required - Sign-in code from the user email. - **setup-request-id** (string) - Required - Setup request ID returned by the start step. ``` -------------------------------- ### Start Beeper App Setup Request Source: https://developers.beeper.com/desktop-api-reference/resources/app/subresources/login/methods/start Initiates the Beeper app setup process. Requires an authorization token. ```curl curl http://localhost:23373/v1/app/setup/start \ -X POST \ -H "Authorization: Bearer $BEEPER_ACCESS_TOKEN" ``` -------------------------------- ### Register Account Source: https://developers.beeper.com/desktop-api-reference/typescript/resources/app/subresources/login/methods/register This method allows you to create a new account for setup purposes. It requires accepting terms, a lead token, a setup request ID, and a username. The response includes matrix and session details. ```APIDOC ## POST /app/login/register ### Description Creates a new account for setup. ### Method POST ### Endpoint /app/login/register ### Parameters #### Request Body - **acceptTerms** (boolean) - Required - Indicates acceptance of terms and conditions. - **leadToken** (string) - Required - A token used for lead tracking or initial setup. - **setupRequestID** (string) - Required - An identifier for the setup request. - **username** (string) - Required - The desired username for the new account. ### Request Example ```json { "acceptTerms": true, "leadToken": "leadToken", "setupRequestID": "setupRequestID", "username": "x" } ``` ### Response #### Success Response (200) - **matrix** (object) - Contains authentication and user details. - **accessToken** (string) - The access token for the Matrix client. - **deviceID** (string) - The ID of the device. - **homeserver** (string) - The homeserver URL. - **userID** (string) - The user ID. - **session** (object) - Contains session and end-to-end encryption details. - **e2ee** (object) - End-to-end encryption status and configuration. - **crossSigning** (boolean) - Whether cross-signing is enabled. - **firstSyncDone** (boolean) - Whether the first sync has been completed. - **hasBackedUpRecoveryKey** (boolean) - Whether the recovery key has been backed up. - **initialized** (boolean) - Whether E2EE is initialized. - **keyBackup** (boolean) - Whether key backup is enabled. - **secrets** (object) - Status of various encryption secrets. - **masterKey** (boolean) - Whether the master key is available. - **megolmBackupKey** (boolean) - Whether the Megolm backup key is available. - **recoveryKey** (boolean) - Whether the recovery key is available. - **selfSigningKey** (boolean) - Whether the self-signing key is available. - **userSigningKey** (boolean) - Whether the user-signing key is available. - **secretStorage** (boolean) - Whether secret storage is enabled. - **verified** (boolean) - Whether the session is verified. - **recoveryKeyGeneratedAt** (number) - Timestamp when the recovery key was generated. - **state** (string) - The current state of the session (e.g., 'needs-login'). - **matrix** (object) - Matrix-specific session details. - **deviceID** (string) - The device ID for the session. - **homeserver** (string) - The homeserver URL for the session. - **userID** (string) - The user ID for the session. - **verification** (object) - Details about the session verification process. - **id** (string) - The verification ID. - **availableActions** (array) - List of available actions for verification. - **direction** (string) - The direction of the verification request. - **methods** (array) - The verification methods available. - **purpose** (string) - The purpose of the verification. - **state** (string) - The current state of verification. - **error** (object) - Error details if verification failed. - **code** (string) - The error code. - **reason** (string) - The reason for the error. - **otherDevice** (object) - Information about the other device in the verification. - **id** (string) - The ID of the other device. - **name** (string) - The name of the other device. - **otherUserID** (string) - The user ID of the other party. - **qr** (object) - QR code data for verification. - **data** (string) - The QR code data. - **sas** (object) - SAS (Short Authentication String) details for verification. - **emojis** (string) - Emojis for SAS verification. - **decimals** (string) - Decimal representation for SAS verification. #### Response Example (200) ```json { "matrix": { "accessToken": "accessToken", "deviceID": "deviceID", "homeserver": "homeserver", "userID": "userID" }, "session": { "e2ee": { "crossSigning": true, "firstSyncDone": true, "hasBackedUpRecoveryKey": true, "initialized": true, "keyBackup": true, "secrets": { "masterKey": true, "megolmBackupKey": true, "recoveryKey": true, "selfSigningKey": true, "userSigningKey": true }, "secretStorage": true, "verified": true, "recoveryKeyGeneratedAt": 0 }, "state": "needs-login", "matrix": { "deviceID": "deviceID", "homeserver": "homeserver", "userID": "userID" }, "verification": { "id": "id", "availableActions": [ "accept" ], "direction": "incoming", "methods": [ "qr" ], "purpose": "login", "state": "requested", "error": { "code": "code", "reason": "reason" }, "otherDevice": { "id": "id", "name": "name" }, "otherUserID": "otherUserID", "qr": { "data": "data" }, "sas": { "emojis": "emojis", "decimals": "decimals" } } } } ``` ``` -------------------------------- ### Get Beeper App Setup State Source: https://developers.beeper.com/desktop-api-reference/go/resources/app Retrieves the current setup state of the Beeper app. This is useful for understanding the progress of login and verification. ```go client.App.Session(ctx) (*AppSessionResponse, error) ``` -------------------------------- ### Register Account Source: https://developers.beeper.com/desktop-api-reference/python/resources/app/subresources/login/methods/register This method allows you to create a new account for setup. It requires accepting terms, a lead token, a setup request ID, and a username. ```APIDOC ## Register Account ### Description Creates a new account for setup purposes. This is typically used during the initial configuration of the Beeper Desktop application. ### Method POST (inferred from SDK method call) ### Endpoint /app/login/register (inferred from SDK path) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **accept_terms** (boolean) - Required - Must be true to accept the terms of service. - **lead_token** (string) - Required - A token used for lead generation or initial setup. - **setup_request_id** (string) - Required - An identifier for the setup request. - **username** (string) - Required - The desired username for the new account. ### Request Example ```json { "accept_terms": true, "lead_token": "leadToken", "setup_request_id": "setupRequestID", "username": "x" } ``` ### Response #### Success Response (200) - **matrix** (object) - Contains authentication and session matrix details. - **accessToken** (string) - The access token for the user. - **deviceID** (string) - The ID of the device. - **homeserver** (string) - The homeserver URL. - **userID** (string) - The user ID. - **session** (object) - Contains session-related information. - **e2ee** (object) - End-to-end encryption details. - **crossSigning** (boolean) - **firstSyncDone** (boolean) - **hasBackedUpRecoveryKey** (boolean) - **initialized** (boolean) - **keyBackup** (boolean) - **secrets** (object) - **masterKey** (boolean) - **megolmBackupKey** (boolean) - **recoveryKey** (boolean) - **selfSigningKey** (boolean) - **userSigningKey** (boolean) - **secretStorage** (boolean) - **verified** (boolean) - **recoveryKeyGeneratedAt** (integer) - **state** (string) - The current state of the session (e.g., "needs-login"). - **matrix** (object) - Matrix session details. - **deviceID** (string) - **homeserver** (string) - **userID** (string) - **verification** (object) - Details about the session verification process. - **id** (string) - **availableActions** (array of strings) - **direction** (string) - **methods** (array of strings) - **purpose** (string) - **state** (string) - **error** (object) - **code** (string) - **reason** (string) - **otherDevice** (object) - **id** (string) - **name** (string) - **otherUserID** (string) - **qr** (object) - **data** (string) - **sas** (object) - **emojis** (string) - **decimals** (string) #### Response Example (200) ```json { "matrix": { "accessToken": "accessToken", "deviceID": "deviceID", "homeserver": "homeserver", "userID": "userID" }, "session": { "e2ee": { "crossSigning": true, "firstSyncDone": true, "hasBackedUpRecoveryKey": true, "initialized": true, "keyBackup": true, "secrets": { "masterKey": true, "megolmBackupKey": true, "recoveryKey": true, "selfSigningKey": true, "userSigningKey": true }, "secretStorage": true, "verified": true, "recoveryKeyGeneratedAt": 0 }, "state": "needs-login", "matrix": { "deviceID": "deviceID", "homeserver": "homeserver", "userID": "userID" }, "verification": { "id": "id", "availableActions": [ "accept" ], "direction": "incoming", "methods": [ "qr" ], "purpose": "login", "state": "requested", "error": { "code": "code", "reason": "reason" }, "otherDevice": { "id": "id", "name": "name" }, "otherUserID": "otherUserID", "qr": { "data": "data" }, "sas": { "emojis": "emojis", "decimals": "decimals" } } } } ``` ``` -------------------------------- ### Get Beeper app setup state Source: https://developers.beeper.com/desktop-api-reference/go/resources/app Retrieves the current setup state of the Beeper application. This is useful for understanding the progress of login and verification processes. ```APIDOC ## GET /v1/app/setup ### Description Retrieves the current setup state of the Beeper application. ### Method GET ### Endpoint /v1/app/setup ### Response #### Success Response (200) - **(object)** - AppSessionResponse - The response contains the current session and setup state. ``` -------------------------------- ### Send Setup Sign-in Code via Email (PHP) Source: https://developers.beeper.com/desktop-api-reference/php/resources/app/subresources/login/methods/email Use this method to send a sign-in code to a specified email address for app setup. Ensure you have the correct setup request ID from the start step. ```php app->login->email( email: 'dev@stainless.com', setupRequestID: 'setupRequestID' ); var_dump($result); ``` -------------------------------- ### Create account for setup Source: https://developers.beeper.com/desktop-api-reference/python/resources/app/subresources/login Creates a new account for the setup process if the user does not have an existing account. ```APIDOC ## Create Account for Setup ### Description Allows a new user to create an account as part of the Beeper app setup process. ### Method POST ### Endpoint /v1/app/setup/register ### Parameters #### Request Body - **LoginRegisterParams** (object) - Required - Parameters required to create a new account, such as username, password, etc. ### Response #### Success Response (200) - **LoginRegisterResponse** (object) - Response object confirming the successful creation of the new account. ``` -------------------------------- ### app.login.register Source: https://developers.beeper.com/desktop-api-reference/python/resources/app Creates a new account for the setup process. ```APIDOC ## app.login.register ### Description Creates a new account for the setup process. ### Method POST ### Endpoint /v1/app/setup/register ### Parameters #### Request Body - **LoginRegisterParams** (object) - Required - Parameters for registering a new account. ### Response #### Success Response (200) - **LoginRegisterResponse** (object) - Response object containing details of the newly created account. ``` -------------------------------- ### Get Beeper App Setup State Source: https://developers.beeper.com/desktop-api-reference/python/resources/app/methods/session Use this method to retrieve the current setup state of the Beeper application. Ensure you have the BEEPER_ACCESS_TOKEN environment variable set. ```python import os from beeper_desktop_api import BeeperDesktop client = BeeperDesktop( access_token=os.environ.get("BEEPER_ACCESS_TOKEN"), # This is the default and can be omitted ) response = client.app.session() print(response.e2ee) ``` -------------------------------- ### app.login.start Source: https://developers.beeper.com/desktop-api-reference/python/resources/app Initiates the Beeper app setup process. This is the first step in the login flow. ```APIDOC ## app.login.start ### Description Initiates the Beeper app setup process. This is the first step in the login flow. ### Method POST ### Endpoint /v1/app/setup/start ### Response #### Success Response (200) - **LoginStartResponse** (object) - Response object containing details for starting the login process. ``` -------------------------------- ### Get Beeper App Setup State Source: https://developers.beeper.com/desktop-api-reference/typescript/resources/app Retrieves the current setup state of the Beeper app, including encryption status, session details, and Matrix client information. ```typescript client.app.session(RequestOptionsoptions?): AppSessionResponse { e2ee, state, matrix, verification } ``` -------------------------------- ### Initializing Beeper Desktop API Client with Options in Go Source: https://developers.beeper.com/desktop-api-reference/go Shows how to create a new Beeper Desktop API client in Go using the functional options pattern. Demonstrates adding default headers and setting JSON fields for requests. ```go client := beeperdesktopapi.NewClient( // Adds a header to every request made by the client option.WithHeader("X-Some-Header", "custom_header_info"), ) client.Accounts.List(context.TODO(), ..., // Override the header option.WithHeader("X-Some-Header", "some_other_custom_header_info"), // Add an undocumented field to the request body, using sjson syntax option.WithJSONSet("some.json.path", map[string]string{"my": "object"}), ) ``` -------------------------------- ### Create Account for Setup Source: https://developers.beeper.com/desktop-api-reference/cli/resources/app/subresources/login Creates a new account for the Beeper app setup process. Use this command if a new account needs to be registered. ```bash $ beeper-desktop app:login register POST/v1/app/setup/register ```