Beeper · AsyncAPI Specification

Beeper Desktop API - Live Events

Version 5.0.0

Experimental WebSocket event stream exposed by the local Beeper Desktop API. Clients subscribe to chats and receive domain events as they occur.

View Spec View on GitHub CompanyConsumerMessagingChatCommunicationMatrixMCPDesktopAggregatorAsyncAPIWebhooksEvents

Channels

events
Bidirectional WebSocket stream of subscription control and domain events.

Messages

DomainEvent
DomainEvent
Ready
Ready
SubscriptionsUpdated
SubscriptionsUpdated
SetSubscriptions
SetSubscriptions

Servers

ws
local
Local Beeper Desktop API WebSocket endpoint (path /v1/ws).

AsyncAPI Specification

Raw ↑
generated: '2026-07-18'
method: derived
source: openapi/beeper-desktop-api-openapi-original.yml (WSDomainEventMessage schema)
spec_type: AsyncAPI
asyncapi: 3.0.0
info:
  title: Beeper Desktop API - Live Events
  version: 5.0.0
  description: >-
    Experimental WebSocket event stream exposed by the local Beeper Desktop API.
    Clients subscribe to chats and receive domain events as they occur.
servers:
  local:
    host: localhost:23373
    protocol: ws
    description: Local Beeper Desktop API WebSocket endpoint (path /v1/ws).
channels:
  events:
    address: /v1/ws
    description: Bidirectional WebSocket stream of subscription control and domain events.
    messages:
      domainEvent:
        $ref: '#/components/messages/DomainEvent'
      ready:
        $ref: '#/components/messages/Ready'
      subscriptionsUpdated:
        $ref: '#/components/messages/SubscriptionsUpdated'
      setSubscriptions:
        $ref: '#/components/messages/SetSubscriptions'
operations:
  receiveDomainEvent:
    action: receive
    channel:
      $ref: '#/channels/events'
    messages:
    - $ref: '#/channels/events/messages/domainEvent'
  setSubscriptions:
    action: send
    channel:
      $ref: '#/channels/events'
    messages:
    - $ref: '#/channels/events/messages/setSubscriptions'
components:
  messages:
    DomainEvent:
      name: DomainEventMessage
      payload:
        type: object
        properties:
          type:
            type: string
            enum: [chat.upserted, chat.deleted, message.upserted, message.deleted]
          seq: { type: integer, minimum: 0 }
          ts: { type: string, format: date-time }
          chatID: { type: string }
          ids:
            type: array
            items: { type: string }
    Ready:
      name: ReadyMessage
      payload:
        type: object
    SubscriptionsUpdated:
      name: SubscriptionsUpdatedMessage
      payload:
        type: object
    SetSubscriptions:
      name: SetSubscriptionsMessage
      payload:
        type: object