[enh] Use a WebSocket stream to display messages in the api