Desktop API Changelog
Version 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 |