Wazo Websocket Event Stream (wazo-websocketd)

WebSocket gateway onto the Wazo internal event bus. An authenticated client subscribes to named platform events (327 event types across confd, calld, agentd, dird, amid, sysconfd and webhookd) and receives them as JSON frames in real time. There is no REST contract for this surface; the event catalogue is captured as a webhook/event artifact rather than an AsyncAPI document because Wazo publishes none.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wazo-websocket-event-stream-wazo-websocketd"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

AsyncAPI Specification

wazo-unattributed-asyncapi.yml Raw ↑
asyncapi: 2.0.0
info:
  title: undefined events
  version: '26.08'
servers:
  production:
    url: amqp://{username}:{password}@/localhost:{port}//
    description: Local RabbitMQ messaging server for inter-service communication
    protocol: amqp
    protocolVersion: 0.9.1
    variables:
      username:
        default: guest
        description: Configurable through each service's config.yml file
      password:
        default: guest
        description: Configurable through each service's config.yml file
      port:
        default: '5672'
        description: Configurable through each service's config.yml file
defaultContentType: application/json
channels:
  service_deregistered:
    subscribe:
      summary: ''
      tags:
      - name: undefined
      message:
        name: service-deregistered-payload
        payload:
          type: object
          properties:
            service_name:
              type: string
            service_id:
              type: string
            tags:
              type: array
              items:
                type: string
        headers:
          type: object
          properties:
            name:
              type: string
              const: service_deregistered
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.service.registered.{service_name}
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
  service_registered:
    subscribe:
      summary: ''
      tags:
      - name: undefined
      message:
        name: service-registered-payload
        payload:
          type: object
          properties:
            service_name:
              type: string
            service_id:
              type: string
            advertise_address:
              type: string
            advertise_port:
              type: integer
            tags:
              type: array
              items:
                type: string
        headers:
          type: object
          properties:
            name:
              type: string
              const: service_registered
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.service.registered.{service_name}
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
  user_blocklist_number_created:
    subscribe:
      summary: ''
      tags:
      - name: undefined
      message:
        name: user-blocklist-number-created-payload
        payload:
          type: object
          properties:
            uuid:
              type: string
            user_uuid:
              type: string
            number:
              type: string
            label:
              type: string
              nullable: true
            blocklist_uuid:
              type: string
        headers:
          type: object
          properties:
            name:
              type: string
              const: user_blocklist_number_created
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.confd.users.{user_uuid}.blocklist.created
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
            user_uuid:{uuid}:
              $ref: '#/components/schemas/user_uuid:{uuid}'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
          - user_uuid:{uuid}
  user_blocklist_number_deleted:
    subscribe:
      summary: ''
      tags:
      - name: undefined
      message:
        name: user-blocklist-number-deleted-payload
        payload:
          type: object
          properties:
            uuid:
              type: string
            user_uuid:
              type: string
            number:
              type: string
            label:
              type: string
              nullable: true
            blocklist_uuid:
              type: string
        headers:
          type: object
          properties:
            name:
              type: string
              const: user_blocklist_number_deleted
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.confd.users.{user_uuid}.blocklist.deleted
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
            user_uuid:{uuid}:
              $ref: '#/components/schemas/user_uuid:{uuid}'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
          - user_uuid:{uuid}
  user_blocklist_number_edited:
    subscribe:
      summary: ''
      tags:
      - name: undefined
      message:
        name: user-blocklist-number-edited-payload
        payload:
          type: object
          properties:
            uuid:
              type: string
            user_uuid:
              type: string
            number:
              type: string
            label:
              type: string
              nullable: true
            blocklist_uuid:
              type: string
        headers:
          type: object
          properties:
            name:
              type: string
              const: user_blocklist_number_edited
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.confd.users.{user_uuid}.blocklist.edited
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
            user_uuid:{uuid}:
              $ref: '#/components/schemas/user_uuid:{uuid}'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
          - user_uuid:{uuid}
components:
  schemas:
    origin_uuid:
      type: string
      format: uuid
      description: Unique identifier of the publishing WAZO service
    timestamp:
      type: string
      format: date-time
      description: Date and time this event was published
    tenant_uuid:
      type: string
      format: uuid
      description: Unique identifier of this resource's tenant
    user_uuid:{uuid}:
      type: boolean
      description: User's unique identifier that this event is intended for. The format user_uuid:{uuid} allows multiple users to be the recipient
        of this event