Skip to content
Download Beeper

List contacts

accounts.contacts.list(straccount_id, ContactListParams**kwargs) -> SyncCursorSearch[User]
GET/v1/accounts/{accountID}/contacts/list

List merged contacts for a specific account with cursor-based pagination.

ParametersExpand Collapse
account_id: str

Account ID this resource belongs to.

cursor: Optional[str]

Opaque pagination cursor; do not inspect. Use together with 'direction'.

direction: Optional[Literal["after", "before"]]

Pagination direction used with 'cursor': 'before' fetches older results, 'after' fetches newer results. Defaults to 'before' when only 'cursor' is provided.

Accepts one of the following:
"after"
"before"
limit: Optional[int]

Maximum contacts to return per page.

minimum1
maximum200
query: Optional[str]

Optional search query for blended contact lookup.

minLength1
ReturnsExpand Collapse
class User:

User the account belongs to.

id: str

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

cannot_message: Optional[bool]

True if Beeper cannot initiate messages to this user (e.g., blocked, network restriction, or no DM path). The user may still message you.

email: Optional[str]

Email address if known. Not guaranteed verified.

full_name: Optional[str]

Display name as shown in clients (e.g., 'Alice Example'). May include emojis.

img_url: Optional[str]

Avatar image URL if available. May be temporary or local-only to this device; download promptly if durable access is needed.

is_self: Optional[bool]

True if this user represents the authenticated account's own identity.

phone_number: Optional[str]

User's phone number in E.164 format (e.g., '+14155552671'). Omit if unknown.

username: Optional[str]

Human-readable handle if available (e.g., '@alice'). May be network-specific and not globally unique.

List contacts

from beeper_desktop_api import BeeperDesktop

client = BeeperDesktop()
page = client.accounts.contacts.list(
    account_id="accountID",
)
page = page.items[0]
print(page.id)
{
  "hasMore": true,
  "items": [
    {
      "id": "id",
      "cannotMessage": true,
      "email": "email",
      "fullName": "fullName",
      "imgURL": "imgURL",
      "isSelf": true,
      "phoneNumber": "phoneNumber",
      "username": "username"
    }
  ],
  "newestCursor": "newestCursor",
  "oldestCursor": "oldestCursor"
}
Returns Examples
{
  "hasMore": true,
  "items": [
    {
      "id": "id",
      "cannotMessage": true,
      "email": "email",
      "fullName": "fullName",
      "imgURL": "imgURL",
      "isSelf": true,
      "phoneNumber": "phoneNumber",
      "username": "username"
    }
  ],
  "newestCursor": "newestCursor",
  "oldestCursor": "oldestCursor"
}