Skip to content
Download Beeper

Desktop API Changelog

Version v4.1.294 (2025-10-16)

REST API

  • Breaking - gRPC-style /v0 endpoints are deprecated in favor of RESTful /v1 endpoints
  • New - List endpoints for chats (/v1/chats) and messages (/v1/chats/:chatID/messages)
  • Fixed - Searching for chats no longer returns cached responses
Endpoint changes

Reference for old routes are published here.

EndpointRequest/Response
GET /v0/get-chat →
GET /v1/chats/{chatID}
Request chatID is now a path parameter; default maxParticipantCount -1 (was 20).
Response Unchanged.
POST /v0/create-chat →
POST /v1/chats
Request Unchanged.
Response Returns { "chatID": string }; HTTP status replaces the success flag.
POST /v0/send-message →
POST /v1/chats/{chatID}/messages
Request chatID moved to path; body now only text plus optional replyToMessageID.
Response success flag removed.
POST /v0/archive-chat →
POST /v1/chats/{chatID}/archive
Request chatID moved to path; body still optional archived boolean.
Response Success now 204 No Content (empty body).
POST /v0/set-chat-reminder →
POST /v1/chats/{chatID}/reminders
Request chatID moved to path; body still wraps reminder.
Response Success now 204 No Content (empty body).
POST /v0/clear-chat-reminder →
DELETE /v1/chats/{chatID}/reminders
Request Method is DELETE; chatID path param; no body.
Response Success now 204 No Content.
GET /v0/search-messages →
GET /v1/messages/search
Request Max limit now 20.
Response Unchanged; each page capped at 20 results.
GET /v0/search-users →
GET /v1/accounts/{accountID}/contacts
Request accountID moved into the path; query unchanged.
Response Unchanged.
GET /v0/get-accounts →
GET /v1/accounts
Request/Response Unchanged.
POST /v0/download-asset →
POST /v1/assets/download
Request/Response Unchanged.
POST /v0/open-app →
POST /v1/focus
Request/Response Unchanged.
GET /v0/search →
GET /v1/search
Request/Response Unchanged.
GET /v0/search-chats →
GET /v1/chats/search
Request/Response Unchanged.

MCP Server

We have an all new MCP server, and it’s open source!

  • Breaking - MCP server no longer supports Server-Side Events (SSE). If your preferred client does not support Streamable HTTP or stdio, get in touch for workarounds.

Everything should work as before. If you encounter any issues, please email us at help@beeper.com!

TypeScript SDK

  • Breaking - Some methods were reorganized
  • Breaking - client.token.* removed
  • New - client.chats.list() and client.messages.list(chatID)
Method changes
Old UsageNew UsageNotes
client.app.downloadAsset({ url })client.assets.download({ url })Resource renamed
client.app.open({ chatID, ... })client.focus({ chatID, ... })Moved to top-level
client.app.search({ query })client.search({ query })Moved to top-level
client.chats.retrieve({ chatID })client.chats.retrieve(chatID)chatID now path parameter
client.chats.archive({ chatID, archived })client.chats.archive(chatID, { archived })chatID now path parameter
client.chats.reminders.create({ chatID, reminder })client.chats.reminders.create(chatID, { reminder })chatID now path parameter
client.chats.reminders.delete({ chatID })client.chats.reminders.delete(chatID)chatID now path parameter
client.contacts.search({ accountID, query })client.accounts.contacts.search(accountID, { query })Moved to subresource; accountID now path parameter
client.messages.send({ chatID, text, ... })client.messages.send(chatID, { text, ... })chatID now path parameter
client.token.*N/ARemoved