add socket.io api