Skip to content
  • Auto
  • Light
  • Dark
Download Beeper

Retrieve

Retrieve chat details
client.chats.retrieve(stringchatID, ChatRetrieveParams { maxParticipantCount } query?, RequestOptionsoptions?): Chat { id, accountID, network, 10 more }
get/v1/chats/{chatID}

Retrieve chat details including metadata, participants, and latest message

ParametersExpand Collapse
chatID: string

Unique identifier of the chat.

query: ChatRetrieveParams { maxParticipantCount }
maxParticipantCount?: number | null

Maximum number of participants to return. Use -1 for all; otherwise 0–500. Defaults to all (-1).

minimum-1
maximum500
ReturnsExpand Collapse
Chat { id, accountID, network, 10 more }
id: string

Unique identifier of the chat across Beeper.

accountID: string

Account ID this chat belongs to.

Deprecatednetwork: string

Display-only human-readable network name (e.g., 'WhatsApp', 'Messenger').

participants: Participants { hasMore, items, total }

Chat participants information.

hasMore: boolean

True if there are more participants than included in items.

items: Array<User { id, cannotMessage, email, 5 more } >

Participants returned for this chat (limited by the request; may be a subset).

id: string

Stable Beeper user ID. Use as the primary key when referencing a person.

cannotMessage?: boolean

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. May be temporary or local-only to this device; download promptly if durable access is needed.

isSelf?: boolean

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.

total: number

Total number of participants in the chat.

title: string

Display title of the chat as computed by the client/server.

type: "single" | "group"

Chat type: 'single' for direct messages, 'group' for group chats.

Accepts one of the following:
"single"
"group"
unreadCount: number

Number of unread messages.

isArchived?: boolean

True if chat is archived.

isMuted?: boolean

True if chat notifications are muted.

isPinned?: boolean

True if chat is pinned.

lastActivity?: string

Timestamp of last activity.

formatdate-time
lastReadMessageSortKey?: string

Last read message sortKey.

localChatID?: string | null

Local chat ID specific to this Beeper Desktop installation.

Retrieve chat details
import BeeperDesktop from '@beeper/desktop-api';

const client = new BeeperDesktop({
  accessToken: 'My Access Token',
});

const chat = await client.chats.retrieve('!NCdzlIaMjZUmvmvyHU:beeper.com');

console.log(chat.id);
{
  "id": "!instagram_mattwondra:local-instagram.localhost",
  "accountID": "local-instagram_ba_eRfQMmnSNy_p7Ih7HL7RduRpKFU",
  "network": "Instagram",
  "participants": {
    "hasMore": false,
    "items": [
      {
        "id": "@mattwondra:local-instagram.localhost",
        "cannotMessage": false,
        "email": "email",
        "fullName": "Matt Wondra",
        "imgURL": "imgURL",
        "isSelf": false,
        "phoneNumber": "phoneNumber",
        "username": "mattwondra"
      },
      {
        "id": "@batuhan:local-instagram.localhost",
        "cannotMessage": false,
        "email": "email",
        "fullName": "Batuhan İçöz",
        "imgURL": "imgURL",
        "isSelf": true,
        "phoneNumber": "phoneNumber",
        "username": "batuhan"
      }
    ],
    "total": 2
  },
  "title": "Matt Wondra",
  "type": "single",
  "unreadCount": 0,
  "isArchived": false,
  "isMuted": false,
  "isPinned": false,
  "lastActivity": "2025-08-31T19:41:41.000Z",
  "lastReadMessageSortKey": "449706228480",
  "localChatID": "1229391"
}
Returns Examples
{
  "id": "!instagram_mattwondra:local-instagram.localhost",
  "accountID": "local-instagram_ba_eRfQMmnSNy_p7Ih7HL7RduRpKFU",
  "network": "Instagram",
  "participants": {
    "hasMore": false,
    "items": [
      {
        "id": "@mattwondra:local-instagram.localhost",
        "cannotMessage": false,
        "email": "email",
        "fullName": "Matt Wondra",
        "imgURL": "imgURL",
        "isSelf": false,
        "phoneNumber": "phoneNumber",
        "username": "mattwondra"
      },
      {
        "id": "@batuhan:local-instagram.localhost",
        "cannotMessage": false,
        "email": "email",
        "fullName": "Batuhan İçöz",
        "imgURL": "imgURL",
        "isSelf": true,
        "phoneNumber": "phoneNumber",
        "username": "batuhan"
      }
    ],
    "total": 2
  },
  "title": "Matt Wondra",
  "type": "single",
  "unreadCount": 0,
  "isArchived": false,
  "isMuted": false,
  "isPinned": false,
  "lastActivity": "2025-08-31T19:41:41.000Z",
  "lastReadMessageSortKey": "449706228480",
  "localChatID": "1229391"
}