Desktop API Changelog
v4.1.294 (2025-10-146) Latest
This is as an early access release on Beeper Desktop Nightly
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.
Endpoint | Request/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 preffered 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()
andclient.messages.list(chatID)
Method changes
Old Usage | New Usage | Notes |
---|---|---|
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/A | Removed |
v4.1.244 (2025-09-30)
Fixed
- API responses no longer truncate the message text to 500 characters, increased the limit in the MCP responses to 1000
v4.1.239 (2025-09-26)
Added
- Remote Access is now available, allowing advanced users to expose Beeper Desktop API to the internet. Read more here.
- Authenticated responses from the Desktop API now returns the Desktop app version the user is on in the response headers (
X-Beeper-Desktop-Version
). You can use the token info endpoint as a no-op request to check the version.
v4.1.210 (2025-09-17)
Added
POST /v0/create-chat
: create single or group chats using participant IDs, optional title, and initial message text (CreateChatOutput
).POST /v0/download-asset
: fetch Matrixmxc://
assets and return a localsrcURL
(DownloadAssetOutput
). Assets (avatars, message attachments) return a local file path if they are already downloaded. This method can be used to download assets that are not yet downloaded.GET /v0/search
: unified search returning top chats, participant matches, and first page of messages (UnifiedSearchOutput
).GET /v0/search-users
: look up contacts on a specific account before creating chats (SearchUsersOutput
).
Changed
POST /v0/open-app
(OpenAppInput
): newdraftAttachmentPath
; message jump now usesmessageID
.GET /v0/search-chats
(SearchChatsInput
): consolidated literalquery
, newscope
toggle (titles vs participants), removedparticipantQuery
, droppedchannel
fromtype
, boolean filters now nullable.GET /v0/search-messages
(SearchMessagesInput
/SearchMessagesOutput
): replacedonlyWith*
flags withmediaTypes
array (any/video/image/link/file
); default page size documented as 20 with enforced cap; updated cursor examples; mute/low-priority filters nullable.POST /v0/send-message
(SendMessageOutput
): response returnschatID
andpendingMessageID
instead of a finalmessageID
.
Removed
POST /v0/download-attachment
andGetAttachmentOutput
superseded by the new download asset flow.
v4.1.169 (2025-09-02)
Starting from this version, Beeper Desktop API & MCP is now available to everyone on the stable version of the app.
Fixed
- MCP:
search_chats
andget_chat
now returns more information about a chat with explicitchatID
and instructions for the LLM on how to use it
v4.1.155 (2025-08-31)
Added
- Introduced more token-efficient
localChatID
fields for all chats. - Improved attachment support.
- Released official SDK for TypeScript! https://github.com/beeper/desktop-api-js
v4.1.92 (2025-08-13)
Added
- Initial release of Beeper Desktop API & MCP